常见问题及处理方案CPU使用率高的问题通过操作系统命令toptopasglance等查看top进程号,确认是系统进程还是oracle应用进程,查询当前top进程执行的操作和sql语句进行分析。
根据进程号获取正在执行的sqlSELECTa.osuser,a.username,b.address,b.hash_value,b.sql_textfromv$sessiona,v$sqltextb,v$processpwherep.spid=&spidandp.addr=a.paddranda.STATUS='ACTIVE'anda.sql_address=b.addressorderbyaddress,piece;数据库无法连接数据库无法连接,一般可能是如下原因造成:(1)数据库宕了(2)监听异常(3)数据库挂起(4)归档目录满(5)数据库或应用主机的网卡出现问题不能正常工作(6)应用主机到数据库主机的网络出现问题。
1、数据库宕了立即启动数据库。
Startup2、监听异常此时一般体现为:监听进程占用CPU资源大;
d监听日志异常。
此时,立即重启监听,监听重启一般能在1分钟之内完成。
Lsnrctlrestart3、数据库挂起立即重启数据库。
Startup4、归档目录满(1)在没有部署OGG数据同步的情况下,立即清理归档日志文件。
(2)如果部署了OGG数据同步,查看OGG正在读取的归档日志文件,立即清理OGG不再需要的日志文件。
5、数据库或应用主机的网卡出现问题不能正常工作。
立即联系主机工程师处理。
6、应用主机到数据库主机的网络出现问题。
立即联系网络维护人员查看。
CRS/GI无法启动对于10g及11gR1版本的CRS问题1、进入/tmp目录下,看是否产生了crsctl.xxxxx文件如果有的话,看文件内容,一般会提示OCR无法访问,或者心跳IP无法正常绑定等信息。
2、如果/tmp目录下没有crsctl.xxxxx文件此时查看ocssd.log文件,看是否能从中得到有价值的信息。
可能的问题:网络心跳不通。
3、/tmp目录无crsctl.xxxxx且日志中没有报错信息,只有停CRS时的日志信息。
此时可能是RAC两个节点对并发裸设备的访问有问题,此时考虑:(1)停掉两个节点的CRS。
(2)两个节点先同时去激活并发VG,然后再激活VG。
(3)重新启动CRS。
对于11gR2的GI问题分析$GRID_HOME/log/nodename目录下的日志文件,看是否能从中找出无法启动的原因。
常见问题:1、心跳IP不同。
2、ASM实例无法启动。
对CRS的故障诊断和分析,参加本文档中RAC部分的MOS文档.数据库响应慢应急处理步骤:(1)找到占用CPU资源大的sql或者模块,然后停掉此应用模块。
(2)如果属于由于种种原因引起的数据库hang住情况,立即重启数据库,此时重启需要约15分钟时间。
重要说明:如果重启数据库的话,会有如下负面影响:(1)要kill掉所有连接到数据库中的会话,所有会话都会回滚。
(2)立即重启的话,不能获取并保留分析数据库挂起原因的信息,在后续分析问题时,没有足够信息用于分析问题产生的根本原因。
一般正常重启的话,都需要手动获取用于分析数据库重启原因的信息,以便编写分析报告,但是在最长情况下,获取日志信息可能就要40分钟时间。
此时一般做systemstatedump,且如果是rac情况的话,需要2个节点都做,且需要做2次或以上。
常规处理步骤,分如下几种情况处理:(1)所有业务模块都慢。
(2)部分业务模块慢。
(3)数据库hang住。
所有业务模块都慢此时首先查看系统资源,看是否属于CPU资源使用率100%的问题,如果是,参考本章“CPU使用率高的问题”解决办法。
如果系统资源正常,那很可能是数据库hang住了,此时参考数据库Hang部分。
部分业务模块慢分析运行慢的模块的sql语句:(1)看是否是新上的sql。
(2)看执行计划是否高效。
(3)优化运行慢的模块的sql语句。
数据库hang住应急处理方式:重启数据库。
常规处理方式:(1)分析alert日志,看是否能从alert日志中,可以很快找到引起问题的原因。
(2)做3级别的hanganalyze,先做一次,然后隔一分钟以后再做一次。
并分析
1