要想更改Oracle 9i的listener端口,只需要在listener.ora裡改再重啟就OK了。在Oracle 10g rac上遷移組需要加載數據,只允許遷移用戶進入,最好改Oracle 10g的端口。具體如下:
1.將兩邊的的listener.ora端口改為1533後,停掉listener,重啟listener,發現已經監聽在1533(netstat -an|grep LISTEN),但發現兩邊沒有服務Service可以注冊到這個LISTENER_CRM01/LISTENER_CRM02,查了一下listener.ora,發現是動態注冊,一想pmon要注冊進來要一會,結果等了2 分鐘,仍舊沒有service注冊進來,決定重啟一個兩個實例,重啟的時候應該pmon是會讓實例注冊,重啟完成後,發現還是沒有實例和service注冊到listener裡來,暈...
2.沒空多想了,直接改成靜態注冊讓他們先用了,在listener.ora中加入:
- SID_LIST_LISTENER_CRM01 =
- (SID_LIST =
- (SID_DESC =
- (SID_NAME = PLSExtProc)
- (Oracle_HOME = /opt/Oracle/product/10.2.0.4)
- (PROGRAM = extproc)
- )
- (SID_DESC =
- (GLOBAL_DBNAME = crm)
- (Oracle_HOME = /opt/Oracle/product/10.2.0.4)
- (SID_NAME = crm1)
- )
- )
重啟listener,實例總算是注冊到1533上了.
3.今天過來把改之前的listener.ora mv回來,重啟後就改回1521了,現在想可能是由於Oracle 10g采用了的service造成,不知道對不對.對於這個問題,這兩天找到了原因:
在Oracle 10g rac中在修改listener端口時,需要同時修改tnsnames.ora中對應到數據庫中local_listener參數的修改,同時要修改實例的LOCAL_LISTENER='tnsnames.ora中的local_listener串',完成這兩步後,重啟listener就可以發現listener已經注冊到了listener中了.