tnsnames.ora 監聽配置文件詳解


今天是重要的一天。將XML數據導入ORACLE遇到很多問題,學了好多,其中很長時間花在網絡配置上,剛開始學,具體原因不知道,先把搜集到的好文章存下來,以后慢慢研究。

監聽配置文件
             為了使得外部進程 如 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 = http://admin)
    )
)
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參數的值相等

http://topic.csdn.net/u/20090310/23/BD468E7C-9E19-4C99-8BF9-F0D8E3D6A662.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM