ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【RAC】asm_diskgroups 参数

【RAC】asm_diskgroups 参数

原创 Linux操作系统 作者:杨奇龙 时间:2011-09-05 17:22:06 0 删除 编辑
初始化参数asm_diskgroups指定了在ASM实例启动时,或执行alter diskgroup all mount语句时,被挂载的磁盘组的名字,即当ASM实例启动的时候,会挂载这个参数指定的所有磁盘组,或当执行alter diskgroup all mount/dismount语句时,也会挂载这个参数指定的所有磁盘组。
关于此参数的值,是由ASM自动维护的,不需要人去干预,修改。
1 当成功创建一个磁盘组或是挂载一个磁盘组时,磁盘组的名字将会自动添加到此参数中。
2 当删除或卸载一个磁盘组时,磁盘组的名字也将相应地从这个参数中移除。
注意:
如果挂载或卸载使用的是alter diskgroup all mount或alter diskgroup all dismount,此参数的值将不会发生变化!
只有在挂载或卸载时执行alter diskgroup xxx mount或alter diskgroup xxx dismount时,才会影响此参数的值。
做实验如下:
SQL> select name,STATE from v$asm_diskgroup; 
NAME    STATE
-----   --------
DATA1   MOUNTED

SQL> create diskgroup DATA2 external redundancy  disk 'ORCL:VOL201','ORCL:VOL202','ORCL:VOL203','ORCL:VOL204'; 
Diskgroup created.
SQL> select name,STATE from v$asm_diskgroup; 
NAME            STATE
--------------- ---------------
DATA1           MOUNTED
DATA2           MOUNTED
SQL> show parameter asm_diskgroups; 
NAME            TYPE       VALUE
-------------- --------   -------------
asm_diskgroups  string     DATA2
SQL> create pfile='/tmp/asm_20110905.ora' from spfile;
File created.
查看文件内容:
[root@rac1 tmp]# cat asm_20110905.ora 
+ASM1.__oracle_base='/opt/rac/grid'#ORACLE_BASE set from in memory value
+ASM2.__oracle_base='/opt/rac/grid'#ORACLE_BASE set from in memory value
+ASM1.asm_diskgroups='DATA2'#Manual Mount
*.asm_power_limit=1
*.diagnostic_dest='/opt/rac/grid'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='EXCLUSIVE'

在节点2上
SQL> alter system set asm_diskgroups='DATA2' scope=spfile sid='+ASM2';
System altered.
SQL> show parameter asm_diskgroups; 
##这里手工操作以后,asm_diskgroups里面是没有信息的!!
NAME             TYPE         VALUE
--------------- ------------ ---------------
asm_diskgroups  string  
SQL> create pfile='/tmp/asm_20110905.ora' from spfile;
File created.  
查看生成的文件!
[root@rac2 tmp]# cat asm_20110905.ora 
+ASM1.__oracle_base='/opt/rac/grid'#ORACLE_BASE set from in memory value
+ASM2.__oracle_base='/opt/rac/grid'#ORACLE_BASE set from in memory value
+ASM1.asm_diskgroups='DATA2'#Manual Mount
+ASM2.asm_diskgroups='DATA2'--手工加上的!
*.asm_power_limit=1
*.diagnostic_dest='/opt/rac/grid'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='EXCLUSIVE'
在节点2上检查DATA2的状态:
grid@rac2:/home/grid>crsctl  status resource   ora.DATA2.dg              
NAME=ora.DATA2.dg
TYPE=ora.diskgroup.type
TARGET=ONLINE        , OFFLINE
STATE=ONLINE on rac1, OFFLINE 在节点2上未启动!!

grid@rac2:/home/grid>sqlplus "/as sysasm"
SQL*Plus: Release 11.2.0.1.0 Production on Mon Sep 5 14:18:25 2011
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> select name,STATE from v$asm_diskgroup; 
NAME        STATE
----------------------
DATA1       MOUNTED
DATA2       DISMOUNTED

SQL> alter diskgroup DATA2 MOUNT;
Diskgroup altered.
SQL> show parameter asm_diskgroups;  ###mount DATA2磁盘之后,asm_diskgroups 显示了数据DATA2
NAME              TYPE       VALUE
----------------  --------   -------------------
asm_diskgroups    string     DATA2
SQL> create pfile='/tmp/asm2_1.ora' from spfile;
File created.
SQL> exit

[root@rac2 tmp]# cat asm2_1.ora 
+ASM1.__oracle_base='/opt/rac/grid'#ORACLE_BASE set from in memory value
+ASM2.__oracle_base='/opt/rac/grid'#ORACLE_BASE set from in memory value
+ASM1.asm_diskgroups='DATA2'#Manual Mount
+ASM2.asm_diskgroups='DATA2'#Manual Mount  
##oracle 自己添加上去的!!!不过要注意 Manual Mount 提示,手动mount。
*.asm_power_limit=1
*.diagnostic_dest='/opt/rac/grid'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='EXCLUSIVE'
这里11.2.0.1 有一个bug 8663101 !和磁盘的mount 状态有关!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22664653/viewspace-706683/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
MySQL DBA NoSQL DEVOPS

注册时间:2009-10-07

  • 博文量
    1026
  • 访问量
    7843427