1.现象
关闭Oracle监听重启,发现无法启动
现在地址被使用无法启动,原因是sqlnet.ora 里面配置了白名单,所以无法启动。
2.处理方法
(1)备份sqlnet.ora
cd $ORACLE_HOME/network/admin
mv sqlnet.ora sqlnet.ora.bak --备份
(2)杀掉监控
[oracle@oracle19c ~]$ ps -ef |grep tns
root 49 2 0 6月02 ? 00:00:00 [netns]
oracle 5379 1 0 09:48 ? 00:00:00 /chac/app/oracle/product/19c/dbhome_1/bin/tnslsnr LISTENER -inherit
oracle 9405 9337 0 10:33 pts/0 00:00:00 grep --color=auto tns
[oracle@oracle19c ~]$ kill - 95379
(3)重启
lsnrctl start
(4)设置local_listener参数
[oracle@oracle19c ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 18-DEC-2023 10:35:02
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.14.11)(PORT=1580)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 18-DEC-2023 09:48:26
Uptime 0 days 0 hr. 46 min. 35 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /chac/app/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File /chac/app/oracle/diag/tnslsnr/oracle19c/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.1)(PORT=1521)))
Services Summary...
Service "CPJS" has 1 instance(s).
sqlplus / as sysdba
alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.1.1)(PORT=1521)))';
(5)注册监听
alter system register;
(6)重新使用sqlnet.ora 数据库连接白名单
mv sqlnet.ora.bak sqlnet.ora
至此数据库TNS-00512的问题就解决了。这里无法重启,主要是因为白名单的限制。