RAC 常用工具和命令

介绍一些常用工具和命令,可以用来诊断、查看和管理RAC和Exadata数据库一体机的RAC相关组件。(不管是否是Extradata环境同样适用)

  • CRSCTL Oracle集群控制工具——CRSCTL能让用户对Oracle RAC集群及其相关部件执行管理任务,例如,启动、停止、检查、启用、禁用、健康检查等。CRSCTL命令可以运行在集群中的任何节点。它的使用应仅限于关键的Oracle RAC集群业务,大部分的资源管理可以使用SRVCTL进行。
  • SRVCTL服务器控制工具——SRVCTL用于管理资源和Oracle集群所管理的组件,例如,启动、停止、添加、删除、启用和禁用的服务,数据库和实例,SCAN监听,NodeApps,ASM等。
  • 五花八门(miscellaneous)的其他工具——包括其他用来查询、诊断和管理RAC、CRS的命令行工具。

用crsctl query命令查询Exadata上的Clusterware集群软件信息的命令。

crsctl query命令:

crsctl query crs activeversion


crsctl query crs releaseversion


crsctl query crs softwareversion


crsctl query crs softwareversion

crsctl query crs softwareversion -all

crsctl query css votedisk

crsctl query crs administrator

crsctl check命令,用来检查Exadata上的集群组件状态:

crsctl check has


crsctl check crs

crsctl status和crsctl get命令,用来显示Exadata上集群相关组件的状态信息。

 

crsctl status serverpool -p


crsctl status serverpool ora.dbm -p


crsctl get cluster mode status

crsctl get node role config

用srvctl config命令展示了Exadata上集群相关的配置信息。

srvctl config database -d dbm



srvctl config nodeapps -n oe01db01



srvctl config listener -l LISTENER -a

用srvctl status命令展示了Exadata上集群管理资源的状态信息。

srvctl status server -n oe01db01,oe01db02,oe01db03,oe01db04



srvctl status database -d dbm


srvctl status instance -d dbm -i dbm1

stvctl status nodeapps


srvctl status nodeapps -n oe01db01


srvctl status asm


srvctl status diskgroup -g DATA01


srvctl status listener

srvctl status listener -n oe01db01

srvctl status scan

srvctl status scan_listener


srvctl status scan_listener -i 1


srvctl status vip -n oe01db01

srvctl status vip -i oe0101-vip-vip

列出的是Exadata里与RAC组件相关的一些命令。

各种RAC组件信息

ocrconfig -showbackup


olsnodes -s


olsnodes -n

ocrcheck

ocrcheck -local

以下部分主要介绍在Exadata里,对RAC进行性能诊断和故障诊断的一些好用的小技巧和建议。

  • ORAchk是为Exadata和RAC全新打造的一款功能全面的健康检查工具,可以用来检测在RAC或Exadata中普遍存在的问题。在ORAchk发布之前,官方推荐使用EXachk作为Exadata一体机的健康检查工具,可以从Oracle技术支持文档(ID 1070954.1)下载。Exachk是一个伟大的起步,它给予了全面的检查指南和潜在的隐患、问题和痛点的改进建议。而现在ORAchk来了,这是一款结合了Exachk和RACcheck功能于一身的新工具。
  • 一款为了简化RAC诊断信息搜集过程的工具——TFA(Trace File Analyzer,跟踪文件分析工具)诞生了,它包罗万象,采集的内容非常完整。TFA大大简化了要提供给Oracle技术支持(Oracle Support)所需的诊断数据搜集和上传功能。
  • 自动诊断库(Automatic Diagnostic Repository,ADR)以文件形式来存储诊断数据,是一个综合的集成诊断库。自动诊断库命令解释器(ADR Command Interpreter,ADRCI)命令行工具可以用来检测RAC、Exadata中所有数据库实例的诊断信息,包括事件相关的数据、告警信息、跟踪文件和转储文件等。ADRCI也可以用来将所有相关的诊断数据打包和压缩为.zip文件,然后传至Oracle技术支持做进一步分析。不过需要说明的是,ADR搜集存储的信息TFA中也包含了,也就是说如果用了TFA,就没必要再用ADR了。
  • 检查告警日志和跟踪日志文件 .每个RAC数据库实例都有它自己的告警日志文件,这个文件的位置由初始化文件init.ora中的DIAGNOSTIC_DEST参数指定。对于发生的一些特定问题和故障事件,告警日志文件中都会给出更多的跟踪日志文件路径信息。对于识别和诊断Exadata或RAC的问题,分析告警日志和这些跟踪日志文件是非常关键的。如果已经使用TFA来搜集和分析诊断数据,那它已经帮你把RAC数据库的告警和跟踪数据都搜集好了。

3A 工具

可使用三个A开头的性能优化和问题诊断工具来解决性能相关的问题或其他通用问题:

  • AWR(自动工作负载信息)报告——为整个Oracle数据库记录负载信息,用于后续诊断。
  • ADDM(自动数据库诊断)报告——分析AWR报告收集的数据,并以方便易读的方式生成诊断结果和建议。
  • ASH(活动会话历史记录)报告——为个别数据库会话进行跟踪和记录。

检查集群私网

集群私有网络是集中式的骨干网络,承担所有节点之间的缓存融合。虽然在Exadata中比较罕见(由于使用了超快的InfiniBand网络交换机),但集群互联很可能是潜在的问题点。

启用跟踪功能和检查跟踪日志

AC管理工具,比如数据库配置助手(DBCA)、数据库升级助手(DBUA)、集群验证工具(CLVU)、服务器控制工具(SRVCTL)等,是基于Java开发的,所以可以启用跟踪功能。这些工具的跟踪日志可以在它们各自的目录中找到(例如,$ORACLE_HOME/cfgtoollogs/dbca),如果遇到相关故障,应该去检查这些日志。

集群健康状态监视器

集群健康状态监视器(Cluster Health Monitor,CHM)也是一个Exadata、RAC故障问题发生时非常有用的工具。CHM搜集的信息,放在Grid Infrastructure的管理信息库,可以用于RAC集群的故障排除。CHM搜集数据可以通过运行$GRIDHOME/bin目录下的diagcollection.pl脚本获得。不过,相对TFA来说,diagcollection.pl有些过时了。

使用OEM 12c

OEM 12c是一个标准框架,可以作为RAC、Exadata故障诊断和性能调优时的一种选择参考。下面列出OEM 12c上的一些工具、程序、报告、页面,这在识别、跟踪诊断和处理RAC或Exadata的一些问题情景时是非常有用的:

  • 性能调优主页面(performance home page)
  • 集群缓存(cluster cache coherency)
  • 实时ADDM报告(real-time ADDM report)
  • AWR、ADDM和ASH报告
  • Top活动会话
  • SQL监控
  • 比对ADDM报告
  • 比对AWR报告
  • 被阻塞的会话(blocking sessions)
  • SQL优化和性能建议(performance advisers)
  • 即时监控(emergency monitoring)

其他工具

还有一些工具和命令脚本,对于诊断和解决RAC问题也是比较有用的:

  • RAC配置检查工具(RACcheck)
  • ProcWatcher——监控和检查Oracle数据库及集群进程的脚本
  • OSWatcher Black Box(OSWBB)
  • ORATOP——接近实时的数据库、RAC和单实例监控工具

你可能感兴趣的:(DBA,数据库,oracle,java)