Oracle Rac集群日常维护管理命令

本文详细介绍了如何使用crsctl、srvctl等工具在OracleClusterware环境中查看和管理集群状态,包括检查集群、资源、数据库实例、网络组件,以及启动/停止节点和资源的操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:查看集群的状态

使用crsctl status resource [-t]

使用crs_stat [-t]

使用srvctl status obj 来查询集群、资源的状态

  1. 检查集群的状态

简单的输出

crsctl check cluster

crsctl check crs

crsctl check cluster -n  itpux1

crsctl check cluster -n  itpux2

asmcmd lsdg

详细的信息

#crs_stat -t

#crsctl status res -t

ocrcheck

crsctl query css votedisk
  1. 使用下面命令(root登陆)使用 destination_file 或者 +ASM_disk_group取代现在的OCR
    Location
 ocrconfig -replace current_OCR_location -replacement new_OCR_location

如果只有一个OCR Location, 那么使用下面的命令:

 ocrconfig -add  +new_storage_disk_group

 ocrconfig -delete  +current_disk_group
  1. 运行下面的命令显示备份:
$ ocrconfig   -showbackup
  1. 当Oracle Clusterware起来的时候,在一个节点上运行ocrconfig -manualbackup命令
[grid@rac01 ~]$ ocrconfig   -manualbackup

然后使用 $ ocrconfig -showbackup 可以查看到备份信息。

  1. 运行下面的命令检验备份文件内容及完整性。
$ ocrdump -backupfile backup_file_name   

二:RAC起、停节点、群集

  1. 按顺序操作启动与停止:

停止:关闭数据库,关闭CRS

第一个节点,第二个节点

 su – oracle

$ sqlplus “as sysdba”

   sqlshutdown immediate

所有节点

$ su – root

 crsctl stop crs

启动:直接启动CRS服务即可

 crsctl start crs

 crsctl check crs

 su - grid

$ crs_start -all

$ crs_stat -t

启用CRS系统重启而自动启动

crsctl enable crs

crsctl disable crs

crsctl config crs

ASM空间的检查

asmcmd lsdg
  1. 数据库实例的启动与停止

停止

shutdown immedate;
 
Shutdown mode

A = ABORT

I = IMMEDIATE

T = TRANSACTIONAL

N = NORMAL

启动

NOMOUNT

Instance started

MOUNT

Control file opened for this instance

OPEN

All files opened as described by the control file for this instance

sqlplus as sysdba'

startup

select name,open_mode from v$database;

select instance_name,status from v$instance;

三:增强的群集资源控制命令

  1. 通过 srvctl 可以控制rac中的resource的方方面面

svrctl -h:获取所有命令的帮助

svrctl cmd -h:获取cmd命令的帮助

  1. 停止和启动Resource

在第一节中,看到直接停止集群,相关的Resource 也会被停止。 但一些实际情况下,我们操作更多的是对某些资源的操作。具体就是使用SRVCTL 命令

查看命令帮助:

srvclt –h

这个命令显示的结果太长,不好查看,可以进一步的查看帮助:

–使用-h:

$ srvctl start -h
The SRVCTL start command starts, OracleClusterware enabled, non-running objects.

 

Usage srvctl start database -ddb_unique_name [-o start_options] [-n node]

Usage srvctl start instance -d db_unique_name{-n node_name [-i inst_name]  -i inst_name_list} [-ostart_options]

Usage srvctl start service -ddb_unique_name [-s service_name_list [-nnode_name  -i inst_name] ] [-o start_options]

Usage srvctl start nodeapps [-n node_name][-g] [-v]

Usage srvctl start vip { -nnode_name  -i vip_name } [-v]

Usage srvctl start asm [-nnode_name] [-o start_options]

Usage srvctl start listener [-llsnr_name] [-n node_name]

Usage srvctl start scan [-iordinal_number] [-n node_name]

Usage srvctl start scan_listener [-nnode_name] [-i ordinal_number]

Usage srvctl start oc4j [-v]

Usage srvctl start home -ooracle_home -s state_file -n node_name

Usage srvctl start filesystem -dvolume_device [-n node_name]

Usage srvctl start diskgroup -gdg_name [-n node_list]

Usage srvctl start gns [-llog_level] [-n node_name] [-v]

Usage srvctl start cvu [-nnode_name]

For detailed help on each command andobject and its options use

 srvctl command object -h

–或者命令不敲全:

$ srvctl database
Usage srvctl commandobject [options]

   commandsenabledisablestartstoprelocatestatusaddremovemodifygetenvsetenvunsetenvconfigconvertupgrade

   objects databaseinstanceservicenodeappsvipnetworkasmdiskgrouplistenersrvpoolserverscanscan_listeneroc4jhomefilesystemgnscvu

For detailed help on each command andobject and its options use

 srvctl command -h or

 srvctl command object -h
  1. 检查集群状态
crsctl check cluster
  1. 所有Oracle实例(数据库状态)
srvctl status database -dsdd      
  1. 检查单个实例状态
srvctl status instance -itpux -i itpux1
  1. 节点应用程序状态
srvctl status nodeapps
  1. 列出所有的配置数据库
srvctl config database
  1. 数据库配置
srvctl config database -dsdd -a
  1. ASM状态以及ASM配置
srvctl status asm

srvctl status asm -a
  1. TNS监听器状态以及配置
srvctl status listener

srvctl config listener -a
  1. SCAN状态以及配置
srvctl status scan

srvctl config scan
  1. 节点应用程序配置信息(VIP、GSD、ONS、监听器)
$ srvctl config nodeapps -a -g -s -l

三.数据库与实例相关状态

srvctl config database # 列出安装的数据库

srvctl config database -d itpux -a # 检查数据库相关的信息

srvctl status database -d itpux # 检查数据库的状态

srvctl status instance -d itpux -i itpux1 # 检查指定实例的状态

srvctl config asm -a # ASM配置

srvctl status asm # ASM的状态

srvctl start database -d itpux# 启动数据库

srvctl stop database -d itpux# 关闭数据库

srvctl start instance -d itpux -i itpux1 # 启动指定的实例

srvctl stop instance -d itpux -i itpux2 # 关闭指定实例

四. 网络相关状态

srvctl status listener # 检查TNS listener的状态

srvctl config scan # SCAN的配置

srvctl status scan # SCAN listener状态, 包含当前运行节点的信息

五. 检查VIP的配置及状态

srvctl status vip -n rac1

srvctl config vip -n rac1

查看各资源状态(nodeapps节点应用程序,ASM实例,数据库等)

 crs_stat -t   

在11g R2中,默认 oc4j和gsd资源是 disable的;oc4j 是用于WLM 的一个资源, WLM在 11.2.0.2 才可用;gsd是 CRS 用于跟 9i RAC 进行通信的一个模块,是为了向后兼容才保留的,不影响性能;建议不要刪除, 也不要尝试开启他们, 忽略即可。

ora.gsd is OFFLINE by default ifthere is no 9i database in the cluster.

ora.oc4j is OFFLINE in 11.2.0.1 as DatabaseWorkload Management(DBWLM) is unavailable. these can be ignored in11gR2 RAC.

状态检查也可以使用如下命令:

crsctl stat resource –t

或者

crsctl stat resource

1、通过SRVCTL命令来startstopcheck所有的实例

 srvctl startstopstatus database -ddb_name

2、startstop指定的实例:

srvctl startstopstatusinstance -d db_name -i instance_name

3、列出当前RAC下所有的

 srvctl config database -d db_name

4、startstopcheck 所有的nodeapps,比如:VIP, GSD, listener, ONS:

 srvctl startstopstatus nodeapps -nnode_name

5、如果你使用ASM,srvctl也可以startstop ASM实例:

  srvctl startstop asm -n node_name[-i asm_inst_name] [-ooracle_home]

6、可以获取所有的环境信息:

 srvctl getenv database -d db_name [-iinstance_name]

7、设置全局环境和变量:

srvctl setenv database -ddb_name -t

8、从OCR中删除已有的数据库:

 srvctl remove database -d db_name

9、向OCR中添加一个数据库的实例:

 srvctl add instance -d db_name -iinstance_name -n node1

 srvctl add instance -d db_name -iinstance_name -n node2
oracle rac日常基本维护命令 所有实例和服务的状态 $ srvctl status database -d orcl Instance orcl1 is running on node linux1 Instance orcl2 is running on node linux2 单个实例的状态 $ srvctl status instance -d orcl -i orcl2 Instance orcl2 is running on node linux2 在数据库全局命名服务的状态 $ srvctl status service -d orcl -s orcltest Service orcltest is running on instance(s) orcl2, orcl1 特定节点上节点应用程序的状态 $ srvctl status nodeapps -n linux1 VIP is running on node: linux1 GSD is running on node: linux1 Listener is running on node: linux1 ONS daemon is running on node: linux1 ASM 实例的状态 $ srvctl status asm -n linux1 ASM instance +ASM1 is running on node linux1. 列出配置的所有数据库 $ srvctl config database orcl 显示 RAC 数据库的配置 $ srvctl config database -d orcl linux1 orcl1 /u01/app/oracle/product/10.2.0/db_1 linux2 orcl2 /u01/app/oracle/product/10.2.0/db_1 显示指定集群数据库的所有服务 $ srvctl config service -d orcl orcltest PREF: orcl2 orcl1 AVAIL: 显示节点应用程序的配置 —(VIP、GSD、ONS、监听器) $ srvctl config nodeapps -n linux1 -a -g -s -l VIP exists.: /linux1-vip/192.168.1.200/255.255.255.0/eth0:eth1 GSD exists. ONS daemon exists. Listener exists. 显示 ASM 实例的配置 $ srvctl config asm -n linux1 +ASM1 /u01/app/oracle/product/10.2.0/db_1 集群中所有正在运行的实例 SELECT inst_id , instance_number inst_no , instance_name inst_name , parallel , status , database_status db_status , active_state state , host_name host FROM gv$instance ORDER BY inst_id; INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST -------- -------- ---------- --- ------- ------------ --------- ------- 1 1 orcl1 YES OPEN ACTIVE NORMAL rac1 2 2 orcl2 YES OPEN ACTIVE NORMAL rac2 位于磁盘组中的所有数据文件 select name from v$datafile union select member from v$logfile union select name from v$controlfile union select name from v$tempfile; NAME ------------------------------------------- +FLASH_RECOVERY_AREA/orcl/controlfile/current.258.570913191 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_1.257.570913201 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_2.256.570913211 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_3.259.570918285 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_4.260.570918295 +ORCL_DATA1/orcl/controlfile/current.259.570913189 +ORCL_DATA1/orcl/datafile/example.257.570913311 +ORCL_DATA1/orcl/datafile/indx.270.570920045 +ORCL_DATA1/orcl/datafile/sysaux.260.570913287 +ORCL_DATA1/orcl/datafile/system.262.570913215 +ORCL_DATA1/orcl/datafile/undotbs1.261.570913263 +ORCL_DATA1/orcl/datafile/undotbs1.271.570920865 +ORCL_DATA1/orcl/datafile/undotbs2.265.570913331 +ORCL_DATA1/orcl/datafile/undotbs2.272.570921065 +ORCL_DATA1/orcl/datafile/users.264.570913355 +ORCL_DATA1/orcl/datafile/users.269.570919829 +ORCL_DATA1/orcl/onlinelog/group_1.256.570913195 +ORCL_DATA1/orcl/onlinelog/group_2.263.570913205 +ORCL_DATA1/orcl/onlinelog/group_3.266.570918279 +ORCL_DATA1/orcl/onlinelog/group_4.267.570918289 +ORCL_DATA1/orcl/tempfile/temp.258.570913303 21 rows selected. 属于“ORCL_DATA1”磁盘组的所有 ASM 磁盘 SELECT path FROM v$asm_disk WHERE group_number IN (select group_number from v$asm_diskgroup where name = 'ORCL_DATA1'); PATH ---------------------------------- ORCL:VOL1 ORCL:VOL2  二: 启动/停止RAC集群 确保是以 oracle UNIX 用户登录的。我们将从rac1节点运行所有命令: # su – oracle $ hostname Rac1 停止 Oracle RAC 10g 环境 第一步是停止 Oracle 实例。当此实例(和相关服务)关闭后,关闭 ASM 实例。最后,关闭节点应用程序(虚拟IP、GSD、TNS 监听器和 ONS)。 $ export ORACLE_SID=orcl1 $ emctl stop dbconsole $ srvctl stop instance -d orcl -i orcl1 $ srvctl stop asm -n rac1 $ srvctl stop nodeapps –n rac1 启动 Oracle RAC 10g 环境 第一步是启动节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。当成功启动节点应用程序后,启动 ASM 实例。最后,启动 Oracle 实例(和相关服务)以及企业管理器数据库控制台。 $ export ORACLE_SID=orcl1 $ srvctl start nodeapps -n rac1 $ srvctl start asm -n rac1 $ srvctl start instance -d orcl -i orcl1 $ emctl start dbconsole 使用 SRVCTL 启动/停止所有实例 启动/停止所有实例及其启用的服务。我只是觉得有意思就把此步骤作为关闭所有实例的一种方法加进来了! $ srvctl start database -d orcl $ srvctl stop database -d orcl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值