DM7使用dmrestore工具還原資料庫
使用dmrestore工具還原資料庫
1. 概述
DM支援利用還原工具對資料庫進行還原。根據不同備份型別,包括聯機備份、離線備份、完全備份以及增量備份,還原工具選擇不同的還原策略實現恢復使用者資料的目的。首先討論聯機備份與離線備份,離線備份僅包含資料頁檔案的內容,而聯機備份檔案除了包含資料頁檔案內容以外,可能還包括備份過程中產生的日誌檔案內容。因此在利用聯機備份還原時,除了複製資料頁至資料庫檔案以外,可能還需要重做備份的日誌檔案內容,達到還原資料庫的目的。在還原聯機庫備份且不帶日誌的備份時,需要使用者指定歸檔目錄,由使用者保證備份期間的歸檔日誌存在且完好,在還原庫時,需要重做該日誌。如果日誌不存在,則備份檔案就無效,報錯歸檔日誌錯誤。
接下來討論完全備份與增量備份,對於增量備份,還原工具會根據使用者提供備份的資訊蒐集它的基礎備份,若基礎備份仍然為增量備份,則工具會繼續蒐集,直至蒐集到一個型別為完全備份的基礎備份為止。因此在這個過程中,工具會構造一個基礎備份連結串列,備份連結串列基於備份間的依賴關係組織。比如,備份A是備份B的增量備份,則可以說A依賴於B。若使用者首先進行了一次完全備份A,然後在A的基礎上做了增量備份B,隨後基於增量備份B又做了增量備份C,最後基於增量備份C做了增量備份D。那麼此時利用增量備份D還原資料庫時,系統蒐集到得備份連結串列如30.1所示,執行還原時,首先利用完全備份恢復A進行還原,然後依次利用增量備份B,C和D還原,最終完成整個還原過程。需要說明的是,若備份型別為B樹備份的資料庫備份是不存在增量備份的。
離線庫還原支援無備份檔案的還原,原理就是利用歸檔檔案,在目標庫上執行REDO操作,把庫還原到指定的時間點或者LSN。限制條件是,
1)目標庫和歸檔必須是源自同一個庫;2)必須保證源庫的歸檔是完整,否則會出現不可預知的錯誤,即要保證備份之後產生的歸檔是完整的。要利用歸檔還原,需要利用備份檔案還原一個目標庫,修改目標庫db_magic和源庫中歸檔檔案的db_magic一致。然後就可以執行還原操作了。庫db_magic的修改可以使用dmmdf工具。
dmmdf工具的用法如下:
dmmdf KEYWORD=value
在Windows“命令提示符”視窗中輸入帶引數的dmmdf命令啟動該工具,引數說明見
[dmdba@shard1 dmdbms]$ dmmdf help Format: ./dmmdf KEYWORD=value Example: ./dmmdf TYPE=1 FILE=/opt/data/DAMENG/SYSTEM.DBF Keyword Explanation -------------------------------------------------------------------------------- TYPE type 1: for dbf 2: for rlog 3: for original bak 4: for bakset meta 5: for bakset bkp 6: for bakset 7: batch modify db_magic for arch file 8: for database degrades 9:batch modify crc_check for DB specified by dm.ini. 10:batch modify crc_check for archive log in archive directory. FILE file path DCR_INI dmdcr.ini path DB_MAGIC_SRC db_magic_src,for TYPE=7 and 10 DB_MAGIC_DST db_magic_dst,for TYPE=7 CRC_CHECK crc_check,for TYPE=9 and 10 HELP show this help info -------------------------------------------------- Example: ./dmmdf TYPE=1 FILE=/opt/data/DAMENG/SYSTEM.dbf ./dmmdf TYPE=2 FILE=/opt/data/DAMENG/DAMENG01.log ./dmmdf TYPE=3 FILE=/opt/data/DAMENG/bak/dmdb.bak ./dmmdf TYPE=4 FILE=/opt/data/DAMENG/bak/bset/nbak.meta ./dmmdf TYPE=5 FILE=/opt/data/DAMENG/bak/bset/nbak.bak ./dmmdf TYPE=6 FILE=/opt/data/DAMENG/bak/bset ./dmmdf TYPE=7 FILE=/opt/data/DAMENG/arch DB_MAGIC_SRC=4734373 DB_MAGIC_DST=4734366 ./dmmdf TYPE=8 FILE=/opt/data/DAMENG/dm.ctl ./dmmdf TYPE=9 FILE=/opt/data/DAMENG/dm.ini,CRC_CHECK=1 ./dmmdf TYPE=10 FILE=/opt/data/DAMENG/arch,CRC_CHECK=0,DB_MAGIC_SRC=4734373
使用說明:
dmmdf工具可以修改TYPE中指定的檔案中的資訊,例如db_magic。
DMRESTORE還原工具的用法如下:
DMRESTORE KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)
確認DM資料庫伺服器已停止後,在Windows“命令提示符”視窗中輸入帶引數的DMRESTORE命令啟動該工具。
[dmdba@shard1 dmdbms]$ dmrestore help Format: DMRESTORE KEYWORD=value or KEYWORD=(value1,value2,...,valueN) Eg: DMRESTORE INI_PATH=/opt/dm7data/dameng/dm.ini FILE=/opt/dm7data/backup/test.bak Imperative Argument: FILE Keyword explain(default value) -------------------------------------------------------------------------------- INI_PATH the path of the dmserver's dm.ini file FILE backup file MAPPED_FIL the path of mapped file, when res_type assign 4. TIME the timestamp of be going to recover ARCHIVE_DIR the directory at backup, Format (dir1,dir2,dir3,...) BACKUP_DIR the stored path of backup file, be used to search backup file, Format (dir1,dir2,dir3,...) DATAFIL_PATH the file path at the recovery, Format (id1,path1,id2,path2,id3,path3,...) MIRROR_PATH the mirror file path at the recovery, Format (id1,path1,id2,path2,id3,path3,...) PARALLEL_DIR the full path of parallel mapping file RES_TYPE restore type(0,1,2,3,4), 0: bakfil restore, 1: bakfil show, 2: archfil restore, 3: step increment restore, 4:output mapped file default(0) END_LSN restore to end_lsn LOG restore output log file DUMMY quiet mode, {(Y)es,(N)o} default:No PASSWORD restore with password ENCRYPT_NAME restore decrypt with encrypt name HELP output help info
INI_PATH:配置檔案路徑,最大長度為256位元組,可選引數
FILE:用於還原的備份檔案完整路徑,必選引數
MAPPED_FIL:當指定res_type為4時,輸出備份檔案的對映資訊到該檔案;如果指定res_type為0或3時,則還原時,會採用MAPPED_FIL檔案中的data_path和mirror_path路徑為準(如果使用者希望使用相對路徑策略還原,請刪除相關的組,同時修改要修改的data_path和mirror_path)。此外,如果指定MAPPED_FIL引數,則本工具中datafil_path和mirror_path引數會失效;反之,則生效,可選引數
TIME:指定還原的時間點和指定還原的LSN,需要配合ARCHIVE_DIR使用,若指定了ARCHIVE_DIR,既沒有指定TIME和END_LSN則會重做所有的歸檔;如果指定了某一個則會還原到指定的TIME或者LSN;如果都指定了,則會還原到早的一個時間點(或者LSN);如果指定END_LSN為1,則表示還原到備份的時候,不會redo歸檔,可選引數
END_LSN:指定還原的時間點和指定還原的LSN,需要配合ARCHIVE_DIR使用,若指定了ARCHIVE_DIR,既沒有指定TIME和END_LSN則會重做所有的歸檔;如果指定了某一個則會還原到指定的TIME或者LSN;如果都指定了,則會還原到早的一個時間點(或者LSN);如果指定END_LSN為1,則表示還原到備份的時候,不會redo歸檔,可選引數。
BACKUP_DIR:備份檔案存放路徑,用於搜尋備份檔案(預設會搜尋備份檔案所在的目錄,以及庫的預設備份目錄),可選引數
ARCHIVE_DIR:歸檔日誌存放的目錄,可以指定1~8個。在還原聯機庫備份且不帶日誌(WITHOUT LOG)的備份檔案時,ARCHIVE_DIR為必選引數,可選引數。
DATAFIL_PATH:指定還原後的新檔案路徑([編號,路徑],……,[編號,路徑])。編號與路徑成對出現,最多可以指定16個。編號為大於0的整數。MAPPED_FIL優先,可選引數。
PARALLEL_DIR:並行對映檔案存放路徑,用於搜尋對映檔案,可選引數
SHOW_BAK_INFO:可選值(0,1,2)0:表示利用備份還原;1:僅顯示備份資訊,不進行還原;2:表示使用歸檔日誌進行還原;預設值為0。該引數已被RES_TYPE取代,為相容之前版本,暫時保留。如果同時指定RES_TYPE和SHOW_BAK_INFO,則RES_TYPE有效,SHOW_BAK_INFO無效,可選引數。
RES_TYPE:可選值(0,1,2,3,4)0:表示利用備份還原;1:僅顯示備份資訊,不進行還原;2:表示使用歸檔日誌進行還原;3:僅還原單個完全備份或者增量備份;4:僅僅輸出備份檔案對映資訊到檔案。預設值為0,可選引數。
MIRROR_PATH:指定備份庫中的映象檔案路徑在還原時的對映路徑。([編號,路徑],……,[編號,路徑])。編號與路徑成對出現,最多可以指定16個。編號為大於0的整數,對映路徑絕對路徑。MAPPED_FIL優先,可選引數。
LOG:指定一個檔案,還原時日誌會寫入該檔案,可選引數。
DUMMY:靜默模式,可以指定{(Y)es,(N)o}。預設No。互動資訊處理: 列印(P)。Y:列印所有互動資訊。N:不列印互動資訊。可選引數。
PASSWORD:還原時,指定備份時的加密密碼
ENCRYPT_NAME:還原時用來解密的演算法名。預設演算法為AES256_CFB
HELP:列印幫助資訊
若設定SHOW_BAK_INFO引數為1,則不需要利用備份進行還原操作,可以不指定INI_PATH;指定了BACKUP_DIR引數時,則會收集備份目錄下的所有的備份,並分組輸出;如果指定了FILE,且該備份檔案是增量備份,則會收集增量備份相關的所有備份輸出。
資料庫還原時,如果需要重做的日誌量較大,將INI引數BUFFER適當設大,可以提高還原的效能。
2. 使用備份檔案還原
例如,利用備份檔案/dm_home/dmdba/dmdbms/data/jydm/bak/DB_jydm_20200711192046000434.bak還原資料庫
[dmdba@shard1 backup]$ dmrestore ini_path=/dm_home/dmdba/dmdbms/data/jydm/dm.ini file=/dm_home/dmdba/dmdbms/data/jydm/bak/DB_jydm_20200711192046000434.bak restore V7.1.6.46-Build(2018.02.08-89107)ENT file dm.key not found, use default license! backup sig: BA backup tool version: 12595 backup db name: jydm backup db magic: -82313077 backup pemnt magic: 1250320462 backup name: jydm backup type: full backup level: offline backup range: database backup description: compressed level: 0 encrypt_type: 0 encrypt_id: 2052 rac node: 0 page check: 0 rlog encrypt: 0 external cipher id: 0 external hash id: 0 length in char: 0 use new hash: 1 backup time: 2020-07-11 19:20:46 page size: 8 KB extent size: 16 case sensitive: 1 log page size: 512 B charset: 0 data version: 0x7000A sys version: V7.1.6.46-Build(2018.02.08-89107)ENT enable policy: 0 mpp_timestamp: 0 crc_check: TRUE parallel type: 0 parallel info len: 0 backup db fil num: 8 archive flag: 1 after backup LSN: 27830642 $bak_seq |$file_path |$size(K) |$used(K) 1|/dm_home/dmdba/dmdbms/data/jydm/bak/DB_jydm_20200711192046000434.bak| 294912.00| 284866.00 $file_seq |$type|$ts_name |$state |$size(K) |$seq_in_bak |$off_in_bak(B) |$len_in_bak(B) |$file_path |$mirror_path 1|DBF |SYSTEM |ONLINE | 23552| 1| 43008| 6766592|/dm_home/dmdba/dmdbms/data/jydm/SYSTEM.DBF | 2|DBF |ROLL |ONLINE | 229376| 1| 6809600| 401408|/dm_home/dmdba/dmdbms/data/jydm/ROLL.DBF | 3|DBF |MAIN |ONLINE | 210944| 1| 7211008| 171753472|/dm_home/dmdba/dmdbms/data/jydm/MAIN.DBF | 4|DBF |BOOKSHOP |ONLINE | 153600| 1| 178964480| 933888|/dm_home/dmdba/dmdbms/data/jydm/BOOKSHOP.DBF | 5|DBF |DMHR |ONLINE | 131072| 1| 179898368| 425984|/dm_home/dmdba/dmdbms/data/jydm/DMHR.DBF | 6|DBF |USERS |ONLINE | 51200| 1| 180324352| 1105920|/dm_home/dmdba/dmdbms/data/jydm/users01.dbf | 7|DBF |SYSAUX |ONLINE | 179200| 1| 181430272| 110256128|/dm_home/dmdba/dmdbms/data/jydm/SYSAWR.DBF | 8|DBF |FG_PERSON |ONLINE | 131072| 1| 291686400| 16384|/dm_home/dmdba/dmdbms/data/jydm/FG_PERSON.DBF | Continue?[Y/N]:Y restore bak_file: /dm_home/dmdba/dmdbms/data/jydm/bak/DB_jydm_20200711192046000434.bak ... start restore database... start restore file: /dm_home/dmdba/dmdbms/data/jydm/SYSTEM.DBF(SYSTEM), pages: 826 end restore file: /dm_home/dmdba/dmdbms/data/jydm/SYSTEM.DBF(SYSTEM) start restore file: /dm_home/dmdba/dmdbms/data/jydm/ROLL.DBF(ROLL), pages: 49 end restore file: /dm_home/dmdba/dmdbms/data/jydm/ROLL.DBF(ROLL) start restore file: /dm_home/dmdba/dmdbms/data/jydm/MAIN.DBF(MAIN), pages: 20966 end restore file: /dm_home/dmdba/dmdbms/data/jydm/MAIN.DBF(MAIN) start restore file: /dm_home/dmdba/dmdbms/data/jydm/BOOKSHOP.DBF(BOOKSHOP), pages: 114 end restore file: /dm_home/dmdba/dmdbms/data/jydm/BOOKSHOP.DBF(BOOKSHOP) start restore file: /dm_home/dmdba/dmdbms/data/jydm/DMHR.DBF(DMHR), pages: 52 end restore file: /dm_home/dmdba/dmdbms/data/jydm/DMHR.DBF(DMHR) start restore file: /dm_home/dmdba/dmdbms/data/jydm/users01.dbf(USERS), pages: 135 end restore file: /dm_home/dmdba/dmdbms/data/jydm/users01.dbf(USERS) start restore file: /dm_home/dmdba/dmdbms/data/jydm/SYSAWR.DBF(SYSAUX), pages: 13459 end restore file: /dm_home/dmdba/dmdbms/data/jydm/SYSAWR.DBF(SYSAUX) start restore file: /dm_home/dmdba/dmdbms/data/jydm/FG_PERSON.DBF(FG_PERSON), pages: 2 end restore file: /dm_home/dmdba/dmdbms/data/jydm/FG_PERSON.DBF(FG_PERSON) end restore database data files. Apply archive log LSN from 27830643 to 27830642, time used:0.000s. restore finished, code = 0! restore successfully! restore time used: 7144.214(ms)
例如,利用歸檔檔案/dm_home/dmdbms/backup/arch還原資料庫,這裡將使用備份檔案還原新的目標庫
1.先將原備份庫的備份檔案和歸檔檔案複製到新還原庫的主機上
[dmdba@shard1 backup]$ scp -r /dm_home/dmdba/dmdbms/data/jydm/bak/DB_jydm_20200711192046000434.bak dmdba@10.138.130.187:/dm_home/dmdbms/backup/ dmdba@10.138.130.187's password: DB_jydm_20200711192046000434.bak 100% 288MB 96.0MB/s 00:03 [dmdba@shard1 backup]$ scp -r /dm_home/dmdba/dmdbms/data/arch dmdba@10.138.130.187:/dm_home/dmdbms/backup/ dmdba@10.138.130.187's password: ARCHIVE_LOCAL1_20200603195207512_0.log 100% 84MB 21.0MB/s 00:04 ARCHIVE_LOCAL1_20200606020009584_0.log 100% 6588KB 6.4MB/s 00:00 ARCHIVE_LOCAL1_20200606061513930_0.log 100% 24KB 24.0KB/s 00:00 ARCHIVE_LOCAL1_20200606062617837_0.log 100% 7168 7.0KB/s 00:00 ARCHIVE_LOCAL1_20200606062943852_0.log 100% 300MB 100.0MB/s 00:03 ARCHIVE_LOCAL1_20200606142842948_0.log 100% 300MB 100.0MB/s 00:03 ARCHIVE_LOCAL1_20200606142846352_0.log 100% 300MB 100.0MB/s 00:03 ARCHIVE_LOCAL1_20200606142902741_0.log 100% 300MB 33.3MB/s 00:09 ARCHIVE_LOCAL1_20200606142909259_0.log 100% 300MB 150.0MB/s 00:02 ARCHIVE_LOCAL1_20200606220653158_0.log 100% 300MB 50.0MB/s 00:06 ARCHIVE_LOCAL1_20200613210000757_0.log 100% 300MB 14.3MB/s 00:21 ARCHIVE_LOCAL1_20200617093523748_0.log 100% 32MB 7.9MB/s 00:04 ARCHIVE_LOCAL1_20200617161801000_0.log 100% 3926KB 3.8MB/s 00:00 ARCHIVE_LOCAL1_20200617170101954_0.log 100% 1464KB 1.4MB/s 00:00 ARCHIVE_LOCAL1_20200617173005734_0.log 100% 8583KB 8.4MB/s 00:01 ARCHIVE_LOCAL1_20200617190859140_0.log 100% 20MB 20.1MB/s 00:01 ARCHIVE_LOCAL1_20200622160035411_0.log 100% 220KB 220.0KB/s 00:00 ARCHIVE_LOCAL1_20200623172303743_0.log 100% 300MB 11.1MB/s 00:27 ARCHIVE_LOCAL1_20200624180051432_0.log 100% 300MB 10.7MB/s 00:28 ARCHIVE_LOCAL1_20200626193023317_0.log 100% 300MB 10.7MB/s 00:28 ARCHIVE_LOCAL1_20200630024319628_0.log 100% 47MB 9.5MB/s 00:05 ARCHIVE_LOCAL1_20200630173436447_0.log 100% 39MB 9.6MB/s 00:04 ARCHIVE_LOCAL1_20200706091427214_0.log 100% 300MB 9.7MB/s 00:31 ARCHIVE_LOCAL1_20200710110030273_0.log 100% 113MB 8.7MB/s 00:13 ARCHIVE_LOCAL1_20200606062454805_0.log 100% 7680 7.5KB/s 00:00 ARCHIVE_LOCAL1_20200606062942967_0.log 100% 7680 7.5KB/s 00:00 ARCHIVE_LOCAL1_20200606064235117_0.log 100% 16KB 15.5KB/s 00:00 ARCHIVE_LOCAL1_20200606142853068_0.log 100% 300MB 10.0MB/s 00:30 ARCHIVE_LOCAL1_20200606142906087_0.log 100% 300MB 23.1MB/s 00:13 ARCHIVE_LOCAL1_20200606142912805_0.log 100% 5120 5.0KB/s 00:00 ARCHIVE_LOCAL1_20200617193955110_0.log 100% 83MB 10.4MB/s 00:08 ARCHIVE_LOCAL1_20200622160200765_0.log 100% 234KB 234.0KB/s 00:00 ARCHIVE_LOCAL1_20200711193829081_0.log 100% 300MB 13.6MB/s 00:22 [dmdba@shard1 backup]$ [dmdba@dmks backup]$ ls -lrt drwxr-xr-x. 2 dmdba dinstall 4096 7月 11 19:47 arch -rw-r--r--. 1 dmdba dinstall 33554432 7月 11 19:50 DB_dmks_FULL_2020_07_11_19_50_30.bak
2.使用原備份庫還原新庫
[dmdba@dmks backup]$ dmrestore ini_path=/dm_home/dmdbms/data/dameng_for_recover/dm.ini file=/dm_home/dmdbms/backup/DB_jydm_20200711192046000434.bak restore V7.1.6.46-Build(2018.02.08-89107)ENT file dm.key not found, use default license! backup sig: BA backup tool version: 12595 backup db name: jydm backup db magic: -82313077 backup pemnt magic: 1250320462 backup name: jydm backup type: full backup level: offline backup range: database backup description: compressed level: 0 encrypt_type: 0 encrypt_id: 2052 rac node: 0 page check: 0 rlog encrypt: 0 external cipher id: 0 external hash id: 0 length in char: 0 use new hash: 1 backup time: 2020-07-11 19:20:46 page size: 8 KB extent size: 16 case sensitive: 1 log page size: 512 B charset: 0 data version: 0x7000A sys version: V7.1.6.46-Build(2018.02.08-89107)ENT enable policy: 0 mpp_timestamp: 0 crc_check: TRUE parallel type: 0 parallel info len: 0 backup db fil num: 8 archive flag: 1 after backup LSN: 27830642 $bak_seq |$file_path |$size(K) |$used(K) 1|/dm_home/dmdbms/backup/DB_jydm_20200711192046000434.bak| 294912.00| 284866.00 $file_seq |$type|$ts_name |$state |$size(K) |$seq_in_bak |$off_in_bak(B) |$len_in_bak(B) |$file_path |$mirror_path 1|DBF |SYSTEM |ONLINE | 23552| 1| 43008| 6766592|/dm_home/dmdba/dmdbms/data/jydm/SYSTEM.DBF | 2|DBF |ROLL |ONLINE | 229376| 1| 6809600| 401408|/dm_home/dmdba/dmdbms/data/jydm/ROLL.DBF | 3|DBF |MAIN |ONLINE | 210944| 1| 7211008| 171753472|/dm_home/dmdba/dmdbms/data/jydm/MAIN.DBF | 4|DBF |BOOKSHOP |ONLINE | 153600| 1| 178964480| 933888|/dm_home/dmdba/dmdbms/data/jydm/BOOKSHOP.DBF | 5|DBF |DMHR |ONLINE | 131072| 1| 179898368| 425984|/dm_home/dmdba/dmdbms/data/jydm/DMHR.DBF | 6|DBF |USERS |ONLINE | 51200| 1| 180324352| 1105920|/dm_home/dmdba/dmdbms/data/jydm/users01.dbf | 7|DBF |SYSAUX |ONLINE | 179200| 1| 181430272| 110256128|/dm_home/dmdba/dmdbms/data/jydm/SYSAWR.DBF | 8|DBF |FG_PERSON |ONLINE | 131072| 1| 291686400| 16384|/dm_home/dmdba/dmdbms/data/jydm/FG_PERSON.DBF | Continue?[Y/N]:Y Warning: Backup file may has been modified ! Continue?[Y/N]:Y restore bak_file: /dm_home/dmdbms/backup/DB_jydm_20200711192046000434.bak ... start restore database... start restore file: /dm_home/dmdbms/data/dameng_for_recover/SYSTEM.DBF(SYSTEM), pages: 826 end restore file: /dm_home/dmdbms/data/dameng_for_recover/SYSTEM.DBF(SYSTEM) start restore file: /dm_home/dmdbms/data/dameng_for_recover/ROLL.DBF(ROLL), pages: 49 end restore file: /dm_home/dmdbms/data/dameng_for_recover/ROLL.DBF(ROLL) start restore file: /dm_home/dmdbms/data/dameng_for_recover/MAIN.DBF(MAIN), pages: 20966 end restore file: /dm_home/dmdbms/data/dameng_for_recover/MAIN.DBF(MAIN) start restore file: /dm_home/dmdbms/data/dameng_for_recover/BOOKSHOP.DBF(BOOKSHOP), pages: 114 end restore file: /dm_home/dmdbms/data/dameng_for_recover/BOOKSHOP.DBF(BOOKSHOP) start restore file: /dm_home/dmdbms/data/dameng_for_recover/DMHR.DBF(DMHR), pages: 52 end restore file: /dm_home/dmdbms/data/dameng_for_recover/DMHR.DBF(DMHR) start restore file: /dm_home/dmdbms/data/dameng_for_recover/users01.dbf(USERS), pages: 135 end restore file: /dm_home/dmdbms/data/dameng_for_recover/users01.dbf(USERS) start restore file: /dm_home/dmdbms/data/dameng_for_recover/SYSAWR.DBF(SYSAUX), pages: 13459 end restore file: /dm_home/dmdbms/data/dameng_for_recover/SYSAWR.DBF(SYSAUX) start restore file: /dm_home/dmdbms/data/dameng_for_recover/FG_PERSON.DBF(FG_PERSON), pages: 2 end restore file: /dm_home/dmdbms/data/dameng_for_recover/FG_PERSON.DBF(FG_PERSON) end restore database data files. Apply archive log LSN from 27830643 to 27830642, time used:0.000s. restore finished, code = 0! restore successfully! restore time used: 44867.245(ms)
使用備份檔案還原資料庫歸檔日誌LSN為27830643
3.使用dmmdbf工具檢視原備份庫中的db_magic為1371967312
[dmdba@shard1 backup]$ dmmdf type=1 file=/dm_home/dmdba/dmdbms/data/jydm/SYSTEM.DBF dmmdf V7.1.6.46-Build(2018.02.08-89107)ENT ********************************************************** 1 db_magic=1371967312 2 next_trxid=3377415 3 pemnt_magic=1250320462 ********************************************************** Please input which parameter you want to change(1-3), q to quit: q
4.使用dmmdf工具檢視目標庫的system.dbf的db_magic並進行修改1371967312
[dmdba@dmks dameng_for_recover]$ dmmdf type=1 file=/dm_home/dmdbms/data/dameng_for_recover/SYSTEM.DBF dmmdf V7.1.6.46-Build(2018.02.08-89107)ENT ********************************************************** 1 db_magic=-82313077 2 next_trxid=3377415 3 pemnt_magic=1250320462 ********************************************************** Please input which parameter you want to change(1-3), q to quit: 1 Please input new value: 1371967312 ********************************************************** 1 db_magic=1371967312 2 next_trxid=3377415 3 pemnt_magic=1250320462 ********************************************************** Do you want to save the change to file (y/n): y Save to file success!
5.使用dmmdf工具檢視目標庫的dameng_for_recover01.log和dameng_for_recover02.log的db_magic並進行修改-82313077
[dmdba@dmks dameng_for_recover]$ dmmdf type=2 file=/dm_home/dmdbms/data/dameng_for_recover/dameng_for_recover01.log dmmdf V7.1.6.46-Build(2018.02.08-89107)ENT ********************************************************** 1 sig = DMRLOG 2 ver = 7004 3 chksum = 0 4 dbversion = 0x7000a 5 sta = 0 6 n_magic = 35 7 db_magic = -82313077 8 clsn_fil = 0 10 next_seq = 304 11 arch_seq = 0 12 len = 268435456 13 free = 4096 14 clsn = 27830642 15 clsn_off = 4096 16 arch_lsn = 0 17 pemnt_magic = 1250320462 18 fil_id = 0 19 crc_check = 1 ********************************************************** You can only reset sta(5) or db_magic (7) or clsn (14) or pemnt_magic(17) or fil_id(18). Please input the num which one you want to change, q to quit: 7 Input the new value: 1371967312 ********************************************************** 1 sig = DMRLOG 2 ver = 7004 3 chksum = 0 4 dbversion = 0x7000a 5 sta = 0 6 n_magic = 35 7 db_magic = 1371967312 8 clsn_fil = 0 10 next_seq = 304 11 arch_seq = 0 12 len = 268435456 13 free = 4096 14 clsn = 27830642 15 clsn_off = 4096 16 arch_lsn = 0 17 pemnt_magic = 1250320462 18 fil_id = 0 19 crc_check = 1 ********************************************************** Do you want to quit and save the change to file (y/n): y Save to file success! [dmdba@dmks dameng_for_recover]$ dmmdf type=2 file=/dm_home/dmdbms/data/dameng_for_recover/dameng_for_recover02.log dmmdf V7.1.6.46-Build(2018.02.08-89107)ENT ********************************************************** 1 sig = DMRLOG 2 ver = 7004 3 chksum = 0 4 dbversion = 0x7000a 5 sta = 0 6 n_magic = 35 7 db_magic = -82313077 8 clsn_fil = 0 10 next_seq = 0 11 arch_seq = 0 12 len = 268435456 13 free = 4096 14 clsn = 0 15 clsn_off = 0 16 arch_lsn = 0 17 pemnt_magic = 1250320462 18 fil_id = 1 19 crc_check = 1 ********************************************************** You can only reset sta(5) or db_magic (7) or clsn (14) or pemnt_magic(17) or fil_id(18). Please input the num which one you want to change, q to quit: 7 Input the new value: 1371967312 ********************************************************** 1 sig = DMRLOG 2 ver = 7004 3 chksum = 0 4 dbversion = 0x7000a 5 sta = 0 6 n_magic = 35 7 db_magic = 1371967312 8 clsn_fil = 0 10 next_seq = 0 11 arch_seq = 0 12 len = 268435456 13 free = 4096 14 clsn = 0 15 clsn_off = 0 16 arch_lsn = 0 17 pemnt_magic = 1250320462 18 fil_id = 1 19 crc_check = 1 ********************************************************** Do you want to quit and save the change to file (y/n): y Save to file success!
6.使用歸檔檔案還原資料庫
[dmdba@dmks backup]$ dmrestore ini_path=/dm_home/dmdbms/data/dameng_for_recover/dm.ini archive_dir=(/dm_home/dmdbms/backup/arch) show_bak_info=2 -bash: syntax error near unexpected token `(' [dmdba@dmks backup]$ dmrestore ini_path=/dm_home/dmdbms/data/dameng_for_recover/dm.ini archive_dir=\(/dm_home/dmdbms/backup/arch\) show_bak_info=2 restore V7.1.6.46-Build(2018.02.08-89107)ENT file dm.key not found, use default license! Continue?[Y/N]:Y try to apply archive log from LSN: 27830642 to LSN: 9223372036854775807. Apply archive log LSN from 27830643 to 27832982, time used:2.811s. restore successfully! restore time used: 3840.401(ms) [dmdba@dmks backup]$
使用歸檔檔案還原資料庫歸檔日誌LSN從27830643(因為使用資料庫備份檔案還原資料庫時LSN27830643)為應用到了27832982。
7.啟動恢復目標庫
[root@dmks init.d]# service DmServicedmrc start Starting DmServicedmrc: [ OK ] [dmdba@dmks dameng_for_recover]$ cat dm.ini | grep PORT_NUM PORT_NUM = 5336 #Port number on which the database server will listen DCP_PORT_NUM = 5237 #Port number on which DCP will listen [dmdba@dmks dameng_for_recover]$ disql sysdba/xxzx7817600@localhost:5336 Server[localhost:5336]:mode is normal, state is open login used time: 19.135(ms) disql V7.1.6.46-Build(2018.02.08-89107)ENT Connected to: DM 7.1.6.46 SQL> select * from t1; LINEID C1 C2 ---------- ----------- ----------- 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 used time: 1.767(ms). Execute id is 4. SQL> select * from t1; LINEID C1 C2 ---------- ----------- ----------- 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 used time: 16.368(ms). Execute id is 4733.
原庫
SQL> select * from t1; LINEID C1 C2 ---------- ----------- ----------- 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 used time: 16.368(ms). Execute id is 4733.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2762166/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DM7使用dmrestore工具利用歸檔日誌還原REST
- DM7使用dmrestore工具利用不同資料庫的歸檔恢復資料庫REST資料庫
- DM7使用dmrestore執行指定時間點或LSN還原REST
- DM7使用dmrestore執行並行對映檔案還原REST並行
- DM7使用DMRMAN執行資料庫還原和恢復資料庫
- DM7 使用dminit工具建立資料庫資料庫
- DM7使用DMRMAN對資料庫執行指定對映檔案還原資料庫
- DM7使用Disql執行表還原SQL
- Sqlserver資料庫使用 .bak 檔案還原資料庫SQLServer資料庫
- 還原資料庫資料庫
- 資料庫還原資料庫
- DM7使用離線工具DMRMAN執行資料庫備份資料庫
- DM7使用DMRMAN執行歸檔還原
- 使用RMAN還原和恢復資料庫資料庫
- 啟明星資料庫批量備份與還原工具資料庫
- DM7使用Disql執行表空間還原SQL
- DM7使用DMRMAN執行表空間還原
- 還原SQL Server資料庫SQLServer資料庫
- 通過資料庫檔案還原資料庫資料庫
- postgresql 使用pg_rman恢復還原資料庫SQL資料庫
- 使用儲存指令碼還原恢復資料庫指令碼資料庫
- Snapshot--使用Snapshot來還原資料庫資料庫
- sqlserver 使用全備和增備 還原資料庫SQLServer資料庫
- 使用mysqldump進行mysql資料庫備份還原MySql資料庫
- 使用RMAN對資料庫進行異機還原資料庫
- MSSQL 備份資料庫還原SQL資料庫
- RMAN資料庫還原測試資料庫
- 還原Android彩信資料庫Android資料庫
- DM7使用Disql執行表還原的複雜用法SQL
- DM7使用DMRMAN執行RAC資料庫恢復資料庫
- 使用RMAN還原資料庫到某個時間點資料庫
- DM7修改資料庫引數資料庫
- 【Mongodb】資料庫備份與還原MongoDB資料庫
- sqlserver資料庫的備份還原SQLServer資料庫
- 「MySQL」資料庫備份和還原MySql資料庫
- 「Oracle」Oracle 資料庫備份還原Oracle資料庫
- 批量備份和還原資料庫資料庫
- 還原點和閃回資料庫資料庫