【十年java搬砖路】oracle链接失败问题排查
1.检查数据库实例是否启动
sqlplus / as sysdba;
执行以下SQL
SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;
能查出数据,说明数据库实例已经启动,如果没有执行执行以下SQL启动数据库实例
startup;
退出命令
quit;
2.检查监听是否启动
lsnrctl status
启动命令
lsnrctl start
3.如果数据库启动正常,监听正常查看是不是防火墙限制
1.查看防火墙规则
firewall-cmd --list-all
如果防火墙限制,开放端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.10.10.10" port port="1150" protocol="tcp" accept'
替换IP和端口执行后从新加载防火墙
firewall-cmd --reload
2.如果还不行,检查是不是数据库开了IP访问限制
lsnrctl status命令会显示ora 文件路径,和日志路径
Listener Parameter File /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/plmmdb/listener/alert/log.xml
listener.ora 配置拦截方式
VALID_NODE_CHECKING = YES
NODES_ALLOWED = (10.100.88.38, 10.100.16.169)
不拦截
VALID_NODE_CHECKING = NO
4查看sqlnet.ora文件是否配置拦截
常规路径
/opt/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora
拦截位置 TCP.EXCLUDED_NODES = (10.100.88.38)
在这里插入图片描述