md_backup

jichengjie發表於2018-03-22
在Oracle Database 11gR2 中,在ASM後設資料的備份與恢復方面,Oracle增加了兩個命令:md_backup 和 md_restore。
md 是 metadata的縮寫,這一工具極大的簡化了ASM的後設資料維護。

在asmcmd中,透過help md_backup可以看到詳細的命令提示:
ASMCMD> help md_backup
        md_backup

        The md_backup command creates a backup file containing metadata
        for one or more disk groups.
        Volume and Oracle Automatic Storage Management Cluster File System
        (Oracle ACFS) file system information is not backed up.

        md_backup backup_file [-G diskgroup [,diskgroup,...]]

        The options for the md_backup command are described below.

        backup_file     - Specifies the backup file in which you want to
                          store the metadata.
        -G diskgroup    - Specifies the disk group name of the disk group
                          that must be backed up

        By default all the mounted disk groups are included in the backup file,
        which is saved in the current working directory.

        The first example shows the use of the backup command when you run it
        without options. This example backs up all of the mounted disk groups
        and creates the backup image in the current working directory. The
        second example creates a backup of disk group DATA and FRA. The backup
        that this example creates is saved in the /tmp/dgbackup20090714 file.

        ASMCMD [+] > md_backup /tmp/dgbackup20090716
        ASMCMD [+] > md_backup /tmp/dgbackup20090716 -G DATA,FRA
        Disk group metadata to be backed up: DATA
        Disk group metadata to be backed up: FRA
        Current alias directory path: ASM/ASMPARAMETERFILE
        Current alias directory path: ORCL/DATAFILE
        Current alias directory path: ORCL/TEMPFILE
        Current alias directory path: ORCL/CONTROLFILE
        Current alias directory path: ORCL/PARAMETERFILE
        Current alias directory path: ASM
        Current alias directory path: ORCL/ONLINELOG
        Current alias directory path: ORCL
        Current alias directory path: ORCL/CONTROLFILE
        Current alias directory path: ORCL/ARCHIVELOG/2009_07_13
        Current alias directory path: ORCL/BACKUPSET/2009_07_14
        Current alias directory path: ORCL/ARCHIVELOG/2009_07_14
        Current alias directory path: ORCL
        Current alias directory path: ORCL/DATAFILE
        Current alias directory path: ORCL/ARCHIVELOG
        Current alias directory path: ORCL/BACKUPSET
        Current alias directory path: ORCL/ONLINELOG
現在backup_file是一個需要強制制定的引數,以下命令備份了ASM中所有的磁碟組後設資料:

ASMCMD> md_backup /tmp/oradgbackup20110322
Disk group metadata to be backed up: ACFSG
Disk group metadata to be backed up: CRSDG
Disk group metadata to be backed up: ORADG
Current alias directory path: EYGLE/ONLINELOG
Current alias directory path: EYGLE
Current alias directory path: EYGLE/CONTROLFILE
Current alias directory path: ASM
Current alias directory path: EYGLE/PARAMETERFILE
Current alias directory path: EYGLE/CONTROLFILE
Current alias directory path: EYGLE/TEMPFILE
Current alias directory path: EYGLE/DATAFILE
Current alias directory path: EYGLE
Current alias directory path: EYGLE/ONLINELOG
Current alias directory path: ASM/ASMPARAMETERFILE

也可以制定備份特定的磁碟組資訊:
ASMCMD> md_backup /tmp/oradgbackup20110323 -G ORADG
Disk group metadata to be backed up: ORADG

備份以文字格式記錄了磁碟組的引數資訊:
[grid@enmou1 ~]$ more /tmp/oradgbackup20110323
@diskgroup_set = (
                   {
                     'ATTRINFO' => {
                                     '_._DIRVERSION' => '11.2.0.0.0',
                                     'COMPATIBLE.ASM' => '11.2.0.0.0',
                                     'COMPATIBLE.RDBMS' => '10.1.0.0.0'
                                   },
                     'DISKSINFO' => {
                                      'VOL3' => {
                                                  'VOL3' => {
                                                              'TOTAL_MB' => '9687',
                                                              'FAILGROUP' => 'VOL3',
                                                              'NAME' => 'VOL3',
                                                              'DGNAME' => 'ORADG',
                                                              'PATH' => 'ORCL:VOL3'
                                                            }
                                                }
                                    },
                     'DGINFO' => {
                                   'DGTORESTORE' => 0,
                                   'DGCOMPAT' => '11.2.0.0.0',
                                   'DGNAME' => 'ORADG',
                                   'DGDBCOMPAT' => '10.1.0.0.0',
                                   'DGTYPE' => 'EXTERN',
                                   'DGAUSZ' => '1048576'
                                 },
                     'ALIASINFO' => {},
                     'TEMPLATEINFO' => {
                                         '6' => {
                                                  'DGNAME' => 'ORADG',
                                                  'STRIPE' => 'COARSE',
                                                  'TEMPNAME' => 'ONLINELOG',
                                                  'REDUNDANCY' => 'UNPROT',
                                                  'SYSTEM' => 'Y'
                                                },
                                         '11' => {
                                                   'DGNAME' => 'ORADG',
                                                   'STRIPE' => 'COARSE',
                                                   'TEMPNAME' => 'AUTOBACKUP',
                                                   'REDUNDANCY' => 'UNPROT',
                                                   'SYSTEM' => 'Y'
                                                 },
                                         '3' => {
                                                  'DGNAME' => 'ORADG',
                                                  'STRIPE' => 'FINE',
                                                  'TEMPNAME' => 'CONTROLFILE',
                                                  'REDUNDANCY' => 'UNPROT',
                                                  'SYSTEM' => 'Y'
                                                },
                                         '7' => {
                                                  'DGNAME' => 'ORADG',
                                                  'STRIPE' => 'COARSE',
                                                  'TEMPNAME' => 'DATAGUARDCONFIG',
                                                  'REDUNDANCY' => 'UNPROT',
                                                  'SYSTEM' => 'Y'
                                                },
                                         '9' => {
                                                  'DGNAME' => 'ORADG',
                                                  'STRIPE' => 'COARSE',
                                                  'TEMPNAME' => 'CHANGETRACKING',
                                                  'REDUNDANCY' => 'UNPROT',
                                                  'SYSTEM' => 'Y'
                                                },
                                         '12' => {
                                                   'DGNAME' => 'ORADG',
                                                   'STRIPE' => 'COARSE',
                                                   'TEMPNAME' => 'BACKUPSET',
                                                   'REDUNDANCY' => 'UNPROT',
                                                   'SYSTEM' => 'Y'
                                                 },
                                         '2' => {
                                                  'DGNAME' => 'ORADG',
                                                  'STRIPE' => 'COARSE',
                                                  'TEMPNAME' => 'DUMPSET',
                                                  'REDUNDANCY' => 'UNPROT',
                                                  'SYSTEM' => 'Y'
                                                },
                                         '14' => {
                                                   'DGNAME' => 'ORADG',
                                                   'STRIPE' => 'COARSE',
                                                   'TEMPNAME' => 'DATAFILE',
                                                   'REDUNDANCY' => 'UNPROT',
                                                   'SYSTEM' => 'Y'
                                                 },
                                         '15' => {
                                                   'DGNAME' => 'ORADG',
                                                   'STRIPE' => 'COARSE',
                                                   'TEMPNAME' => 'ASMPARAMETERFILE',
                                                   'REDUNDANCY' => 'UNPROT',
                                                   'SYSTEM' => 'Y'
                                                 },
                                         '8' => {
                                                  'DGNAME' => 'ORADG',
                                                  'STRIPE' => 'COARSE',
                                                  'TEMPNAME' => 'FLASHBACK',
                                                  'REDUNDANCY' => 'UNPROT',
                                                  'SYSTEM' => 'Y'
                                                },
                                         '4' => {
                                                  'DGNAME' => 'ORADG',
                                                  'STRIPE' => 'COARSE',
                                                  'TEMPNAME' => 'FLASHFILE',
                                                  'REDUNDANCY' => 'UNPROT',
                                                  'SYSTEM' => 'Y'
                                                },
                                         '1' => {
                                                  'DGNAME' => 'ORADG',
                                                  'STRIPE' => 'COARSE',
                                                  'TEMPNAME' => 'OCRFILE',
                                                  'REDUNDANCY' => 'UNPROT',
                                                  'SYSTEM' => 'Y'
                                                },
                                         '0' => {
                                                  'DGNAME' => 'ORADG',
                                                  'STRIPE' => 'COARSE',
                                                  'TEMPNAME' => 'PARAMETERFILE',
                                                  'REDUNDANCY' => 'UNPROT',
                                                  'SYSTEM' => 'Y'
                                                },
                                         '10' => {
                                                   'DGNAME' => 'ORADG',
                                                   'STRIPE' => 'COARSE',
                                                   'TEMPNAME' => 'XTRANSPORT',
                                                   'REDUNDANCY' => 'UNPROT',
                                                   'SYSTEM' => 'Y'
                                                 },
                                         '13' => {
                                                   'DGNAME' => 'ORADG',
                                                   'STRIPE' => 'COARSE',
                                                   'TEMPNAME' => 'TEMPFILE',
                                                   'REDUNDANCY' => 'UNPROT',
                                                   'SYSTEM' => 'Y'
                                                 },
                                         '5' => {
                                                  'DGNAME' => 'ORADG',
                                                  'STRIPE' => 'COARSE',
                                                  'TEMPNAME' => 'ARCHIVELOG',
                                                  'REDUNDANCY' => 'UNPROT',
                                                  'SYSTEM' => 'Y'
                                                }
                                       }
                   }
                 );

透過這些資訊,就可以在磁碟組損壞時,快速恢復ASM的後設資料。
恢復在磁碟組可用狀態下不允許執行:
ASMCMD> md_restore --full -G oradg /tmp/oradgbackup20110323
Current Diskgroup metadata being restored: ORADG
ASMCMD-09352: CREATE DISKGROUP failed
ORA-15018: diskgroup cannot be created
ORA-15030: diskgroup name "ORADG" is in use by another diskgroup (DBD ERROR: OCIStmtExecute)
以下是在DROP了ORADG之後,執行恢復的全過程,恢復完成以後,磁碟組被建立,模板資訊被還原:
ASMCMD> md_restore --full -G oradg /tmp/oradgbackup20110323
Current Diskgroup metadata being restored: ORADG
Diskgroup ORADG created!
System template ONLINELOG modified!
System template AUTOBACKUP modified!
System template CONTROLFILE modified!
System template DATAGUARDCONFIG modified!
System template CHANGETRACKING modified!
System template DUMPSET modified!
System template BACKUPSET modified!
System template ASMPARAMETERFILE modified!
System template DATAFILE modified!
System template FLASHBACK modified!
System template OCRFILE modified!
System template FLASHFILE modified!
System template PARAMETERFILE modified!
System template TEMPFILE modified!
System template XTRANSPORT modified!
System template ARCHIVELOG modified!

透過-S引數可以僅生成恢復指令碼,不執行恢復動作:
ASMCMD> md_restore -S create_oradg.sql /tmp/oradgbackup20110323
Current Diskgroup metadata being restored: ORADG
以下是ORADG磁碟組恢復時執行的命令:
[grid@enmou1 ~]$ more create_oradg.sql
create diskgroup ORADG EXTERNAL redundancy  disk 'ORCL:VOL3' name VOL3 size 9687M attribute 'compatible.asm' = '11.2.0.0.0', 'compatible.r
dbms' = '10.1.0.0.0';
alter diskgroup /*ASMCMD AMBR*/ORADG set attribute '_._DIRVERSION' = '11.2.0.0.0';
alter diskgroup /*ASMCMD AMBR*/ORADG alter template ONLINELOG attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template AUTOBACKUP attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template CONTROLFILE attributes (UNPROTECTED FINE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template DATAGUARDCONFIG attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template CHANGETRACKING attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template DUMPSET attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template BACKUPSET attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template ASMPARAMETERFILE attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template DATAFILE attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template FLASHBACK attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template OCRFILE attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template FLASHFILE attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template PARAMETERFILE attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template TEMPFILE attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template XTRANSPORT attributes (UNPROTECTED COARSE);
alter diskgroup /*ASMCMD AMBR*/ORADG alter template ARCHIVELOG attributes (UNPROTECTED COARSE);

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26870952/viewspace-2152144/,如需轉載,請註明出處,否則將追究法律責任。