NO IMAGE

理解Oracle 的tnsnames.ora和listener.ora

兩個檔案存放的目錄:

%oracle_home%/ora92/network/admin(windows 2000 server下安裝oracle9i)

具體意思:

tnsnames.ora檔案指定了在本地計算機上要訪問的網路上的oracle服務,即下面要說的listener(在要連線的oracle伺服器上必須有相應的listener)

例:

FIRST =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = wes)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = first.wes) –這是通過全域性資料庫名命名的

    )

  )

FIRST =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = wes)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SID = first) –這是通過資料庫SID連線的

    )

  )

在配置oracle9i網路連線時,可以手工編寫相應本機oracle目錄中的tnsnames.ora檔案,即可完成網路配置。

在oracle9i連線配置中,其伺服器端需要配置監聽程序配置檔案listener.ora,其每一個客戶端需要配置解析檔案tnsnames.ora。如果伺服器端監聽程序沒啟動則報錯。

啟動程序命令:C:/lsnrctl start或在服務裡面啟動listener程序。

停止程序命令:C:/lsnrctl stop或在伺服器裡面停止listener程序。

 

listener.ora:指定了要執行的listener服務,客戶端只有通過這個服務才能訪問到oracle服務。

可以手動修改此檔案以配置listener服務。

LISTENER_1 =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = wes)(PORT = 1521))

      )

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

      )

    )

  )

 

上面host是通過機器名指定的,如果修改了機器名還要手動修改此host為當前機器名,否則出錯,為了避免這種情況可以採用ip來連線。

加入目前資料庫中有使用者:wes,密碼:11111111,登入時可以通過:

wes/[email protected]連線配置oracle