天天看點

oracle10g無監聽配置檔案,Oracle 10g學習筆記(七) tnsnames.ora 監聽配置檔案詳解

監聽配置檔案

為了使得外部程序 如 CAMS背景程式 能夠通路 Oracle 資料庫 必須配

置 Oracle 網絡伺服器環境 配置 Oracle 網絡伺服器環境是通過配置

listener.ora sqlnet.ora 和 tnsnames.ora 共三個檔案來進行的 listener.ora

即監聽配置檔案 在本小節說明 另兩個檔案分别在随後的兩個小節說明

監聽配置檔案 listener.ora 的存放路徑為 $ORACLE_HOME/network/admin

以下是一個示例

LISTENER =                          #監聽器名稱

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

(ADDRESS_LIST =

(ADDRESS =

(PROTOCOL = TCP)

(HOST = localhost.localdomain)

(PORT = 1521))

)

)

(DESCRIPTION =

(PROTOCOL_STACK =

(divSENTATION = GIOP)

(SESSION = RAW)

)

(ADDRESS =

(PROTOCOL = TCP)

(HOST = localhost.localdomain)

(PORT = 2481))

)

)

SID_LIST_LISTENER = #命名規則 SID_LIST_+上面定義的監聽器名稱

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc1)

(ORACLE_HOME = /u01/app/oracle/product/8.1.7)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = cams)

(ORACLE_HOME = /u01/app/oracle/product/8.1.7)

(SID_NAME = cams)

)

(SID_DESC =

(GLOBAL_DBNAME = oid)

(ORACLE_HOME = /u01/app/oracle/product/8.1.7)

(SID_NAME = oid)

)

)

& 說明

1 listener.ora 檔案中定義一個監聽器 其預設的名稱為 LISTENER

這個監聽器預設以tcp/ip為協定位址且端口号為1521運作 在CAMS應用中

監聽檔案定義的監聽器就使用這個預設名字 并且使用預設的協定 tcp/ip

和預設的端口号 1521 待配置好監聽檔案以及随後說明的 sqlnet.ora 和

tnsnames.ora 檔案之後 就可以用以下指令将監聽檔案中定義的監聽器啟動

起來

$ lsnrctl start

停止監聽器的指令為

$ lsnrctl stop

監測監聽器目前狀态的指令為

$ lsnrctl status

當 lsnrctl status 指令有如下輸出結果

STATUS of the LISTENER

------------------------

Alias                LISTENER

Version                 TNSLSNR for Linux: Version 8.1.7.4.0 - Production

Start Date             17-JAN-2004 19:00:08

Uptime                31 days 15 hr. 27 min. 59 sec

就說明監聽器正在運作 否則說明監聽器已經停止了 CAMS 系統的背景程

序的正常運作不僅依賴于資料庫執行個體的運作 還依賴于這個資料庫監聽器的

運作 假如監聽器沒有啟動 即使資料庫已經啟動 CAMS 背景程式仍然不

能正常工作

2 如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所示的一個

IPC 協定位址的監聽 是為了外部程序調用用的 在資料庫安裝時自動設定

不需要改動

3 在監聽檔案後部還有一個 SID_LIST_LISTENER 段 該段用于定義監聽

器的服務 即為哪些資料庫執行個體提供監聽服務 以 cams 執行個體為例 其對應的

服務資訊為

(SID_DESC =

(GLOBAL_DBNAME = cams) #資料庫名

(ORACLE_HOME = /u01/app/oracle/product/8.1.7)

(SID_NAME = cams) #資料庫執行個體名

)

1.2.5 sqlnet.ora 檔案

sqlnet.ora 檔案的存放路徑為 $ORACLE_HOME/network/admin 以下是一

個示例

NAMES.DEFAULT_DOMAIN = localdomain

NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)

& 說明

NAMES.DEFAULT_DOMAIN 指定網絡域名 NAMES.DIRECTORY_PATH

指定當解析用戶端連接配接辨別符時命名方法 naming metthods 采用的優先順

序 從左至右遞減        在 CAMS 應用中 這兩個參數采用上述所示的系統缺

省值

1.2.6 tnsnames.ora 檔案

tnsnames.ora 檔案的存放路徑為 $ORACLE_HOME/network/admin 以下

是一個示例

OID.LOCALDOMAIN =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =

1521))

)

(CONNECT_DATA =

(SERVICE_NAME = oid)

)

)

CAMS.LOCALDOMAIN =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =

1521))

)

(CONNECT_DATA =

(SERVICE_NAME = cams)

)

)

INST1_HTTP.LOCALDOMAIN =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =

1521))

)

(CONNECT_DATA =

(SERVER = SHARED)

(SERVICE_NAME = MODOSE)

(divSENTATION = )

)

)

EXTPROC_CONNECTION_DATA.LOCALDOMAIN =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

(CONNECT_DATA =

(SID = PLSExtProc1)

(divSENTATION = RO)

)

)

& 說明

tnsnames.ora 檔案中定義一個或多個網絡服務 net service cams 執行個體對

應的網絡服務為

CAMS.LOCALDOMAIN =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS =

(PROTOCOL = TCP)

(HOST = localhost.localdomain)

(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = cams)

)

)

注意 這裡 ADDRESS項包含三個子參數

PROTOCOL :預設協定TCP

HOST :ip位址

PORT:端口,預設1521

CAMS.LOCALDOMAIN為資料名

要確定在監聽檔案中也有對應的一個 ADDRESS 項也包含同樣的三個子參

數 并且子參數的值對應都相等 另外 這裡 SERVICE_NAME 的值必需确

保與監聽檔案中某 SID_DESC項下的 SID_NAME參數的值相等