使用RDA收集Exadata的诊断信息

原文链接: http://www.dbaleet.org/collect_exadata_diagnostic_info_via_rda/

RDA是Remote Diagnostic Agent的简称,是Oracle开发的用于收集Oracle公司全系列产品诊断信息的工具,是Oracle售后工程师和技术专家标准工具之一。在向MOS(support.oracle.com)开一个服务请求(SR)的时候,可能会经常遇到Oracle Support要求收集当前系统的RDA以诊断某些疑难问题。另外由于RDA覆盖面非常广, Oracle售后工程师在进行数据库健康检查的时候也是使用RDA作为的原始素材的收集工具的。
既然RDA是Oracle全系列产品标准诊断信息的收集工具,那么必然它也可以用于Exadata。本文并不对RDA进行通用性的介绍,而仅仅提供一些Exadata下常用的rda选项以供诊断Exadata问题之用:

1. module

RDA提供了一个Exadata专用模块,如果要对Exadata的信息进行收集只需带入Exadata模块专用的参数就能收集所有与Exadata相关的信息。

./rda.sh -vC EXA
2. profile

如果module适用于对Exadata整体性能的收集,那么profile则主要偏重于诊断Exadata某个特定组建的问题。以下列出了所有的Exadata功能组件:

profile COLLECTION MODULES 收集的模块(中文描述)
Exadata_Assessment Oracle Exadata assessment collections Exadata配置评估相关
Exadata_CellBrownout Oracle Exadata long brownout due to cell failure-related problems Exadata Cell掉电相关
Exadata_CellFailure Oracle Exadata cell failure-related problems Exadata Cell故障相关
Exadata_DatabaseCrash Oracle Exadata database crash-related problems Exadata数据库崩溃相关
Exadata_DatabaseHang Oracle Exadata database hang-related problems Exadata数据库挂起相关
Exadata_FailedDrives Oracle Exadata failed drives-related problems Exadata磁盘故障相关
Exadata_FlashDrives Oracle Exadata flash drives-related problems Exadata Flash故障相关
Exadata_IbSwitch Oracle Exadata InfiniBand switch-related problems Exadata Infiniband交换机故障相关
Exadata_Ilom Oracle Exadata Integrated Lights Out Manager-related problems Exadata Ilom故障相关
Exadata_ListenerHang Oracle Exadata listener hang-related problems Exadata监听挂起故障相关
Exadata_Network Oracle Exadata general network-related problems Exadata通用网络故障相关
Exadata_NetworkCable Oracle Exadata network cabling-related problems Exadata网线问题相关
Exadata_RacInstance Oracle Exadata RAC instance-related problems Exadata RAC实例故障相关
Exadata_SickCell Oracle Exadata sick cell-related problems Exadata Cell性能故障相关
Maa_Exa_Assessment Maximum Availability Architecture with Exadata Exadata 最大可用性架构(可以理解为最佳实践)相关

profile的使用非常简单,假如我需要检查Exadata的接线是否存在问题那么就可以运行一下命令进行诊断:

./rda.sh -vp Exadata_NetworkCabling

这条命令就可以将所有与Exadata网络接线相关的信息收集起来。

3. cell

这里使用cell看上去十分令人困惑,实际上它仅仅只是用于Exadata cell的连通性测试。

用户可以使用以下命令输入用户,然后测试连接到远程的cell节点:

./rda.sh  -vT cell

也可以在命令行中指定用户的userid进行连通性测试:

./rda.sh -vT cell:userid

这条指令主要从/etc/oracle/cell/network-config/cellip.ora文件内抽取cell节点的访问信息,主要包括以下步骤:

1. 测试which命令在当前的环境变量PATH中是否可用;
2. 检查用户的home目录下的 .ssh是否存在以及其权限是否正确;
3. 检查.ssh下的DSA或者 RSA密钥文件是否存在以及其权限是否正确;
4. 此时验证代理(authentication agent)是否配置,如果可能,检查其身份是否已被添加;
5. 测试哪些driver从远程可连;
6. 检查是否可以访问/etc/oracle/cell/network-config/cellip.ora文件
7. 检查可用的driver中哪个的连通性最佳。

综上,RDA收集信息的方式非常灵活,不仅仅可以针对Exadata,更可以针对Exadata的某一具体的组件收集诊断信息,适合于Exadata专家诊断发现问题以及Exadata健康检查。之所以说RDA适合于专家使用主要是因为RDA仅仅只是收集必需的信息,而只有Exadata专家才能利用这些原始的信息迅速的分析出问题的根源。另外一个Exadata的健康检查工具Exachk不仅仅收集信息,并且给出问题产生原因以及分析建议和解决方案,适合于绝大多数用户使用,Oracle推荐使用Exachk对Exadata进行健康检查,但是不代表RDA就毫无用武之地,就我看来,RDA本身的针对性和灵活性远比Exachk要强。


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *