問題登場
$ lsnrctl status
The listener supports no services
而且lsnrctl status 敲下去,顯示結果卡了好一會纔出來,但是系統本身並不卡,其他命令執行都很快。
解決過程
# cat /etc/hosts
發現 主機名和 IP 不對,IP 是主機之前用的IP,用 vi /etc/hosts 修改;
這時,執行lsnrctl status 發現輸出結果很快就出來了,不像之前那麼卡。
$ lsnrctl stop
$ lsnrctl start
$ lsnrctl status
The listener supports no services
這裏問題依然存在。
$ sqlplus /nolog
SQL> conn / as sysdba
Connected.
SQL>
SQL> show parameter local
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=1
92.168.1.133)(PORT=1521))
這裏發現,HOST=192.168.1.133 是不對的,1.133是之前的IP ,現在服務器用的IP 是 10.0.0.1 ;
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.1)(PORT=1521))';
System altered.
SQL> show parameter local_li
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=1
0.0.0.1)(PORT=1521))
嗯,IP 改過來了
$ lsnrctl status
Service "orclpdb" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "testpdb" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "testpdb2" has 1 instance(s).
問題解決了!
本博文中oracle 版本爲 12c R2