【RAC】srvctl管理工具添加新監聽和靜態注冊
srvctl 添加監聽的語法如下:
grid@rac1:/home/grid>srvctl add listener -h
將監聽程序配置添加到 Oracle Clusterware。
用法: srvctl add listener [-l <lsnr_name>] [-s] [-p "[TCP:]<port>[, ...][/IPC:<key>][/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]"] [-o <oracle_home>] [-k <net_num>]
-l <lsnr_name> 監聽程序名稱 (默認名稱為 LISTENER)
-o <oracle_home> ORACLE_HOME 路徑 (默認值為 CRS_HOME)
-k <net_num> 網絡編號 (默認編號為 1)
-s 跳過端口檢查
-p "[TCP:]<port>[, ...][/IPC:<key>][/NMP:<pipe_name>][/TCPS:<s_port>] [/SDP:<port>]" 逗號分隔的 TCP 端口或監聽程序端點
-h 輸出用法
加入新的監聽YANGQL
grid@rac1:/home/grid>srvctl add listener -l YANGQL -p 1524 -o $ORACLE_HOME
grid@rac1:/home/grid>cat /opt/11202/11.2.0/grid/network/admin/listener.ora
LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) # line added by Agent
LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))) # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
grid@rac1:/home/grid>srvctl add listener -l YANGQL -p 1524 -o $ORACLE_HOME -k 1
PRCN-3004 : 監聽程序YANGQL已存在
k 值在加入的時候,不做指定也是可以的!默認為1!
grid@rac1:/home/grid>
grid@rac1:/home/grid>
啟動新加入的監聽YANGQL ,
grid@rac1:/home/grid>srvctl start listener -l YANGQL
listener.ora ,endpoints_listener.ora 兩個文件會多出 新加入的監聽信息:
grid@rac1:/home/grid>cat /opt/11202/11.2.0/grid/network/admin/listener.ora
YANGQL=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=YANGQL)))) # line added by Agent
grid@rac1:/home/grid>cat /opt/11202/11.2.0/grid/network/admin/endpoints_listener.ora
YANGQL_RAC1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1524))(ADDRESS=(PROTOCOL=TCP)(HOST=10.250.7.225)(PORT=1524)(IP=FIRST)))) # line added by Agent
LISTENER_RAC1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.250.7.225)(PORT=1521)(IP=FIRST)))) # line added by Agent
手工修改listener.ora 加入靜態監聽!
grid@rac1:/home/grid>vim /opt/11202/11.2.0/grid/network/admin/listener.ora
SID_LIST_YANGQL =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = rac)
(ORACLE_HOME = /opt/11202/11.2.0/grid)
(SID_NAME =rac1)
)
)
YANGQL=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=YANGQL)))) # line added by Agent
LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) # line added by Agent
LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))) # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_YANGQL=ON # line added by Agent
"/opt/11202/11.2.0/grid/network/admin/listener.ora" 15L, 665C 已寫入
重新啟動監聽YANGQL
grid@rac1:/home/grid>srvctl stop listener -l YANGQL
grid@rac1:/home/grid>srvctl start listener -l YANGQL
查看其狀態:
grid@rac1:/home/grid>lsnrctl status YANGQL
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 04-DEC-2011 22:32:08
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=YANGQL)))
STATUS of the LISTENER
------------------------
Alias YANGQL
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 04-DEC-2011 22:31:59
Uptime 0 days 0 hr. 0 min. 9 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /opt/11202/11.2.0/grid/network/admin/listener.ora
Listener Log File /opt/11202/11.2.0/grid/log/diag/tnslsnr/rac1/yangql/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=YANGQL)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.250.7.225)(PORT=1524)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.250.7.111)(PORT=1524)))
Services Summary...
Service "rac" has 1 instance(s).
Instance "rac1", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
grid@rac1:/home/grid>
至此,操作完畢,當然也可以使用圖形界面工具來操作,但是個人覺得手工使用srvctl 工具更加方便!