Oracle之 11gR2 RAC 修改監聽器埠號的步驟

張衝andy發表於2017-12-21

Oracle 11gR2 RAC 修改監聽器埠號的步驟

說明:
192.168.188.181 為public ip1
192.168.188.182 為public ip2
192.168.188.183 為vip1
192.168.188.184 為vip2

一、修改 DB 監聽埠

注意:
1.本文的os是RHEL6.5,DB版本是11.2.0.3.8。
本文非exadata環境,若是Exadata環境,請讀Changing Listener Ports On RAC/EXADATA (文件 ID 1473035.1)
2.本文修改瞭如下監聽器的埠號,改為1528
叢集監聽器的埠號
節點1本地監聽器的埠號
節點2本地監聽器的埠號
3.根據 Changing Listener Ports On RAC/EXADATA (文件 ID 1473035.1),需要在a quiet time來修改監聽器埠號
修改前的檢查

[grid@hosta admin]$ srvctl config listener 
Name: LISTENER 
Network: 1, Owner: grid 
Home: <CRS home> 
End points: TCP:1521 
[grid@hosta admin]$ 
1.僅僅在一個主機上執行

[grid@hosta admin]$ srvctl modify listener -l LISTENER -p "TCP:1528" 
2.僅僅在一個主機上執行

[grid@hosta ~]$ srvctl modify scan_listener -p 1528 
3.修改LOCAL_LISTENER僅僅在一個主機上執行

alter system set local_listener = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.188.183)(PORT = 1528))' scope=both sid='orcl1'; 
alter system set local_listener = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.188.184)(PORT = 1528))' scope=both sid='orcl2'; 
4.修改remote_listener

alter system set remote_listener='orcl-scan:1528' scope=both; 
5.
在第一個節點關閉本地監聽

[grid@hosta ~]$ srvctl stop listener -l LISTENER -n hosta 
修改第一個節點的$GI_HOME/network/admin/endpoints_listener.ora檔案,將1521改為1528

[grid@hosta admin]$ cat 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@hosta admin]$ cat endpoints_listener.ora --->該檔案中儲存埠號,修改本檔案即可。 
LISTENER_HOSTA=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=hosta-vip)(PORT=1528))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.188.181)(PORT=1528)(IP=FIRST)))) # line added by Agent 
[grid@hosta admin]$

啟動第一個節點本地監聽

[grid@hosta admin]$ srvctl start listener -l LISTENER -n hosta 
在第二個節點上進行相同的操作。

[grid@hostb ~]$ srvctl stop listener -l LISTENER -n hostb 

修改endpoints_listener.ora檔案,不再貼出 
[grid@hostb admin]$ srvctl start listener -l LISTENER -n hostb 
6.確認修改效果

[grid@hostb admin]$ srvctl config Listener 
Name: LISTENER 
Network: 1, Owner: grid 
Home: <CRS home> 
End points: TCP:1528

二、 修改 ASM 監聽埠

修改 ASM LOCAL_LISTENER 僅僅在一個主機上執行
sqlplus / as sysasm;
alter system set local_listener = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.188.183)(PORT = 1528))' scope=both sid='asm1'; 
alter system set local_listener = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.188.184)(PORT = 1528))' scope=both sid='asm2'; 

之後,應用程式連線串以及dblink的定義修改埠號,啟動業務進行測試即可。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2149040/,如需轉載,請註明出處,否則將追究法律責任。

相關文章