1.1 使用crsctl stop has/crsctl stop crs
用root用户,在Oracle11gR2中停止和启动集群的命令如下:
#crsctl stop has [-f]
#crsctl start has
对于crsctl stop has 只有一个可选的参数就是-f,该命令只能停执行该命令服务器上的HAS.而不能停所有节点上的。所以要把RAC 全部停掉,需要在所有节点执行该命令。
下面的2个命令:使用crs 和 使用has 效果是完全一样的:
#crsctl stop crs [-f]
#crsctl start crs
记得第一次在生产环境中安装Oracle 11gR2 RAC + ASM 时,当安装完后通过crs_stat -t 命令查看状态总觉得不太对(在节点二上是的online状态的资源数量比节点一明显少得多),想重启CRS和ASM,用了#crsctl stop crs命令(未带 [ -f ] 参数),总是不太顺利。最终重启了服务器。后来想想,实际上也可以使用crsctl stop has [-f],没比要重启服务器。
启动HAS:
[root@rac1bin]# ./crsctl start has
CRS-4123:Oracle High Availability Services has been started.
[root@rac1bin]#
从上面看只是启动了HAS。实际上后面会把Oracle Restart 管理的资源都会启动。这个可以使用crs_stat命令来进程验证。
[grid@oracle1 ~]$ crs_stat -t -v
Name Type R/RA F/FT Target State Host
----------------------------------------------------------------------
ora.DATADG.dg ora....up.type 0/5 0/ ONLINE ONLINE oracle1
ora.FRADG.dg ora....up.type 0/5 0/ ONLINE ONLINE oracle1
ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE oracle1
ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE oracle1
ora.OCRVT.dg ora....up.type 0/5 0/ ONLINE ONLINE oracle1
ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE oracle1
ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE oracle2
ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE
ora....network ora....rk.type 0/5 0/ ONLINE ONLINE oracle1
ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE oracle2
ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE oracle1
ora....SM1.asm application 0/5 0/0 ONLINE ONLINE oracle1
ora....E1.lsnr application 0/5 0/0 ONLINE ONLINE oracle1
ora....le1.gsd application 0/5 0/0 OFFLINE OFFLINE
ora....le1.ons application 0/3 0/0 ONLINE ONLINE oracle1
ora....le1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE oracle1
ora....SM2.asm application 0/5 0/0 ONLINE ONLINE oracle2
ora....E2.lsnr application 0/5 0/0 ONLINE ONLINE oracle2
ora....le2.gsd application 0/5 0/0 OFFLINE OFFLINE
ora....le2.ons application 0/3 0/0 ONLINE ONLINE oracle2
ora....le2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE oracle2
ora....ry.acfs ora....fs.type 0/5 0/ ONLINE ONLINE oracle1
ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE oracle1
ora.sjjczr.db ora....se.type 0/2 0/1 ONLINE ONLINE oracle1
1.2 使用crsctl stop cluster [-all]…
该命令的语法如下:
crsctl stop cluster [[-all]|[-n<server>[...]]] [-f]
crsctl start cluster [[-all]|[-n<server>[...]]]
该参数支持的选项更多,可以同时操控所有的节点。如果不指定参数,那么只对当前节点有效。
如:
[root@rac1 ~]# ./crsctl start cluster -n rac1 rac2
--停止当前节点集群:
[root@rac1 bin]# ./crsctl stop cluster
2.停止和启动Resource
当直接停止集群时,相关的Resource 也会被停止。 但实际情况下,我们操作更多的是对某些资源的启动或关闭等操作。具体就是使用SRVCTL 命令。该命令不常用总被忘记,因此可以用帮助选项 –h 来查看命令帮助:
[grid@rac1 ~]$ Srvclt –h
这个命令显示的结果太长,不好查看,可以进一步的查看帮助:
[grid@rac1 ~]$ srvctl start -h
RAC 运行状态通用的命令如下:
[root@vcdwdb1 ~]# srvctl -h
-bash: srvctl: command not found
[root@vcdwdb1 ~]# su - grid
[grid@vcdwdb1 ~]$ srvctl -h
用法: srvctl [-V] --显示内容很多,如下对内容进行了挑选后粘贴
用法: srvctl start nodeapps [-n <node_name>] [-g] [-v]
用法: srvctl stop nodeapps [-n <node_name>] [-g] [-f] [-r] [-v]
用法: srvctl status nodeapps
用法: srvctl start vip { -n <node_name> | -i <vip_name> } [-v]
用法: srvctl stop vip { -n <node_name> | -i <vip_name> } [-f] [-r] [-v]
用法: srvctl relocate vip -i <vip_name> [-n <node_name>] [-f] [-v]
用法: srvctl status vip { -n <node_name> | -i <vip_name> } [-v]
用法: srvctl start asm [-n <node_name>] [-o <start_options>]
用法: srvctl stop asm [-n <node_name>] [-o <stop_options>] [-f]
用法: srvctl config asm [-a]
用法: srvctl status asm [-n <node_name>] [-a] [-v]
用法: srvctl config listener [-l <lsnr_name>] [-a]
用法: srvctl start listener [-l <lsnr_name>] [-n <node_name>]
用法: srvctl stop listener [-l <lsnr_name>] [-n <node_name>] [-f]
用法: srvctl status listener [-l <lsnr_name>] [-n <node_name>] [-v]
用法: srvctl start scan [-i <ordinal_number>] [-n <node_name>]
用法: srvctl stop scan [-i <ordinal_number>] [-f]
用法: srvctl relocate scan -i <ordinal_number> [-n <node_name>]
用法: srvctl status scan [-i <ordinal_number>] [-v]
用法: srvctl config cvu
用法: srvctl start cvu [-n <node_name>]
用法: srvctl stop cvu [-f]
用法: srvctl relocate cvu [-n <node_name>]
用法: srvctl status cvu [-n <node_name>]
也可以进一步查看配置信息,如下:
[grid@vcdwdb1 ~]$ srvctl start -h
SRVCTL start 命令启动启用 Oracle Clusterware 的未运行的对象。
用法: srvctl start database -d <db_unique_name> [-o <start_options>] [-n <node>]
用法: srvctl start instance -d <db_unique_name> {-n <node_name> [-i <inst_name>] | -i <inst_name_list>} [-o <start_options>]
用法: srvctl start service -d <db_unique_name> [-s "<service_name_list>" [-n <node_name> | -i <inst_name>] ] [-o <start_options>]
用法: srvctl start nodeapps [-n <node_name>] [-g] [-v]
用法: srvctl start vip { -n <node_name> | -i <vip_name> } [-v]
用法: srvctl start asm [-n <node_name>] [-o <start_options>]
用法: srvctl start listener [-l <lsnr_name>] [-n <node_name>]
用法: srvctl start scan [-i <ordinal_number>] [-n <node_name>]
用法: srvctl start scan_listener [-n <node_name>] [-i <ordinal_number>]
用法: srvctl start oc4j [-v]
用法: srvctl start home -o <oracle_home> -s <state_file> -n <node_name>
用法: srvctl start filesystem -d <volume_device> [-n <node_name>]
用法: srvctl start diskgroup -g <dg_name> [-n "<node_list>"]
用法: srvctl start gns [-l <log_level>] [-n <node_name>] [-v]
用法: srvctl start cvu [-n <node_name>]
有关各个命令和对象的详细帮助, 请使用:
srvctl <command> <object> -h
[grid@vcdwdb1 ~]$ srvctl start listener -h
启动监听程序。
用法: srvctl start listener [-l <lsnr_name>] [-n <node_name>]
-l <lsnr_name> 监听程序名
-n <node_name> 节点名
-h 输出用法
[grid@vcdwdb1 ~]$
[grid@vcdwdb1 ~]$ srvctl status -h
SRVCTL status 命令显示对象的当前状态。
用法: srvctl status database -d <db_unique_name> [-f] [-v]
用法: srvctl status instance -d <db_unique_name> {-n <node_name> | -i <inst_name_list>} [-f] [-v]
用法: srvctl status service -d <db_unique_name> [-s "<service_name_list>"] [-f] [-v]
用法: srvctl status nodeapps
用法: srvctl status vip { -n <node_name> | -i <vip_name> } [-v]
用法: srvctl status listener [-l <lsnr_name>] [-n <node_name>] [-v]
用法: srvctl status asm [-n <node_name>] [-a] [-v]
用法: srvctl status scan [-i <ordinal_number>] [-v]
用法: srvctl status scan_listener [-i <ordinal_number>] [-v]
用法: srvctl status srvpool [-g <pool_name>] [-a]
用法: srvctl status server -n "<server_list>" [-a]
用法: srvctl status oc4j [-n <node_name>] [-v]
用法: srvctl status home -o <oracle_home> -s <state_file> -n <node_name>
用法: srvctl status filesystem -d <volume_device> [-v]
用法: srvctl status diskgroup -g <dg_name> [-n "<node_list>"] [-a] [-v]
用法: srvctl status cvu [-n <node_name>]
用法: srvctl status gns [-n <node_name>] [-v]
有关各个命令和对象的详细帮助, 请使用:
srvctl <command> <object> -h
[grid@vcdwdb1 ~]$ srvctl config -h
SRVCTL config 命令显示存储在 OCR 中的对象配置。
用法: srvctl config database [-d <db_unique_name> [-a] ] [-v]
用法: srvctl config service -d <db_unique_name> [-s <service_name>] [-v]
用法: srvctl config nodeapps [-a] [-g] [-s]
用法: srvctl config vip { -n <node_name> | -i <vip_name> }
用法: srvctl config network [-k <network_number>]
用法: srvctl config asm [-a]
用法: srvctl config listener [-l <lsnr_name>] [-a]
用法: srvctl config scan [-i <ordinal_number>]
用法: srvctl config scan_listener [-i <ordinal_number>]
用法: srvctl config srvpool [-g <pool_name>]
用法: srvctl config oc4j
用法: srvctl config filesystem -d <volume_device>
用法: srvctl config gns [-a] [-d] [-k] [-m] [-n <node_name>] [-p] [-s] [-V] [-q <name>] [-l] [-v]
用法: srvctl config cvu
有关各个命令和对象的详细帮助, 请使用:
srvctl <command> <object> -h
例如:
[grid@vcdwdb1 ~]$ srvctl config asm
ASM 主目录: /u01/app/11.2.0/grid_home
ASM 监听程序: LISTENER
[grid@vcdwdb1 ~]$ srvctl config asm -a
ASM 主目录: /u01/app/11.2.0/grid_home
ASM 监听程序: LISTENER
ASM 已启用。
[grid@vcdwdb1 ~]$
[grid@vcdwdb1 ~]$ srvctl config listener -a
名称: LISTENER
网络: 1, 所有者: grid
主目录: <CRS home>
节点 vcdwdb2,vcdwdb1 上的 /u01/app/11.2.0/grid_home
端点: TCP:1521
总结:
在Oracle 11g环境中,Oracle的关闭和启动顺序如下:
关闭顺序:
1、关闭数据库,oracl用户执行srvctl命令:
[oracle@rac1 ~]$ srvctl stop database -d ORCL ---停止所有节点上的实例
或者每个节点登录数据库后执行SQL>shutdown immediate
2,停止HAS(High Availability Services),必须以root用户
[root@rac1 oracle]# cd /u01/grid/11.2.0/grid/bin
[root@rac1 bin]# ./crsctl stop has –f
3,停止集群服务,必须以root用户:
[root@rac1 oracle]# cd /u01/grid/11.2.0/grid/bin
[root@rac1 bin]# ./crsctl stop cluster -all ----停止所有节点服务
或[root@rac1 bin]# ./crsctl stop cluster ----停止本节点集群服务,每个节点分别执行
也可以如下控制所停节点:
[root@rac1 bin]# ./crsctl stop cluster -n rac1 rac2
如果在一个节点停止其他所有节点的,而不一一执行命令,则也可以采用:
[root@rac1 bin]# ./crsctl stop cluster –all
启动顺序:
11g R2的RAC默认开机会自启动,当然如果需要手工启动。手工启动按照cluster, HAS, database的顺序启动即可,具体命令如下:
1、启动集群(cluster)
[root@rac1 ~]# ./crsctl start cluster -all --所有节点同时启动
或者只启动指定节点的
[root@rac1 ~]# ./crsctl start cluster -n rac1 rac2 --两个节点同时启动
2、启动HAS(High Availability Services),必须以root用户
[root@rac1 bin]# ./crsctl start has
以上has启动命令需要在每个节点分别执行
3、启动数据库,oracl用户执行srvctl命令(假设数据库名为ORCL):
[oracle@rac1 ~]$ srvctl start database -d ORCL ---停止所有节点上的实例
或者每个节点登录数据库后执行SQL>startup
使用crs_stat命令来进程验证。
[grid@oracle1 ~]$ crs_stat -t -v
Oracle 11g RAC启动和关闭(2)
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://www.heiqu.com/ceb1d6c885ed8eefffb8c82b7a364b2e.html