原文链接: 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要强。
Comment