Oracle提问前需要收集的信息

在现在还有很多工程师,在碰到问题时,首先就是拿起电话想要问到个答案。这其实不是个很有效率解决办法,因为有很多问题,电话那头不是通过口头描述就能一下子猜出问题的原因,还是要通过收集信息再确认。所以为了节省时间,罗列了在问问题前,需要收集的信息,不要怕麻烦,本来直接电话想节省时间,到最后是浪费了两个人的时间。

还有种比较差的问问题的类型,只发日志,没有描述。感觉邮件那头可以通过日志一下子就扫出问题的关键,所以别吝啬,多描述下吧,描述地越详细,对解决问题越有帮助。描述问题就靠各自的水平了,这里列出收集日志信息的方法。

1. 收集所有节点DB的alertlog

Oracle 10g一般的位置在
$ORACLE_BASE/admin/<ORACLE_DBNAME>/bdump/alert_<ORACLE_SID>.log

Oracle 11g一般的位置在
$ORACLE_BASE/diag/rdbms/<ORACLE_DBNAME>/<ORACLE_SID>/trace/alert_<ORACLE_SID>.log

如果不知道这些信息,可以通过查询数据库参数得到,如:
Oracle 10g

SQL> show parameter background_dump_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest                 string      /oracle/app/oracle/admin/test1/bdump

Oracle 11g

SQL> show parameter diagnostic_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest                      string      /data/oracle

2. 收集CRS日志

2.1 Oracle 10g获取方法

# script /tmp/diag.log
# id
# env
# cd <空间足够的临时目录>
# export OCH=
# export ORACLE_HOME=
# export HOSTNAME=
# $OCH/bin/diagcollection.pl -crshome=$OCH –collect
# exit

2.2 Oracle 11g获取方法

# <$GRID_HOME>/bin/diagcollection.sh

2.3收集以下文件

/tmp/diag.log
crsData_.tar.gz
oraData_.tar.gz

更多RAC日志信息收集,请参考
Oracle Clusterware 10gR2/ 11gR1/ 11gR2/ 12cR1 Diagnostic Collection Guide ( Doc ID 330358.1 )

3 Oracle 11g TFA

如果可以,收集Oracle 11g TFA信息
$ tfactl print status
$ /oracle/product/11.2.0/grid/bin/tfactl diagcollect -all -from “Sep/18/2015 00:00:00” -to “Sep/18/2015 10:00:00”

4. 收集操作系统日志

Sun : /var/adm/messages
HP-UX : /var/adm/syslog/syslog.log /var/adm/syslog/OLDsyslog.log
Tru64 : /var/adm/messages
Linux : /var/log/messages
IBM : /bin/errpt -a > messages.out

5. 收集OSW信息

如何安装OSW,参考:Metalink Note:301137.1

6. 收集相关trc报错

6.1 10g

直接收集相关trc文件

6.2 11g

可以直接收集相关trc文件,也可以通过adrci来收集(后续计划写一篇)

关于紫砂壶

感悟技术人生
此条目发表在Oracle故障诊断分类目录,贴了标签。将固定链接加入收藏夹。