Oracle 监听配置详解(转载)
? ? 客戶端是通過監聽程序連接到數據庫服務器的,監聽中記錄著相應的oracle service,而客戶端只需要在tnsnames中提供正確的服務名就可以建立和數據庫服務器的連接。
? ? 以下為服務器上的listener.ora文件(linux:/oracle/product/10g/network/admin;windows:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN)內容:
SID_LIST_LISTENER =
? (SID_LIST =
??? (SID_DESC =
????? (SID_NAME = PLSExtProc)
????? (ORACLE_HOME = /oracle/product/10g)
????? (PROGRAM = extproc)
??? )
? )
LISTENER =
? (DESCRIPTION_LIST =
??? (DESCRIPTION =
????? (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
??? )
??? (DESCRIPTION =
????? (ADDRESS = (PROTOCOL = TCP)(HOST = testserver3)(PORT = 1521))
??? )
? )
其中,LISTENER是服務器中監聽進程的名稱;
PROTOCOL ?表明所使用的網絡協議,若是TCP/IP協議,則該值必須為“TCP”;
HOST? 表示服務器的網絡地址,為服務器的IP或者網內的機器名;
PORT? 指TCP/IP協議在主機中所占用端口號,ORACLE缺省使用1521,是在安裝ORACLE數據庫時定義的,在安裝時可以改變,安裝完成后不能改變此值;
SID_NAME? 指服務器上運行的ORACLE數據庫名稱,該值應與.bash_profile文件中的環境變量ORACLE_SID相同(一般情況下此文件為缺省值“PLSExtProc”);
ORACLE_HOME? 是指ORACLE數據庫的主目錄,該值也應與. bash_profile文件中的環境變量ORACLE_HOME相同。
??? 客戶機為了和服務器連接,必須先和服務器上的監聽進程聯絡。ORACLE通過tnsnames.ora文件中的連接描述符來說明連接信息。一般tnsnames.ora 是建立在客戶機上的。如果是客戶機/服務器結構,整個網絡上只有一臺機器安裝了ORACLE數據庫服務器,那么只需在每個要訪問ORACLE服務器的客戶機上定義該文件,在服務器上無需定義。但是,如果網絡上有多臺機器均安裝了ORACLE數據庫服務器,并且服務器之間有數據共享的要求,那么在每臺服務器上都必須定義該文件。
以下是客戶端tnsnames.ora內容:
ORCL_18 =
? (DESCRIPTION =
??? (ADDRESS_LIST =
????? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.18)(PORT = 1521))
??? )
??? (CONNECT_DATA =
????? (SERVICE_NAME = ORCL)
??? )
? )
EXTPROC_CONNECTION_DATA =
? (DESCRIPTION =
??? (ADDRESS_LIST =
????? (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
??? )
??? (CONNECT_DATA =
????? (SID = PLSExtProc)
????? (PRESENTATION = RO)
??? )
? )
其中,ADDRESS_LIST??表示該客戶機要經由多種協議與一臺或多臺服務器連接。在該樣式文件中就表示該客戶機要用TCP/IP協議來和服務器相連。
PROTOCOL?指明要連接使用的協議。
SERVICE_NAME??“SERVICE_NAME”就是“Global Database Name”,ORACLE8i數據庫使用“Global Database Name”來唯一標識自己,通常的格式為“name.domain”,此處的值為“ora817.huawei.com”。
HOST??是TCP/IP協議使用的服務器IP地址或者機器名稱。
PORT??是TCP/IP使用的端口地址。
SID? 指定要連接的服務器上ORACLE數據庫的ORACLE_SID。
SERVER=DEDICATED?表示用專用服務器連接ORACLE數據庫,該選項在服務器上的tnsnames.ora文件中會出現。
SERVER=shared表示共享連接。
Lsnrctl命令綜述
Lsnrctl命令用來管理Oracle監聽器,是一個命令行界面。想調用這個命令行工具,在命令行鍵入lsnrctl即可。可以在LSNRCTL>提示符下鍵入help來顯示這些命令的一份清單。
Services 列舉出服務的一個匯總表及為每個協議服務處理程序所建立和拒絕的連接信息個數
Start listener 啟動指定的監聽器
Status listener顯示指定監聽器的狀態
Stop listener 關閉指定的監聽器
Trace 打開監聽器的跟蹤特性
Version 顯示Oracle Net軟件與協議適配器的版本
Change_password 允許用戶修改關閉監聽器所需要的密碼
Reload 重新讀取listener.ora文件,但不關閉監聽器。如果該文件發生了變化,重新刷新監聽器。
Save_config 當從lsnrctl工具中對listener.ora文件進行了修改時,復制一個叫做listener.bak的listener.ora文件
Exit 退出lsnrctl實用工具
Quit 執行和exit相同的功能
C:\>lsnrctl services
附錄:
RAC某個節點上的listener.ora 和 tnsnames.ora
# listener.ora.dbsv2 Network Configuration File: /oracle/product/10.2/database/network/admin/listener.ora.dbsv2
# Generated by Oracle configuration tools.
SID_LIST_LISTENER_DBSV2 =
? (SID_LIST =
??? (SID_DESC =
????? (SID_NAME = PLSExtProc)
????? (ORACLE_HOME = /oracle/product/10.2/database)
????? (PROGRAM = extproc)
??? )
? )
LISTENER_DBSV2 =
? (DESCRIPTION_LIST =
??? (DESCRIPTION =
????? (ADDRESS = (PROTOCOL = TCP)(HOST = dbsv2-vip)(PORT = 1521)(IP = FIRST))
????? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521)(IP = FIRST))
??? )
? )
# tnsnames.ora Network Configuration File: /oracle/product/10.2/database/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
? (DESCRIPTION =
??? (ADDRESS = (PROTOCOL = TCP)(HOST = dbsv1-vip)(PORT = 1521))
??? (ADDRESS = (PROTOCOL = TCP)(HOST = dbsv2-vip)(PORT = 1521))
??? (LOAD_BALANCE = yes)
??? (CONNECT_DATA =
????? (SERVER = DEDICATED)
????? (SERVICE_NAME = orcl)
??? )
? )
ORCL2 =
? (DESCRIPTION =
??? (ADDRESS = (PROTOCOL = TCP)(HOST = dbsv2-vip)(PORT = 1521))
??? (CONNECT_DATA =
????? (SERVER = DEDICATED)
????? (SERVICE_NAME = orcl)
????? (INSTANCE_NAME = orcl2)
??? )
? )
ORCL1 =
? (DESCRIPTION =
??? (ADDRESS = (PROTOCOL = TCP)(HOST = dbsv1-vip)(PORT = 1521))
??? (CONNECT_DATA =
????? (SERVER = DEDICATED)
????? (SERVICE_NAME = orcl)
????? (INSTANCE_NAME = orcl1)
??? )
? )
LISTENERS_ORCL =
? (ADDRESS_LIST =
??? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
??? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
? )
EXTPROC_CONNECTION_DATA =
? (DESCRIPTION =
??? (ADDRESS_LIST =
????? (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
??? )
??? (CONNECT_DATA =
????? (SID = PLSExtProc)
????? (PRESENTATION = RO)
??? )
? )
《轉自:http://blog.itpub.net/9399028/viewspace-683834》
轉載于:https://www.cnblogs.com/rusking/p/3970591.html
總結
以上是生活随笔為你收集整理的Oracle 监听配置详解(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        