首页 > 代码库 > asm instnace ASMB
asm instnace ASMB
oracle 11g 2 如何停止ASM
[oracle@rac1 ~]$ ps -ef|grep asm
oracle 6089 1 0 15:39 ? 00:00:00 asm_pmon_+ASM --15oracle 6093 1 0 15:39 ? 00:00:00 asm_vktm_+ASM
oracle 6099 1 0 15:39 ? 00:00:00 asm_gen0_+ASM
oracle 6103 1 0 15:39 ? 00:00:00 asm_diag_+ASM
oracle 6107 1 0 15:39 ? 00:00:00 asm_psp0_+ASM
oracle 6111 1 0 15:39 ? 00:00:00 asm_dia0_+ASM
oracle 6115 1 0 15:39 ? 00:00:00 asm_mman_+ASM
oracle 6119 1 0 15:39 ? 00:00:00 asm_dbw0_+ASM
oracle 6123 1 0 15:39 ? 00:00:00 asm_lgwr_+ASM
oracle 6127 1 0 15:39 ? 00:00:00 asm_ckpt_+ASM
oracle 6131 1 0 15:39 ? 00:00:00 asm_smon_+ASM
oracle 6135 1 0 15:39 ? 00:00:00 asm_rbal_+ASM
oracle 6139 1 0 15:39 ? 00:00:00 asm_gmon_+ASM
oracle 6143 1 0 15:39 ? 00:00:00 asm_mmon_+ASM
oracle 6147 1 0 15:39 ? 00:00:00 asm_mmnl_+ASM
oracle 6190 5782 0 15:40 pts/3 00:00:00 grep asm
[oracle@rac1 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 31 15:46:03 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> show parameter local
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
local_listener string 【和数据库交互】【如果rac也没有配置 会有怎样的隐患呢】 【无】]
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Automatic Storage Management option
[oracle@rac1 ~]$ srvctl start database -d asmdb
[oracle@rac1 ~]$ ps -ef|grep asm_
oracle 6089 1 0 15:39 ? 00:00:00 asm_pmon_+ASM
oracle 6093 1 0 15:39 ? 00:00:01 asm_vktm_+ASM
oracle 6099 1 0 15:39 ? 00:00:00 asm_gen0_+ASM
oracle 6103 1 0 15:39 ? 00:00:00 asm_diag_+ASM
oracle 6107 1 0 15:39 ? 00:00:00 asm_psp0_+ASM
oracle 6111 1 0 15:39 ? 00:00:00 asm_dia0_+ASM
oracle 6115 1 0 15:39 ? 00:00:00 asm_mman_+ASM
oracle 6119 1 0 15:39 ? 00:00:00 asm_dbw0_+ASM
oracle 6123 1 0 15:39 ? 00:00:00 asm_lgwr_+ASM
oracle 6127 1 0 15:39 ? 00:00:00 asm_ckpt_+ASM
oracle 6131 1 0 15:39 ? 00:00:00 asm_smon_+ASM
oracle 6135 1 0 15:39 ? 00:00:00 asm_rbal_+ASM
oracle 6139 1 0 15:39 ? 00:00:00 asm_gmon_+ASM
oracle 6143 1 0 15:39 ? 00:00:00 asm_mmon_+ASM
oracle 6147 1 0 15:39 ? 00:00:00 asm_mmnl_+ASM
oracle 6444 1 0 15:46 ? 00:00:00 asm_asmb_+ASM ---------------- 集群中 该进程不可以被随便杀了
oracle 6452 1 0 15:46 ? 00:00:00 asm_o000_+ASM ----------------
oracle 6448 1 0 15:46 ? 00:00:00 oracle+ASM_asmb_+asm (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 6452 1 0 15:46 ? 00:00:00 asm_o000_+ASM
oracle 6456 1 0 15:46 ? 00:00:00 oracle+ASM_o000_+asm (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 6577 1 0 15:46 ? 00:00:00 oracle+ASM_asmb_asmdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 6647 1 0 15:47 ? 00:00:00 oracle+ASM_o000_asmdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 6721 5782 0 15:47 pts/3 00:00:00 grep asm
[oracle@rac1 ~]$
ASM 实例比RDBMS 实例多2个进程: RBAL 和 ABRn。
RBAL: 这个进程也叫Rebalancer进程, 负责规划ASM 磁盘组的Reblance活动。
ABRn:是RBAL进程的子进程,这个进程在数量上可以有多个, n从1~9, 这组进程负责真正完成Reblance活动。
使用ASM 作为存储的RDBMS 实例也会多出2个进程: RBAL 和 ASMB
RBAL: 这个进程的主要功能是打开每个磁盘的所有磁盘和数据的Rebalance。
ASMB: 这个进程作为ASM 实例和数据库实例之间的信息通道。 这个进程负责与ASM 实例的通信,
它先利用Diskgroup Name 从CSS 获得管理该Diskgroup 的ASM 实例的连接串, 然后建立到ASM 的持久连接,
两个实例之间通过这条连接定期交换信息,同时也是一种心跳机制。
RDBMS 实例要想使用ASM 作为存储, RDBMS 实例必须在启动时从ASM 实例获得Extent Map,
以后发生磁盘组的维护操作, ASM 实例还要把Extent Map的更新信息通知给RDBMS 实例,
这2个实例间的信息交换就是他你哦刚过ASMB 进程完成的。 这也就为什么: ASM 实例必须要先于数据库实例启动,
和数据库实例同步运行,迟于数据库实例关闭。
rac2-> ps -ef|grep ASM
grid 5153 1 0 08:57 ? 00:00:00 asm_pmon_+ASM2
grid 5157 1 0 08:57 ? 00:00:02 asm_vktm_+ASM2
grid 5163 1 0 08:57 ? 00:00:00 asm_gen0_+ASM2
grid 5167 1 0 08:57 ? 00:00:01 asm_diag_+ASM2
grid 5171 1 0 08:57 ? 00:00:00 asm_ping_+ASM2
grid 5175 1 0 08:57 ? 00:00:00 asm_psp0_+ASM2
grid 5179 1 0 08:57 ? 00:00:03 asm_dia0_+ASM2
grid 5184 1 0 08:57 ? 00:00:02 asm_lmon_+ASM2
grid 5188 1 0 08:57 ? 00:00:01 asm_lmd0_+ASM2
grid 5194 1 0 08:57 ? 00:00:01 asm_lms0_+ASM2
grid 5200 1 0 08:57 ? 00:00:00 asm_lmhb_+ASM2
grid 5204 1 0 08:57 ? 00:00:00 asm_mman_+ASM2
grid 5208 1 0 08:57 ? 00:00:00 asm_dbw0_+ASM2
grid 5212 1 0 08:57 ? 00:00:00 asm_lgwr_+ASM2
grid 5216 1 0 08:57 ? 00:00:00 asm_ckpt_+ASM2
grid 5220 1 0 08:57 ? 00:00:00 asm_smon_+ASM2
grid 5224 1 0 08:57 ? 00:00:00 asm_rbal_+ASM2
grid 5228 1 0 08:57 ? 00:00:00 asm_gmon_+ASM2
grid 5232 1 0 08:57 ? 00:00:00 asm_mmon_+ASM2
grid 5236 1 0 08:57 ? 00:00:00 asm_mmnl_+ASM2
grid 5245 1 0 08:57 ? 00:00:00 asm_lck0_+ASM2
grid 5299 1 0 08:58 ? 00:00:00 asm_asmb_+ASM2
grid 5304 1 0 08:58 ? 00:00:00 oracle+ASM2_asmb_+asm2 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
grid 5334 1 0 08:58 ? 00:00:00 oracle+ASM2_ocr (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))--DG关闭后关闭
grid 6428 6177 0 09:11 pts/2 00:00:00 grep ASM
rac2-> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINE rac1
ora....ER.lsnr ora....er.type ONLINE ONLINE rac1
ora....N1.lsnr ora....er.type ONLINE ONLINE rac1
ora....N2.lsnr ora....er.type ONLINE ONLINE rac2
ora....N3.lsnr ora....er.type ONLINE ONLINE rac2
ora.asm ora.asm.type ONLINE ONLINE rac1
ora.eons ora.eons.type ONLINE ONLINE rac1
ora.gsd ora.gsd.type ONLINE ONLINE rac1
ora....network ora....rk.type ONLINE ONLINE rac1
ora.oc4j ora.oc4j.type OFFLINE OFFLINE
ora.ons ora.ons.type ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip ora....t1.type ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application OFFLINE OFFLINE
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip ora....t1.type ONLINE ONLINE rac2
ora.racdb.db ora....se.type ONLINE ONLINE rac1
ora.scan1.vip ora....ip.type ONLINE ONLINE rac1
ora.scan2.vip ora....ip.type ONLINE ONLINE rac2
ora.scan3.vip ora....ip.type ONLINE ONLINE rac2
rac2-> srvctl stop diskgroup -h
Stops the diskgroup.
Usage: srvctl stop diskgroup -g <dg_name> [-n "<node_list>"] [-f]
-g <dg_name> Disk Group name
-n "<node_list>" Comma separated node names
-f Force stop
-h Print usage
rac2-> srvctl stop diskgroup -g data -n rac2
rac2->
rac2->
rac2-> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINE rac1
ora....ER.lsnr ora....er.type ONLINE ONLINE rac1
ora....N1.lsnr ora....er.type ONLINE ONLINE rac1
ora....N2.lsnr ora....er.type ONLINE ONLINE rac2
ora....N3.lsnr ora....er.type ONLINE ONLINE rac2
ora.asm ora.asm.type ONLINE ONLINE rac1
ora.eons ora.eons.type ONLINE ONLINE rac1
ora.gsd ora.gsd.type ONLINE ONLINE rac1
ora....network ora....rk.type ONLINE ONLINE rac1
ora.oc4j ora.oc4j.type OFFLINE OFFLINE
ora.ons ora.ons.type ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip ora....t1.type ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application OFFLINE OFFLINE
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip ora....t1.type ONLINE ONLINE rac2
ora.racdb.db ora....se.type ONLINE ONLINE rac1
ora.scan1.vip ora....ip.type ONLINE ONLINE rac1
ora.scan2.vip ora....ip.type ONLINE ONLINE rac2
ora.scan3.vip ora....ip.type ONLINE ONLINE rac2
rac2-> srvctl status diskgroup -g data
Disk Group data is running on rac1
rac2-> ps -ef|grep asm
grid 5153 1 0 08:57 ? 00:00:00 asm_pmon_+ASM2
grid 5157 1 0 08:57 ? 00:00:02 asm_vktm_+ASM2
grid 5163 1 0 08:57 ? 00:00:00 asm_gen0_+ASM2
grid 5167 1 0 08:57 ? 00:00:01 asm_diag_+ASM2
grid 5171 1 0 08:57 ? 00:00:00 asm_ping_+ASM2
grid 5175 1 0 08:57 ? 00:00:00 asm_psp0_+ASM2
grid 5179 1 0 08:57 ? 00:00:04 asm_dia0_+ASM2
grid 5184 1 0 08:57 ? 00:00:02 asm_lmon_+ASM2
grid 5188 1 0 08:57 ? 00:00:01 asm_lmd0_+ASM2
grid 5194 1 0 08:57 ? 00:00:01 asm_lms0_+ASM2
grid 5200 1 0 08:57 ? 00:00:00 asm_lmhb_+ASM2
grid 5204 1 0 08:57 ? 00:00:00 asm_mman_+ASM2
grid 5208 1 0 08:57 ? 00:00:00 asm_dbw0_+ASM2
grid 5212 1 0 08:57 ? 00:00:00 asm_lgwr_+ASM2
grid 5216 1 0 08:57 ? 00:00:00 asm_ckpt_+ASM2
grid 5220 1 0 08:57 ? 00:00:00 asm_smon_+ASM2
grid 5224 1 0 08:57 ? 00:00:00 asm_rbal_+ASM2
grid 5228 1 0 08:57 ? 00:00:00 asm_gmon_+ASM2
grid 5232 1 0 08:57 ? 00:00:00 asm_mmon_+ASM2
grid 5236 1 0 08:57 ? 00:00:00 asm_mmnl_+ASM2
grid 5245 1 0 08:57 ? 00:00:00 asm_lck0_+ASM2
grid 5299 1 0 08:58 ? 00:00:00 asm_asmb_+ASM2
grid 5304 1 0 08:58 ? 00:00:00 oracle+ASM2_asmb_+asm2 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
grid 6584 6177 0 09:13 pts/2 00:00:00 grep asm
ORA-15097: cannot SHUTDOWN ASM instance with connected client
srvctl stop asm -n enode1 -f
PRCR-1014 : Failed to stop resource ora.asm
PRCR-1065 : Failed to stop resource ora.asm
CRS-2673: Attempting to stop ‘ora.asm‘ on ‘enode1‘
ORA-15097: cannot SHUTDOWN ASM instance with connected client
CRS-2675: Stop of ‘ora.asm‘ on ‘enode1‘ failed
CRS-2675: Stop of ‘ora.asm‘ on ‘enode1‘ failed
RAC 环境是Oracle 11gR2。 在Metalink上搜了一下,明白咋回事了。 还是习惯的问题。
在Oracle 10g 环境下,我们停RAC的顺序是:
(1)数据库
(2)ASM
(3)CRS
但是在Oracle 11gR2下,如果是用OUI来安装的话,除了数据文件之外,OCR 也是放在ASM里的。 11gR2是支持RAW设备的,但是需要手动的安装。
所以这里就遇到了问题。 OCR也是放在ASM里的,这样CRSD 就会成为ASM的客户端。 如果我们像Oracle 10g里那样直接停ASM的时候,就会报上面的错误。 所以,在11gR2下面,要停ASM实例的话,只能和CRS一起停。
在root用户下执行:crsctl stop crs
注意:不要直接kill 掉ASM 进程,或者用shutdown abort 来关闭ASM 实例。 这样CRS 也会被挂掉。
[root@rac2 ~]# crsctl stop cluster -n rac2
CRS-2673: Attempting to stop ‘ora.crsd‘ on ‘rac2‘
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on ‘rac2‘
CRS-2673: Attempting to stop ‘ora.asm‘ on ‘rac2‘
CRS-2677: Stop of ‘ora.asm‘ on ‘rac2‘ succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on ‘rac2‘ has completed
CRS-2677: Stop of ‘ora.crsd‘ on ‘rac2‘ succeeded
CRS-2673: Attempting to stop ‘ora.cssdmonitor‘ on ‘rac2‘
CRS-2673: Attempting to stop ‘ora.ctssd‘ on ‘rac2‘
CRS-2673: Attempting to stop ‘ora.evmd‘ on ‘rac2‘
CRS-2673: Attempting to stop ‘ora.asm‘ on ‘rac2‘
CRS-2677: Stop of ‘ora.cssdmonitor‘ on ‘rac2‘ succeeded
CRS-2677: Stop of ‘ora.evmd‘ on ‘rac2‘ succeeded
CRS-2677: Stop of ‘ora.ctssd‘ on ‘rac2‘ succeeded
CRS-2677: Stop of ‘ora.asm‘ on ‘rac2‘ succeeded
CRS-2673: Attempting to stop ‘ora.cssd‘ on ‘rac2‘
CRS-2677: Stop of ‘ora.cssd‘ on ‘rac2‘ succeeded
CRS-2673: Attempting to stop ‘ora.diskmon‘ on ‘rac2‘
CRS-2677: Stop of ‘ora.diskmon‘ on ‘rac2‘ succeeded
[root@rac2 ~]# crsctl start cluster -n rac2
CRS-2672: Attempting to start ‘ora.cssdmonitor‘ on ‘rac2‘
CRS-2676: Start of ‘ora.cssdmonitor‘ on ‘rac2‘ succeeded
CRS-2672: Attempting to start ‘ora.cssd‘ on ‘rac2‘
CRS-2672: Attempting to start ‘ora.diskmon‘ on ‘rac2‘
CRS-2676: Start of ‘ora.diskmon‘ on ‘rac2‘ succeeded
CRS-2676: Start of ‘ora.cssd‘ on ‘rac2‘ succeeded
CRS-2672: Attempting to start ‘ora.ctssd‘ on ‘rac2‘
CRS-2676: Start of ‘ora.ctssd‘ on ‘rac2‘ succeeded
CRS-2672: Attempting to start ‘ora.asm‘ on ‘rac2‘
CRS-2672: Attempting to start ‘ora.evmd‘ on ‘rac2‘
CRS-2676: Start of ‘ora.evmd‘ on ‘rac2‘ succeeded
CRS-2676: Start of ‘ora.asm‘ on ‘rac2‘ succeeded
CRS-2672: Attempting to start ‘ora.crsd‘ on ‘rac2‘
CRS-2676: Start of ‘ora.crsd‘ on ‘rac2‘ succeeded
[root@rac2 ~]# ps -ef|grep pmon
grid 7946 1 0 09:31 ? 00:00:00 asm_pmon_+ASM2
root 8477 4642 0 09:32 pts/2 00:00:00 grep pmon
rac2-> srvctl modify listener -p 1522
rac2-> srvctl stop listener -n rac2
rac2-> srvctl start listener -n rac2
SQL> conn / as sysdba
Connected.
SQL> alter system set local_listener=‘(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip)(PORT=1521))))‘ sid=‘+ASM2‘;
System altered.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Real Application Clusters and Automatic Storage Management options
rac2-> srvctl modify listener -p 1521
rac2-> lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 01-AUG-2014 10:02:32
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 01-AUG-2014 09:57:21
Uptime 0 days 0 hr. 5 min. 11 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/rac2/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.32)(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.52)(PORT=1522)))
The listener supports no services
The command completed successfully
rac2-> srvctl stop listener -n rac2
rac2-> srvctl start listener -n rac2