ASM文件 目录 TEMPLATE的管理
ASM文件管理
1.ASM数据文件的命名
OMF在ASM中起着至关重要的作用,它定义了各种文件在ASM磁盘组上存放的位置及名称,真正简化了DBA对ASM文件的维护。
1 SQL> select file_name from dba_data_files; 2 3 FILE_NAME 4 -------------------------------------------------------------------------------- 5 +DATA01/sun/datafile/sun03.257.812809557 6 +DATA01/sun/datafile/sun02.258.812809553 7 +DATA01/sun/datafile/sun01.260.812809551 8 +DATA01/sun/datafile/example.263.812809507 9 +DATA01/sun/datafile/users.262.812809557 10 +DATA01/sun/datafile/sysaux.264.812809463 11 +DATA01/sun/datafile/undotbs1.261.812809543 12 +DATA01/sun/datafile/system.265.812809377 13 +DATA01/sun/datafile/users.259.812809559 14 +DATA01/sun/datafile/users.256.812809561 15 16 17 --格式说明: 18 -- +DATA01/sun/datafile/tbs_name.asm_filenumber.incarnation_number 19 20 --+DATA01: diskgroup名 21 --sun: 该数据库名 22 --datafile: 文件类型,表示是数据文件 23 --tbs_name: 表空间名 24 --asm file#: 表示ASM file编号,$asm_file.file_number 25 --incarnation number: 从时间戳提取,唯一值。
这种完整的名称叫作FQDN(fully qualified filename notation)。但是FQDN对DBA不容易记忆,Oracle又提供了ASM Alias来方便管理和记忆。创建ASMAlias(别名)有两种方法,一种是在最初创建文件时指定别名;另一种是对已有的ASM文件创建别名。两种方式的区别在于:后者指定的别名对于数据库不可见。
1 --创建文件时指定别名: 2 SQL> create tablespace alias_tb datafile '+DATA01/sun/datafile/alias_01.dbf' size 2m; 3 4 Tablespace created. 5 6 SQL> select file_name from dba_data_files; --查看新建文件的别名 7 8 FILE_NAME 9 ---------------------------------------- 10 +DATA01/sun/datafile/alias_01.dbf 11 12 --切换到+asm实例查看视图,因为实验环境sun实例下的v$asm_alias 无记录 13 SQL> select name from v$asm_alias order by 1; 14 15 NAME 16 --------------------------- 17 ALIAS_TB.273.814068115 --系统默认创建的与FQDN相同的别名 18 alias_01.dbf --创建时指定的别名 19 20 --利用asmcmd 看看新建的文件在物理磁盘上的存储 21 -bash-3.00$ export ORACLE_SID=+ASM 22 -bash-3.00$ asmcmd 23 ASMCMD> cd DATA01/SUN/DATAFILE/ 24 ASMCMD> ls -l 25 Type Redund Striped Time Sys Name 26 DATAFILE MIRROR COARSE APR 30 02:00:00 Y ALIAS_TB.273.814068115 --物理存储上的命名
1 --给已经存在的ASM文件补充别名 2 --后补充的别名操作需要在ASM实例中完成 3 SQL> alter diskgroup DATA01 add alias '+DATA01/sun/alias_sun01.dbf' for '+DATA01/sun/datafile/sun01.260.812809551'; 4 5 Diskgroup altered. 6 7 --系统默认创建的与FQDN相同的别名 8 SQL> select name from v$asm_alias order by 1; 9 NAME 10 ---------------------------- 11 SUN01.260.812809551 --系统默认创建的与FQDN相同的别名 12 alias_sun01.dbf --后补充的别名
1 --删除别名 2 SQL> alter diskgroup DATA01 drop alias '+DATA01/sun/alias_sun01.dbf'; 3 4 Diskgroup altered. 5 6 SQL> 7 8 --向ASM添加数据文件 9 SQL> ALTER TABLESPACE sun01 ADD DATAFILE size 2m;--可根据实际情况添加存储参数
2.ASM目录管理
1 SQL> alter diskgroup DATA01 add directory '+DATA01/dbfile'; --为磁盘组增加目录 2 3 SQL> alter diskgroup DATA01 rename directory '+DATA01/dbfile' to '+DATA01/dbfile01'; --重命名目录 4 5 SQL> alter diskgroup DATA01 drop directory '+DATA01/dbfile01'; --删除目录
3.TEMPLATE的管理
TEMPLATE是一个模板,为数据库中新增的文件定义了缺省分配单元大小,以及冗余级别。对于不同类型的文件,使用了不同的AUs以及不同的冗余度。如对控制文件采用高度冗余,条带使用精细化条带(128kb),而参数文件,数据文件则采用标准冗余,粗级别条带(1MB)。这个特性正是Oracle asm 管理不同于外部冗余的特性,即可以基于文件的不同属性而使用不同级别的冗余度和不同大小的条带化分配单元。当然,我们可以根据不同的需求来修改该模板,使得创建新的文件时根据需要来应用其冗余和条带花特性。系统管理人员能改变系统缺省template, 但不能删除该删除,管理员能增加自己的template,然后在该模板上创建数据文件。
1 --缺省情况下DATA01中新增文件所使用的缺省的条带化及其冗余级别 2 SQL> select * from v$asm_template order by 1; 3 4 GROUP_NUMBER ENTRY_NUMBER REDUND STRIPE S NAME(模版名称) 5 ------------ ------------ ------ ------ - ------------------------------ 6 1 5 MIRROR COARSE Y DATAFILE 7 1 4 MIRROR FINE Y ONLINELOG 8 1 3 MIRROR COARSE Y ARCHIVELOG 9 1 2 HIGH FINE Y CONTROLFILE 10 1 1 MIRROR COARSE Y DUMPSET 11 1 0 MIRROR COARSE Y PARAMETERFILE 12 1 12 MIRROR COARSE Y DATAGUARDCONFIG 13 1 7 MIRROR COARSE Y BACKUPSET 14 1 8 MIRROR COARSE Y AUTOBACKUP 15 1 9 MIRROR COARSE Y XTRANSPORT 16 1 10 MIRROR COARSE Y CHANGETRACKING 17 1 11 MIRROR FINE Y FLASHBACK 18 1 6 MIRROR COARSE Y TEMPFILE
--1.创建TEMPLATE的语法 ALTER DISKGROUP disk_group_name ADD TEMPLATE template_name ATTRIBUTES ([{MIRROR|HIGH|UNPROTECTED}] [{FINE|COARSE}]); --2.添加TEMPLATE SQL> alter diskgroup DATA01 add template template_01 attributes (high fine); SQL> alter diskgroup DATA01 add template template_02 attributes (unprotected); --3.修改已存在的TEMPLATE SQL> alter diskgroup DATA01 alter template template_01 attributes (coarse); --4.删除TEMPLATE SQL> alter diskgroup DATA01 drop template template_02; --5.基于模板创建数据文件 SQL> create tablespace SUN01 datafile '+DATA01/sun/datafile/test.dbf(template_one)' size 5M;
--6.查看当前系统中文件使用的模板 SQL> col name format a30 SQL> select name, redundancy, striped 2 from v$asm_alias a, v$asm_file b 3 where a.file_number = b.file_number and a.group_number = b.group_number 4 order by name; NAME REDUND STRIPE ------------------------------------------------ ------ ------ ALIAS_TB.273.814068115 MIRROR COARSE Backup.266.812809561 HIGH FINE EXAMPLE.263.812809507 MIRROR COARSE SUN01.260.812809551 MIRROR COARSE SUN02.258.812809553 MIRROR COARSE SUN03.257.812809557 MIRROR COARSE SYSAUX.264.812809463 MIRROR COARSE SYSTEM.265.812809377 MIRROR COARSE TEMP.271.812812791 MIRROR COARSE UNDOTBS1.261.812809543 MIRROR COARSE USERS.256.812809561 MIRROR COARSE NAME REDUND STRIPE ------------------------------------------------ ------ ------ USERS.259.812809559 MIRROR COARSE USERS.262.812809557 MIRROR COARSE alias_01.dbf MIRROR COARSE backup.256.812813631 HIGH FINE backup.272.812813627 HIGH FINE control01 HIGH FINE control02 HIGH FINE group_1.268.812811035 MIRROR FINE group_2.269.812811077 MIRROR FINE group_3.270.812811139 MIRROR FINE nnsnf0_TAG20130415T122257_0.267.812809565 MIRROR COARSE 22 rows selected. SQL>