问题登场
$ 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