Oracle数据库连接慢问题排查

本文分享了自己在使用Oracle数据库时,遇到连接问题的排查方法。

1.数据库服务

最基本的,要想连接,数据库本身得是正常运行着的。

linux需要先执行,windows直接打开cmd

su - oracle。

以dba角色登录本地数据库。连这个都连不上,说明数据库没启动好。
要排查数据库本身的问题。

sqlplus / as sysdba。

连接以后查询数据库状态

select open_mode from v$database;。

这里一般有以下状态

mount:加载profile启动模式
nomount:未加载profile启动模式
read/write:正常

如果是nomount

alter database mount;

如果是mount

alter database open;

2.监听

oracle监听就是oracle服务的耳朵,数据库服务可以直接通过sqlplus连接,但对网络客户端的访问,就要靠它来完成。

监听状态查看

lsnrctl status

监听启动

lsnrctl start

监听停止

lsnrctl stop

监听状态异常,当然是要重启的,上面几个命令执行就OK。

监听启动出错,查看listener.ora是否配置错误

$ORACLE_HOME\NETWORK\ADMIN

监听状态正常但是启动时特别慢,就要查看监听的日志是否过大,读写缓慢。

这个现象重点提一下:客户端、第三方软件访问时特别慢,但服务端直接sqlplus访问却很快

日志文件位置查找。

adrci

查看警告日志

show alert

查看跟踪日志

show tracefile

删了它们就可以了。当然,最好先备份一下再删更好。

linux命令:

rm

3.网络

要想连接,网络一定要通。

客户端测试连接,以下例子中192.168.x.x为服务端IP

网络连接ping

ping 192.168.x.x

跟踪路由跳转

tracert 192.168.x.x

端口测试

telnet 192.168.x.x

网络不通,要检查网络线路是否通畅,服务端防火墙设置。

windows防火墙

控制面板–系统安全–windows防火墙-打开或关闭防火墙

linux防火墙

iptables命令

只是分享一下思路,命令的使用只是新手,见笑了。具体问题还要具体分析。

Logo

更多推荐