Oracle RAC集群运维命令

一、高频集群管理命令

在日常运维工作中,我们可以利用srvctl和crsctl命令进行RAC集群的管理。SRVCTL(Server Control)是一个命令行工具,用于管理Oracle Cluster Registry (OCR)上的资源,包括节点应用(nodeapps)、Oracle Notification Service (ONS)、Global Services Daemon (GSD)等。它还可以管理数据库、实例、监听器、服务和应用程序。通过SRVCTL,可以启动或停止nodeapps、数据库、实例、监听器和服务,添加、删除或移除实例和服务,以及管理配置信息。

CRSCTL(Cluster Ready Services Control)是一个命令行工具,用于管理Oracle Clusterware守护进程,包括Cluster Synchronization Services (CSS)、Cluster-Ready Services (CRS)和Event Manager (EVM)。通过CRSCTL,可以启动或停止Oracle Cluster,并查看其当前状态。

RAC集群几个主要进程:

复制代码
[oracle@RAC1:/home/oracle]$ ps -ef|grep lmd

[oracle@RAC1:/home/oracle]$ ps -ef|grep lmon

[oracle@RAC1:/home/oracle]$ ps -ef|grep lms

[oracle@RAC1:/home/oracle]$ ps -ef|grep diag

[oracle@RAC1:/home/oracle]$ ps -ef|grep rbal

[oracle@RAC1:/home/oracle]$ ps -ef|grep asmb

[oracle@RAC1:/home/oracle]$ ps -ef|grep ping

[oracle@RAC1:/home/oracle]$ ps -ef|grep lmhb

[oracle@RAC1:/home/oracle]$ ps -ef|grep rms

[oracle@RAC1:/home/oracle]$ ps -ef|grep rsm

[oracle@RAC1:/home/oracle]$ ps -ef|grep gtx

[oracle@RAC1:/home/oracle]$ ps -ef|grep rcbg

[oracle@RAC1:/home/oracle]$ ps -ef|grep acms

[oracle@RAC1:/home/oracle]$ ps -ef|grep css

[oracle@RAC1:/home/oracle]$  ps -ef|grep crs

[oracle@RAC1:/home/oracle]$ ps -ef|grep evm

[grid@RAC1:/home/oracle]$ ps -ef|grep asm

二、RAC集群配置查看

1、查看 scan ip 地址配置

复制代码
[grid@RAC1:/home/grid]$ srvctl config scan
[grid@RAC1:/home/grid]$ srvctl status scan

2、查看 SCAN 监听情况

复制代码
[grid@RAC1:/home/grid]$ srvctl status scan_listener

3、查询节点应用程序状态

复制代码
[grid@RAC1:/home/grid]$ srvctl status nodeapps

4、查看节点应用程序配置(VIP、GSD、ONS、监听器)

复制代码
[grid@RAC1:/home/grid]$ srvctl config nodeapps

5、查看TNS监听

复制代码
[grid@RAC1:/home/grid]$ srvctl status listener

查看监听配置

复制代码
[grid@RAC1:/home/grid]$ srvctl config listener -a

6、查看vip网络

复制代码
[grid@RAC1:/home/grid]$ srvctl status vip -n RAC1

[grid@RAC1:/home/grid]$ srvctl config vip -n RAC1

[grid@RAC1:/home/grid]$ srvctl config vip -n rac2

7、查看集群私网信息

复制代码
[grid@RAC1:/home/grid]$ oifcfg getif

8、查看ASM

复制代码
[grid@RAC1:/home/grid]$  srvctl status asm
[grid@RAC1:/home/grid]$ srvctl config asm-a

9、验证所有集群节点间的时钟同步

复制代码
[grid@RAC1:/home/grid]$ cluvfy comp clocksync -verbose

三、集群服务启停命令

1、查询当前集群软件版本和主机名

复制代码
[grid@RAC1:/home/grid]$ crsctl query crs softwareversion RAC1
[grid@RAC1:/home/grid]$ crsctl query crs activeversion

2、查看集群的名称

复制代码
[grid@RAC1:/home/grid]$ cemutlo -n

3、检查Cluster Ready Services(CRS)的状态

复制代码
[grid@RAC1:/home/grid]$ crsctl check crs

4、检查Cluster Synchronization Services Daemon(CSSD)的状态

复制代码
[grid@RAC1:/home/grid]$ crsctl check cssd

5、检查Cluster Ready Services Daemon(CRSD)的状态

复制代码
[grid@RAC1:/home/grid]$ crsctl check crsd

6、检查Event Manager Daemon(EVM)的状态

复制代码
[grid@RAC1:/home/grid]$ crsctl check evmd

7、查看voting disk位置

复制代码
[grid@RAC1:/home/grid]$ crsctl query css votedisk

8、查看集群的进程状态

复制代码
[grid@RAC1:/home/grid]$ crsctl check cluster

查看集群组件状态

复制代码
[grid@RAC1:/home/grid]$ crs_stat -t -v  --11g 

以前的命令

复制代码
[grid@RAC1:/home/grid]$ crsctl status res -t

9、一键启停所有节点上的css及资源

复制代码
[grid@RAC1:/home/grid]$ crsctl stop cluster -all
[grid@RAC1:/home/grid]$ crsctl start cluster -all

10、检查并显示OCR(Oracle Cluster Registry)的位置

复制代码
[grid@RAC1:/home/grid]$ ocrcheck

11、查看数据库的状态

复制代码
[grid@RAC1:/home/grid]$ srvctl status database -d orcl
[grid@RAC1:/home/grid]$ srvctl config database -d orcl -a

12、启动数据库

复制代码
[grid@RAC1:/home/grid]$ srvctl start database -d orcl

13、详细输出资源全名称并检查状态

复制代码
[grid@RAC1:/home/grid]$ crsctl status resource -t

14、查看ocr备份信息

复制代码
[grid@RAC1:/home/grid]$ ocrconfig -showbackup

四、ASM磁盘组相关维护命令

1、查看磁盘状态

复制代码
SQL>set lines 200 pages 200;
SQL>select group_number,name,type,total_mb,free_mb   from v$asm_diskgroup;
SQL> col name for a20SQL> col path for a50
SQL>select NAME,PATH,total_mb,free_mb from v$asm_disk;
SQL>select name,state from v$asm_diskgroup;

2、asm 磁盘组删除

复制代码
sql>drop diskgroup DATA;

3、asm磁盘组添加磁盘

复制代码
sql> alter diskgroup data add disk '/dev/mapper/asm_data';

4、使用asmcmd增加删除磁盘、磁盘组、控制磁盘Rebalance

(1)增加磁盘:

  • 使用asmcmd命令登录到ASM实例:asmcmd
  • 使用lsdg命令列出所有磁盘组:lsdg
  • 使用ls命令列出所有磁盘组中的磁盘:ls <diskgroup_name>
  • 使用cd命令切换到目标磁盘组:cd <diskgroup_name>
  • 使用mkdisk命令创建新磁盘:mkdisk <disk_name><path_to_disk>
  • 使用ls命令确认新磁盘已添加到磁盘组:ls

(2)删除磁盘:

  • 使用asmcmd命令登录到ASM实例:asmcmd
  • 使用lsdg命令列出所有磁盘组:lsdg
  • 使用ls命令列出所有磁盘组中的磁盘:ls <diskgroup_name>
  • 使用cd命令切换到目标磁盘组:cd <diskgroup_name>
  • 使用rm命令删除指定磁盘:rm <disk_name>
  • 使用ls命令确认磁盘已从磁盘组中删除:ls

(3)增加磁盘组:

  • 使用asmcmd命令登录到ASM实例:asmcmd
  • 使用lsdg命令列出所有磁盘组:lsdg
  • 使用mkdg命令创建新磁盘组:mkdg <diskgroup_name><disk1, disk2,...>
  • 使用lsdg命令确认新磁盘组已创建成功:lsdg

五、常用的几个SQL命令

1、查看数据库基础信息

复制代码
SQL>set lines 200 pages 200
SQL>select name,log_mode,open_mode,platform_name,db_unique_name from v$database;

2、查看数据库版本

复制代码
SQL> SELECT * FROM v$version;

3、查看数据库字符集

复制代码
SQL>select*from nls_database_parameters where parameter like '%CHARACTERSET%';

4、查看实例的运行状态

复制代码
SQL> SELECT instance_name, status FROM v$instance;

5、查看归档的状态

复制代码
SQL> archive log list;
相关推荐
春风霓裳41 分钟前
ubuntu磁盘管理、磁盘扩容
linux·运维·ubuntu
广州服务器托管1 小时前
WIN11.26H1.27982.1中简优化版 45进程(2025.11.8)
运维·人工智能·计算机网络·云计算·可信计算技术
拾心211 小时前
【云运维】LNMP 架构部署与应用
运维·架构
小码过河.2 小时前
告别 mysqldump 痛点!用 mydumper 实现 MySQL 高效备份与恢复
数据库·mysql
亮子AI2 小时前
【Nginx】怎样清除 Nginx 的缓存?
运维·nginx·缓存
TDengine (老段)2 小时前
从“数据堆场”到“智能底座”:TDengine IDMP如何统一数据语言
大数据·数据库·物联网·时序数据库·tdengine
vvw&2 小时前
如何在 Ubuntu 24.04 上安装和使用 AdGuard
linux·运维·服务器·ubuntu·adguard
weixin_453253653 小时前
python+playwright自动化如何解决文件上传问题
运维·自动化
King's King3 小时前
超详细的自动化立体仓库技术标书-模板
运维·自动化
TTBIGDATA3 小时前
【Ambari开启Kerberos】Step1-KDC服务初始化安装-适合Ubuntu
运维·数据仓库·hadoop·ubuntu·ambari·hdp·bigtop