使用sqlplus和asmcmd管理磁盘组

使用sqlplus和asmcmd管理磁盘组

环境为OEL5.4,GRID和DATABASE版本为Oracle 11gR2 11.2.0.1, 用sysasm登录sqlplus

1、磁盘组的创建

SQL> create diskgroup testdg external redundancy disk 'ORCL:ASMDISK12';

2、磁盘组的删除,磁盘组要在mount状态

SQL> drop diskgroup testdg ;    

如果想把磁盘组上的内容一起删除呢?
因为刚刚把磁盘组给删除了,我们再次新建一个normal冗余度的磁盘组进行删除

SQL> create diskgroup testdg normal redundancy disk 'ORCL:ASMDISK12','ORCL:ASMDISK13';
SQL> drop diskgroup testdg including contents

3、往asm磁盘组中添加磁盘

SQL> alter diskgroup testdg add disk 'ORCL:ASMDISK13';

4、在asm磁盘组中删除磁盘

SQL> select name ,path from v$asm_disk;    先查询出要删除的磁盘的名称
SQL> alter diskgroup testdg drop disk ASMDISK13;

5、dismount磁盘组
SQL> alter diskgroup testdg dismount;

6、mount磁盘组

SQL> alter diskgroup testdg mount;

7、在ASM磁盘组上创建表空间

SQL> create tablespace test datafile 'testdg' size 20M;

注意:文件存放位置只需要写磁盘组的名称,不要画蛇添足加上目录和文件名什么的

8、将归档日志保存在ASM磁盘组上

SQL> alter system set log_archive_dest_1='location=+testdg' scope=both;

归档位置也只需要填写+testdg即可

ASMCMD常用的命令
1、在磁盘组中创建目录

ASMCMD> cd testdg
ASMCMD> mkdir testdir

2、在磁盘组中删除目录或文件

ASMCMD> rm testdir

3、查看本地客户端已打开的文件

ASMCMD> lsof

4、查看指定磁盘上文件所占用的空间

ASMCMD> du
Used_MB      Mirror_used_MB
   1616                3239

5、列出所有磁盘组及其属性

ASMCMD> lsdg

6、列出ASM磁盘的信息

ASMCMD> lsdsk

7、创建已挂载的磁盘组元数据备份

ASMCMD> md_backup /u01/app/oracle/asm_metadata.bak

8、恢复磁盘组元数据备份

ASMCMD> md_restore

发表评论