手工创建ASM磁盘组
我写的例子:
—————————————————
Su – grid
Export ORACLE_SID=+ASM1;
Sqlplus “/as sysasm”
--添加ASM磁盘组
Create diskgroup DATA external redundancy disk '/dev/oracleasm/disks/DATAVOL1';
--加载磁盘组
ALTER DISKGROUP DATA MOUNT;
--查询
select name,state from v$asm_diskgroup;
————————————————————————————
详细讲解如下:
1. $ export ORACLE_SID=+ASM
2. $ sqlplus / as sysasm
3. SQL> startup
4. ASM instance started
5. Total System Global Area 100663296 bytes
6. Fixed Size 777616 bytes
7. Variable Size 99885680 bytes
8. Database Buffers 0 bytes
9. Redo Buffers 0 bytes
10. ORA-15110: no diskgroups mounted
注意最后有一个错误提示没有磁盘组被加载,因为这是首次启动ASM实例,尚未创建磁盘组,所以显示15110错误是正常的。
此后可以使用划分好的磁盘手工创建diskgroup(此处执行了FailGroup):
1. SQL> create diskgroup dgroup1 normal redundancy
2. 2 failgroup fgroup1 disk 'ORCL:VOL1','ORCL:VOL2'
3. 3 failgroup fgroup2 disk 'ORCL:VOL3','ORCL:VOL4';
4. Diskgroup created.
如果要创建外部冗余的磁盘组,可以使用类似如下命令:
1. CREATE DISKGROUP oradg External REDUNDANCY
2. DISK 'ORCL:VOL1' SIZE 19077M ,'ORCL:VOL2' SIZE 19077M ,
3. 'ORCL:VOL3' SIZE 19077M ,'ORCL:VOL4' SIZE 12228M
创建磁盘组之后可以使用如下命令查看磁盘组的状态:
1. SQL> select name,state from v$asm_diskgroup;
2. NAME STATE
3. ---------- ----------------------
4. DGROUP1 MOUNTED
如果上述命令返回的STATE是DISMOUNTED,那么可以使用如下命令手工加载磁盘组:
1. SQL> ALTER DISKGROUP dgroup1 MOUNT;
2. Diskgroup altered.
此时检查数据库初始化参数,发现asm_diskgroups参数值已经自动设置为DGROUP1,这表明在下次启动ASM实例的时候,这个diskgroup会被自动挂载。
1. SQL> show parameter asm_diskgroups
2. NAME TYPE VALUE
3. ------------------------------------ ----------
------------------------------
4. asm_diskgroups string DGROUP1
如果要卸载diskgroup,使用下面的命令:
1. ALTER DISKGROUP ALL DISMOUNT;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11745285/viewspace-751566/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11745285/viewspace-751566/