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;
相关推荐
nbsaas-boot1 小时前
SQL Server 存储过程开发规范(公司内部模板)
java·服务器·数据库
zgl_200537791 小时前
ZGLanguage 解析SQL数据血缘 之 Python + Echarts 显示SQL结构图
大数据·数据库·数据仓库·hadoop·sql·代码规范·源代码管理
C_心欲无痕1 小时前
Dockerfile:构建 Docker 镜像
运维·docker·容器
acaad1 小时前
Redis下载与安装(Windows)
数据库·redis·缓存
玄〤1 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
zz_nj2 小时前
工作的环境
linux·运维·服务器
SunflowerCoder2 小时前
EF Core + PostgreSQL 配置表设计踩坑记录:从 23505 到 ChangeTracker 冲突
数据库·postgresql·c#·efcore
短剑重铸之日2 小时前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端
C_心欲无痕2 小时前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
Zoey的笔记本3 小时前
「支持ISO27001的GTD协作平台」数据生命周期管理方案与加密通信协议
java·前端·数据库