数据库常问的两个问题看看专家们怎么答
这两天采访了几个人,基本问了两个问题:
1。如果用户告诉你程序突然变慢了,该如何进行...
2。如果用户告诉你程序突然连接不上数据库了,怎么办...
让我们讨论一下,好吗?
问:如果用户告诉你程序突然变慢了,该如何进行...
答:1 >向提问者提出以下问题:
1你做过数据库对象分析-> DBA _ tables (last _ analyze)吗
2你经历过批量dml操作-->(影响执行计划)
3你有没有经历过数据库版本升级-->(新bug?)
4使用操作系统命令检查磁盘I/O是否异常,当然还有网络是否被其他资源占用(硬件故障)
5是否有新应用上线?
6是否有错误信息(如果有错误信息,可以缩小故障范围)
2 >下面开始问题诊断的界面是v$session_wait。
第一个问题:
1.检查客户端进程,确认客户端本身是否有病毒或程序问题。
2.检查服务器进程/线程的运行状态
3.如果服务器出现异常,找到对应的进程/线程,将其杀死。
问题2 .如果用户告诉你程序突然连接不上数据库了,怎么办...
答:
1有一条错误消息。alert_xxx.log及相关。不检查时间报告代码。
2数据库配置关于连接显示参数过程,显示参数会话
再看操作系统层:PS-EF | greplocal | WC-L。
ps -ef|grep ora |wc -l
3v $会话_等待
4开始怀疑应用中没有做conn.close()。可以根据v$open_cusro(sid)进行分组,找到有问题的会话。
5有可能是应用程序没有提交或位图索引,导致入队阻塞数据库对象访问,没有ora - 00060错误等。
6 app server的连接池是否调整了min Capability参数,使得Oracle不支持这么多长连接
0条评论