十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Oracle 10g时代,我们很羡慕那些懂得Oracle9i的DBA,而不知不觉中度过了Oracle11g并迎接了12c时代,但是还是有不少DBA习惯于Oracle 10g的管理思维,尤其是在管理或安装Oracle 11g RAC时,偶尔感到不知错所。
在Oracle 11gR2 下的RAC,架构发生了变化,多了grid用户、警告日志位置也发生变化等。CRS的信息也是放在ASM 实例里的,所以要关asm,必须关闭crs,在Oracle
11g环境 RAC + ASM之间层次架构如下图所示:
在高阳等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、成都网站设计 网站设计制作按需设计网站,公司网站建设,企业网站建设,成都品牌网站建设,网络营销推广,成都外贸网站制作,高阳网站建设费用合理。
而Oracle10g的RAC环境中,CRS的信息放在裸设备上,因此关闭asm后才关闭CRS才是正确的。
除以上资源之外,我们还需要了解OHASD 资源,英文解释如下:
Oracle High Availability Services Daemon (OHASD) :This process anchors the lower part of the Oracle Clusterware stack, which consists of processes that facilitate cluster operations.
在11gR2里面启动CRS的时候,会提示ohasd已经启动。 那么这个OHASD到底包含哪些资源。 可以通过如下命令来查看:
[grid@oracle1 ~]$ crsctl status resource -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATADG.dg
ONLINE ONLINE oracle1
ONLINE ONLINE oracle2
ora.FRADG.dg
ONLINE ONLINE oracle1
ONLINE ONLINE oracle2
ora.LISTENER.lsnr
ONLINE ONLINE oracle1
ONLINE ONLINE oracle2
ora.OCRVT.dg
ONLINE ONLINE oracle1
ONLINE ONLINE oracle2
ora.asm
ONLINE ONLINE oracle1 Started
ONLINE ONLINE oracle2 Started
ora.gsd
OFFLINE OFFLINE oracle1
OFFLINE OFFLINE oracle2
ora.net1.network
ONLINE ONLINE oracle1
ONLINE ONLINE oracle2
ora.ons
ONLINE ONLINE oracle1
ONLINE ONLINE oracle2
ora.registry.acfs
ONLINE ONLINE oracle1
ONLINE ONLINE oracle2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE oracle1
ora.cvu
1 ONLINE ONLINE oracle2
ora.oc4j
1 ONLINE ONLINE oracle2
ora.oracle1.vip
1 ONLINE ONLINE oracle1
ora.oracle2.vip
1 ONLINE ONLINE oracle2
ora.scan1.vip
1 ONLINE ONLINE oracle1
ora.sjjczr.db
1 ONLINE ONLINE oracle1 Open
2 ONLINE ONLINE oracle2 Open
[grid@oracle1 ~]$
在Oracle 10g中CRS Resource 包括GSD(Global Serveice Daemon),ONS(Oracle Notification Service),VIP, Database, Instance 和 Service。
在11.2中,对CRSD资源进行了重新分类: Local Resources 和 Cluster Resources。 OHASD 指的就是Cluster Resource.
1. Oracle 11g RAC关闭和启动相关命令
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
crsctl start cluster [[-all]|[-n
该参数支持的选项更多,可以同时操控所有的节点。如果不指定参数,那么只对当前节点有效。
如:
[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
用法: srvctl stop nodeapps [-n
用法: srvctl status nodeapps
用法: srvctl start vip { -n
用法: srvctl stop vip { -n
用法: srvctl relocate vip -i
用法: srvctl status vip { -n
用法: srvctl start asm [-n
用法: srvctl stop asm [-n
用法: srvctl config asm [-a]
用法: srvctl status asm [-n
用法: srvctl config listener [-l
用法: srvctl start listener [-l
用法: srvctl stop listener [-l
用法: srvctl status listener [-l
用法: srvctl start scan [-i
用法: srvctl stop scan [-i
用法: srvctl relocate scan -i
用法: srvctl status scan [-i
用法: srvctl config cvu
用法: srvctl start cvu [-n
用法: srvctl stop cvu [-f]
用法: srvctl relocate cvu [-n
用法: srvctl status cvu [-n
也可以进一步查看配置信息,如下:
[grid@vcdwdb1 ~]$ srvctl start -h
SRVCTL start 命令启动启用 Oracle Clusterware 的未运行的对象。
用法: srvctl start database -d
用法: srvctl start instance -d
用法: srvctl start service -d
用法: srvctl start nodeapps [-n
用法: srvctl start vip { -n
用法: srvctl start asm [-n
用法: srvctl start listener [-l
用法: srvctl start scan [-i
用法: srvctl start scan_listener [-n
用法: srvctl start oc4j [-v]
用法: srvctl start home -o
用法: srvctl start filesystem -d
用法: srvctl start diskgroup -g
用法: srvctl start gns [-l
用法: srvctl start cvu [-n
有关各个命令和对象的详细帮助, 请使用:
srvctl