有关ASM和文件系统之间的数据拷贝还可以参考文章:《使用RMAN在ASM和文件系统之间拷贝数据 》:。
5.md_backup命令针对一个或更多磁盘组创建元数据拷贝,下面是该命令的用法:
md_backup backup_file [-G diskgroup [,diskgroup,...]]
结果文件包含需要重建ASM磁盘的所有元数据。
ASMCMD [+data1/orcl] > md_backup /tmp/backup.txt -G data
Disk group metadata to be backed up: DATA
Current alias directory path: rhel-cluster/ASMPARAMETERFILE
Current alias directory path: ASM
Current alias directory path: rhel-cluster
Current alias directory path: ASM/DATAFILE
6.md_restore命令允许从使用md_backup命令创建的元数据中还原磁盘组,下面是该命令的用法:
md_restore backup_file [--silent][--full|--nodg|--newdg -o 'old_diskgroup:new_diskgroup [,...]'][-S sql_script_file] [-G 'diskgroup [,diskgroup...]']
ASMCMD [+] > md_restore /tmp/backup.txt --full -G data
Current Diskgroup metadata being restored: DATA
Diskgroup DATA created!
System template BACKUPSET modified!
System template FLASHFILE modified!
System template CHANGETRACKING modified!
System template TEMPFILE modified!
System template ONLINELOG modified!
System template FLASHBACK modified!
System template CONTROLFILE modified!
System template ASMPARAMETERFILE modified!
System template DATAGUARDCONFIG modified!
System template DATAFILE modified!
System template OCRFILE modified!
System template XTRANSPORT modified!
System template PARAMETERFILE modified!
System template DUMPSET modified!
System template ARCHIVELOG modified!
System template AUTOBACKUP modified!
Directory +DATA/rhel-cluster re-created!
Directory +DATA/ASM re-created!
Directory +DATA/rhel-cluster/ASMPARAMETERFILE re-created!
Directory +DATA/ASM/DATAFILE re-created!
恢复磁盘组元数据信息磁盘组不能处于MOUNT状态,md_restore命令只恢复元数据信息,但磁盘组的数据是无法恢复的。
7.remap命令修复磁盘一个范围的物理块,不验证每个块的内容,只有读错误的块能被修复,下面是该命令的用法:
remap diskgroup disk block_range
ASMCMD [+] > remap data data01 1000-2000
七.失败组优先读。
在Oracle 10g,ASM一直读镜像区间设置的主拷贝,当两个节点和两个故障组位于相同的物理位置是没问题的,但是对于扩展集群的效率很低,常常引起不必要的网络传输。
从Oracle 11g开始,允许每个节点定义一个优先的故障组;允许扩展集群中的节点优先访问本地故障组。
配置磁盘组的优先读故障组要求兼容性属性必须设置为11.1或者更高。一旦兼容性选项正确,针对每个节点,ASM_PREFERRED_READ_FAILURE_GROUPS参数设置优先故障组。
SQL> select group_number,name,failgroup from v$asm_disk where group_number=2;
GROUP_NUMBER NAME FAILGROUP
------------ ------------------------------ ------------------------------
2 DATA02 B
2 DATA01 A
SQL> show parameter asm_preferred_read_failure_groups
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
asm_preferred_read_failure_groups string OCRVDISK.OCRVDISK_0001
SQL> alter system set asm_preferred_read_failure_groups='OCRVDISK.OCRVDISK_0001','DATA.DATA01' sid='+ASM1';
System altered.
SQL> alter system set asm_preferred_read_failure_groups='OCRVDISK.OCRVDISK_0001','DATA.DATA02' sid='+ASM2';
System altered.
SQL> show parameter asm_preferred_read_failure_groups
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
asm_preferred_read_failure_groups string OCRVDISK.OCRVDISK_0001, DATA.D
ATA02
八.快速平衡。
"ALTER DISKGROUP ... MOUNT"语句允许磁盘组在restricted模式加载。
SQL> alter diskgroup data dismount;
Diskgroup altered.
SQL> alter diskgroup data mount restricted;
Diskgroup altered.
SQL> alter diskgroup data dismount;
Diskgroup altered.
SQL> alter diskgroup data mount;
Diskgroup altered.