Oracle集群命令小结
Oracle Clusterware的命令集可以分为以下4种,其中用的最多的是crsctl和srvctl:
节点层:osnodes
olsnodes -n -i -s
olsnodes -l -p
备注:
olsnodes -n -i -s: 这个命令用来显示集群中的节点信息,具体含义如下:
-n: 显示节点名称。
-i: 显示节点的IP地址。
-s: 显示节点的状态信息,包括节点的运行状态(running)和离线状态(offline)。
olsnodes -l -p: 这个命令用来显示集群中的监听器信息,具体含义如下:
-l: 显示监听器的名称。
-p: 显示监听器的端口号。
查看Oracle集群中的节点和监听器的信息。
网络层:oifcfg
oifcfg iflist
oifcfg iflist -p -n
oifcfg getif
备注:
oifcfg iflist: 这个命令用于列出系统上配置的所有网络接口。
oifcfg iflist -p -n: 这个命令列出了所有网络接口的详细信息,使用 -p 标志可以显示物理接口信息,使用 -n 标志可以显示网络接口名称。
oifcfg getif: 这个命令获取了Oracle Clusterware配置中的网络接口信息。
集群层:crsctl, ocrcheck,ocrdump,ocrconfig
crs_stat -t
crsctl stat res -t #用于显示集群资源的状态信息
crsctl对集群组件进行操作
crsctl check crs,css, ctss,evm,has
crsctl check cluster -all
ps -ef | grep crsd,cssd,ctssd,evm,ohas
备注:
crsctl check 是查看各个组件的状态
CRS(Cluster Ready Services):CRS是Oracle Clusterware的核心组件,负责管理和调度集群资源。
CSS(Cluster Synchronization Services):CSS是一个分布式锁管理服务,用于实现扩展和同步集群范围的操作。
CTSS(Cluster Time Synchronization Service):CTSS是用于集群时间同步的服务。
EVM(Event Manager):EVM是Oracle Clusterware的事件管理器,负责监控和响应集群事件。
crsctl check cluster -all: 这个命令用于检查整个集群的状态。它会检查集群的各个组件和节点,并报告任何发现的错误或异常情况。这是一个要全面检查整个集群的有用命令。
停止和启动集群的命令(root下单节点,需要添加环境变量):
crsctl stop has/crsctl stop crs
crsctl start has/crsctl start crs
crsctl config has
crsctl disable has
crsctl enable has
备注:
rsctl stop has / crsctl stop crs: 这些命令用于停止Oracle Clusterware(CRS)服务
crsctl start has/crsctl start crs 启动
crsctl config has:这个命令用于显示HAS组件的配置信息
crsctl disable has: 这个命令用于禁用Oracle Clusterware High Availability Services(HAS)。禁用HAS会导致所有集群资源无法自动故障转移和恢复。
crsctl enable has: 这个命令用于启用Oracle Clusterware High Availability Services(HAS)。
应用层:srvctl,onsctl,crs_stat
srvctl对集群资源进行操作
srvctl status -h
备注:
srvctl命令用于对集群资源(如数据库、服务和监听器)进行管理和操作。以下是一些常见的srvctl命令用法:
srvctl start:启动指定的集群资源。例如,srvctl start database -d DBNAME将启动名为DBNAME的数据库。
srvctl stop:停止指定的集群资源。例如,srvctl stop database -d DBNAME将停止名为DBNAME的数据库。
srvctl status:显示指定集群资源的状态。例如,srvctl status database -d DBNAME将显示名为DBNAME的数据库的状态。
srvctl add:添加新的集群资源。例如,srvctl add database -d DBNAME -o ORACLE_HOME将添加一个名为DBNAME的新数据库。
srvctl remove:删除现有的集群资源。例如,srvctl remove database -d DBNAME将删除名为DBNAME的数据库。
检查所有Oracle实例状态
srvctl status database -d r19c0
srvctl config database -d r19c0 -a -v
备注:
显示数据库名为r19c0的信息,包括运行状态、运行节点以及其他相关属性
用于获取数据库spdb的详细配置信息
-d r19c0指定要获取配置信息的数据库名称为r19c0,请将其替换为实际的数据库名称。
-a选项表示获取所有属性的信息。
-v选项用于提供更详细的输出,包括显示数据库的详细配置参数和属性。
执行该命令后,你将获得spdb数据库的详细配置信息,包括数据库实例名、集群名称、数据库版本、数据库角色、数据库启动参数等等。
检查单个实例状态
srvctl status instance -d r19c0 -i r19c01
srvctl status instance -d r19c0 -i r19c02
节点应用程序状态
srvctl status nodeapps
监听器状态以及配置
srvctl status listener
srvctl status listener -l listener1 //用于查看指定监听器(listener1)的状态
srvctl status scan_listener //用于查看Scan监听器的状态。
ASM状态
srvctl status asm
srvctl status asm -a
srvctl status asm -v
-a
选项表示显示所有ASM实例的状态。 -v
选项用于提供更详细的输出
VIP状态
srvctl status vip -n r19c01
srvctl status vip -n r19c02
srvctl查看配置
srvctl config -h
列出所有的配置数据库
srvctl config database #列出安装的数据库
srvctl config database -d r19c0 -a #检查数据库相关的信息
监听配置
srvctl config listener
srvctl config listener -a
备注:包括监听器名称、监听地址、监听端口、监听协议
ASM配置
srvctl config asm
srvctl config asm -a //用于显示详细的ASM实例的配置信息
SCAN配置
srvctl config scan
srvctl config scan_listener
srvctl config scan_listener
用于访问Oracle RAC(Real Application Clusters)集群的虚拟主机名,它是一个集群的网络入口点,作为客户端连接到集群数据库时使用的地址。
VIP配置
srvctl config vip -n rac1
srvctl config vip -n rac2
节点应用程序配置
srvctl config nodeapps
验证所有集群节点间的时钟
cluvfy comp clocksync -n rac1,rac2 -verbose
select instance_name,status from gv$instance;
srvctl start database -d spdb # 启动数据库,所有节点的实例
srvctl stop database -d spdb # 关闭数据库,所有节点的实例
srvctl start instance -d fxdb -i spdb1 # 启动指定的实例
srvctl stop instance -d spdb -i spdb1 # 关闭指定实例
srvctl start instance -d fxdb -i spdb1 -o mount
srvctl stop instance -d fxdb -i spdb1 -o immediate
srvctl stop instance -d fxdb -i spdb1 -o abort