Oracle集群常用的巡检和管理命令

艺帆风顺 发布于 2025-04-07 16 次阅读


下面有介绍Oracle RAC集群常用命令,如果你还没有集群环境可以参考我前一篇文章来进行部署:手把手教你搭建Oracle19c RAC集群环境

1 集群巡查命令

需要切换到grid用户操作

1.1 查看节点状态

[grid@rac19c1 ~]$ olsnodes -srac19c1 Activerac19c2 Active[grid@rac19c1 ~]$ srvctl status nodeappsVIP 10.0.0.13 is enabledVIP 10.0.0.13 is running on node: rac19c1VIP 10.0.0.14 is enabledVIP 10.0.0.14 is running on node: rac19c2Network is enabledNetwork is running on node: rac19c1Network is running on node: rac19c2ONS is enabledONS daemon is running on node: rac19c1ONS daemon is running on node: rac19c2

1.2 查看集群中资源状态

[grid@rac19c1 ~]$ crsctl stat res -t

1.3 检查集群服务状态

[grid@rac19c1 ~]$ crsctl check crsCRS-4638: Oracle High Availability Services is onlineCRS-4537: Cluster Ready Services is onlineCRS-4529: Cluster Synchronization Services is onlineCRS-4533: Event Manager is online

1.4 查看ASM信息

# 查看asm状态[grid@rac19c1 ~]$ srvctl status asmASM is running on rac19c1,rac19c2# 查看asm完整信息[grid@rac19c1 ~]$ srvctl status asm -a# 查看asm配置信息[grid@rac19c1 ~]$ srvctl config asm -a# 查看asm磁盘组信息[grid@rac19c1 ~]$ asmcmd lsdgState    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  NameMOUNTED  EXTERN  N         512             512   4096  4194304     20480    17432                0           17432              0             N  DATA/MOUNTED  EXTERN  N         512             512   4096  4194304     10240     9880                0            9880              0             Y  OCR/

1.5 查看监听状态

# 查看监听状态[grid@rac19c1 ~]$ srvctl status listenerListener LISTENER is enabledListener LISTENER is running on node(s): rac19c1,rac19c2# 查看监听配置[grid@rac19c1 ~]$ srvctl config listener -a# 查看SCAN监听器的状态[grid@rac19c1 ~]$ srvctl status scan_listenerSCAN Listener LISTENER_SCAN1 is enabledSCAN listener LISTENER_SCAN1 is running on node rac19c2# 查看SCAN网络配置[grid@rac19c1 ~]$ srvctl config scanSCAN name: rac19c-scan, Network: 1Subnet IPv4: 10.0.0.0/255.255.255.0/ens33, staticSubnet IPv6: SCAN 1 IPv4 VIP: 10.0.0.15SCAN VIP is enabled.

1.6 数据库信息查询

srvctl config database -d rac12c -a

2 管理命令

2.1 数据库服务管理命令

启动/关闭RAC数据库

# 停止整个RAC数据库srvctl stop database -d db_unique_name srvctl stop database -d rac19c# 启动整个RAC数据库srvctl start database -d db_unique_namesrvctl start database -d rac19c

下图就是演示了停止和启动数据库状态的变化

启动/关闭指定实例

# 启动实例srvctl start instance -d db_unique_name -i instance_namesrvctl start instance -d rac19c -i rac19c1# 停止实例srvctl stop instance -d db_unique_name -i instance_name

下图演示了关闭单个实例后整个数据库状态的变化

2.2 集群管理

停止集群

在root用户操作

[root@rac19c1 ~]# find / -name crsctl/u01/app/19.3.0/grid/bin/crsctl[root@rac19c1 ~]# /u01/app/19.3.0/grid/bin/crsctl stop crs

在grid用户执行会显示权限不够

以上操作只会停止一个节点,另外一个节点仍然运行中,另一个数据库也正常运行。所有停止集群操作需要在两个节点都执行。

启动集群

[root@rac19c1 ~]# /u01/app/19.3.0/grid/bin/crsctl start crs

启动/停止特定资源

# 启动指定资源crsctl start res resource_name   # 停止指定资源crsctl stop res resource_name      

3 如何重启集群

在实际生产中,Oracle集群都是设置了开机自启动的,如果你想手动重启Oracle集群一定要记住以下几个方面:

  • 在进行任何重启操作之前,确保所有数据都已备份,以防数据丢失。
  • 停止所有依赖于Oracle数据库的应用程序,以防止数据损坏和意外中断。
  • 检查所有节点的数据库状态,确保它们都处于正常状态。

重启顺序

关闭数据库--》停止集群--》启动集群--》启动数据库--》验证状态

具体命令参考第二章节的

问题排查