4.5 删除磁盘组
DROP DISKGROUP dgroup1; 4.6 管理目录
在使用ASM创建文件时,默认格式不是很好辨别,在日常工作中,创建容易理解的目录 4.6.1 创建新目录
ALTER DISKGROUP DSKGRP1 ADD DIRECTORY '+DSKGRP1/tbstest1'; create tablespace test1 datafile '+DSKGRP1/tbstest1/test1_001.dbf' size 100M autoextent off; extent management local uniform size 1M segment space management auto; 4.6.2 修改目录名
ALTER DISKGROUP DSKGRP1 RENAME DIRECTORY '+DSKGRP1/tbstest1' TO '+DSKGRP1/tbspacetest1'; alter database rename file '+DSKGRP1/tbstest1/test1_001.dbf' to '+DSKGRP1/tbspacetest1/test1_001.dbf'; 4.6.3 删除目录
ALTER DISKGROUP DSKGRP1 DROP DIRECTORY '+DSKGRP1/tbspacetest1';
4.7 管理ASM文件别名
了解通过V$ASM_ALIAS可以查看所有的别名
- 11 -
4.7.1 添加ASM文件别名
ALTER DISKGROUP DSKGRP1 ADD ALIAS '+DSKGRP1/tbspacetest1/test1_001.dbf' FOR '+DSKGRP1/DB10G/DATAFILE/TEST1.256.681689095'; 4.7.2 修改ASM文件别名
ALTER DISKGROUP DSKGRP1 RENAME ALIAS '+dgroup1/mydir/datafile.dbf' TO '+dgroup1/payroll/compensation.dbf'; 4.7.3 删除文件别名
特别注意删除一个文件别名不过是类似删除了一个软连接,如果发现删除错误了,还可以通过重新创建这个文件别名来恢复。
ALTER DISKGROUP DSKGRP1 DROP ALIAS '+DSKGRP1/tbspacetest1/test1_001.dbf';
4.8 删除ASM文件
删除文件的时候确定该文件数据库已经不再使用,如果将数据库down掉,直接删除asm文件,数据库不能正常启动。
ALTER DISKGROUP dgroup1 DROP FILE '+dgroup1/payroll/compensation.dbf';
4.9 管理磁盘组模板
ORACLE系统自动创建了一些模板来控制创建的不同类型的文件的镜像和条带化的具体参数。可以通过V$ASM_TEMPLATE查看ORACLE预先定义的模板。
SQL> select * from v$asm_template GROUP_NUMBER ENTRY_NUMBER REDUND STRIPE S NAME 1 0 MIRROR COARSE Y PARAMETERFILE 1 1 MIRROR COARSE Y DUMPSET
- 12 -
1 2 HIGH FINE Y CONTROLFILE 1 3 MIRROR COARSE Y ARCHIVELOG 1 4 MIRROR FINE Y ONLINELOG 1 5 MIRROR COARSE Y DATAFILE 1 6 MIRROR COARSE Y TEMPFILE 1 7 MIRROR COARSE Y BACKUPSET 1 8 MIRROR COARSE Y AUTOBACKUP 1 9 MIRROR COARSE Y XTRANSPORT 1 10 MIRROR COARSE Y CHANGETRACKING 1 11 MIRROR FINE Y FLASHBACK 1 12 MIRROR COARSE Y DATAGUARDCONFIG
Striping Attribute Value FINE Description Striping in 128KB chunks. Striping in 1MB chunks. COARSE 4.9.1 添加新模板
ALTER DISKGROUP dgroup2 ADD TEMPLATE reliable ATTRIBUTES (HIGH FINE); 4.9.2 修改模板
ALTER DISKGROUP dgroup2 ADD TEMPLATE reliable ATTRIBUTES (HIGH FINE); 4.9.3 删除模板
ALTER DISKGROUP dgroup2 DROP TEMPLATE unreliable;
- 13 -
5 数据库中使用ASM
当使用ASM的时候,数据文件存储在ASM磁盘组中。由于数据文件存放在ASM磁盘组中,对操作系统不可见。通过使用RMAN,ASMCMD可以访问对应的文件。
5.1 ASM支持那些文件类型
数据库的控制文件,数据文件,日志文件,归档日志,RMAN备份,数据文件copy,spfile,flashback logs等多种数据库文件都可以存放在磁盘组中。
5.2 创建表空间
SQL> alter system set DB_CREATE_FILE_DEST='+DSKGRP1'; SQL> CREATE TABLESPACE tspace1 datafile size 20M autoextend off extent management local uniform size 1M segment space management auto;
SQL> select file_name from dba_data_files; FILE_NAME -------------------------------------------------------------------------------- /oracle1/oradata/ora10g/system01.dbf /oracle1/oradata/ora10g/undotbs01.dbf /oracle1/oradata/ora10g/sysaux01.dbf /oracle1/oradata/ora10g/users01.dbf /oracle1/oradata/ora10g/test01.dbf +DSKGRP1/ora10g/datafile/tspace1.256.647700289 - 14 -
5.3 ASM有用的视图
V$ASM_DISKGROUP V$ASM_DISK V$ASM_DISKGROUP_STAT V$ASM_DISK_STAT V$ASM_FILE V$ASM_TEMPLATE V$ASM_ALIAS V$ASM_OPERATION V$ASM_CLIENT
6 将数据库迁移到ASM中
在这里测试将一个非ASM管理的数据库迁移到ASM管理中
6.1 查看当前数据库结构
SQL> set lines 200 SQL> set pages 80 SQL> col name for a40 SQL> select * from v$controlfile; STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS ------- ---------------------------------------- --- ---------- -------------- /oracle1/oradata/ora10g/control01.ctl NO 16384 430 /oracle1/oradata/ora10g/control02.ctl NO 16384 430 /oracle1/oradata/ora10g/control03.ctl NO 16384 430 SQL> select file_name from dba_data_files; FILE_NAME
- 15 -