達夢使用聯機SQL執行表空間還原(二)
使用disql執行表空間還原(一)已經對錶空間的最基本最常用的還原場景進行了描述,這裡將介紹一些不常用且較複雜的還原場景。主要內容包括:
1指定歸檔目錄還原
2還原表空間中指定的資料檔案
3指定對映檔案還原
1.指定歸檔目錄還原
由於磁碟空間的影響,伺服器歸檔可能出現分佈在多個目錄的情況。出現這種情況時就需要指定歸檔目錄還原。還原時指定多個歸檔目錄的操作步驟如下:
1) 備份使用者表空間MAIN。
SQL> backup tablespace main to ts_main_bak_for_arch backupset 'E:\dmdbms\backup\ts_main_bak_for_arch'; 操作已執行 已用時間: 00:00:01.116. 執行號:80.
2) 校驗備份。此步驟可選。
SQL> select sf_bakset_check('disk','E:\dmdbms\backup\ts_main_bak_for_arch'); 行號 SF_BAKSET_CHECK('disk','E:\dmdbms\backup\ts_main_bak_for_arch') ---------- --------------------------------------------------------------- 1 1 已用時間: 18.229(毫秒). 執行號:81.
3) 還原使用者表空間MAIN。假設歸檔日誌分佈在目錄為E:\dmdbms\data\arch和E:\dmdbms\data\arch1兩個目錄下。
SQL> alter tablespace main offline; 操作已執行 已用時間: 111.415(毫秒). 執行號:82. SQL> restore tablespace main from backupset 'E:\dmdbms\backup\ts_main_bak_for_arch' with backupdir 'E:\dmdbms\data\arch','E:\dmdbms\data\arch1'; 操作已執行 已用時間: 414.930(毫秒). 執行號:83. SQL> alter tablespace main online; 操作已執行 已用時間: 27.742(毫秒). 執行號:84.
2.還原表空間中指定的資料檔案
DM7不僅支援從資料庫備份和表空間備份中還原表空間,還支援還原表空間中特定的資料檔案。若表空間已經被破壞,則不允許執行特定資料檔案的還原。使用資料庫備份還原表空間或表空間中的資料檔案與使用表空間備份操作類似,區別在於RESTORE語句中指定的備份集為資料庫備份集。因此,本節僅以使用表空間備份為例說明還原資料檔案的操作步驟。
1) 建立待備份的表空間TS_FOR_RES_01, 並在庫目錄下建立3個資料檔案。
SQL> create tablespace ts_for_res_01 datafile 'ts_for_res_01_01.dbf' size 128; 操作已執行 已用時間: 83.275(毫秒). 執行號:87. SQL> alter tablespace ts_for_res_01 add datafile 'ts_for_res_01_02.dbf' size 128; 操作已執行 已用時間: 38.806(毫秒). 執行號:88. SQL> alter tablespace ts_for_res_01 add datafile 'ts_for_res_01_03.dbf' size 128; 操作已執行 已用時間: 42.169(毫秒). 執行號:89.
2) 備份表空間。
SQL> backup tablespace ts_for_res_01 backupset 'E:\dmdbms\backup\ts_for_res_01_bak'; 操作已執行 已用時間: 00:00:01.161. 執行號:93.
3) 查詢資料檔案的檔案編號或路徑。還原指定的資料檔案需知道資料檔案對應的檔案編號或路徑,相關資訊可透過查詢動態檢視V$DATAFILE獲取。
SQL> select group_id,id,path from v$datafile; 行號 GROUP_ID ID PATH ---------- ----------- ----------- ---------------------------------------- 1 0 0 E:\dmdbms\data\jydm\SYSTEM.DBF 2 1 0 E:\dmdbms\data\jydm\ROLL.DBF 3 3 0 E:\dmdbms\data\jydm\TEMP.DBF 4 4 0 E:\dmdbms\data\jydm\MAIN.DBF 5 5 0 E:\dmdbms\data\jydm\BOOKSHOP.DBF 6 6 0 E:\dmdbms\data\jydm\DMHR.DBF 7 7 0 E:\dmdbms\data\jydm\ts_for_res_01_01.dbf 8 7 1 E:\dmdbms\data\jydm\ts_for_res_01_02.dbf 9 7 2 E:\dmdbms\data\jydm\ts_for_res_01_03.dbf 9 rows got 已用時間: 1.655(毫秒). 執行號:94.
如果想還原ts_for_res_01_02.dbf和ts_for_res_01_03.dbf兩個資料檔案,透過查詢結果可知它們的檔案編號(1和2)以及相應的路徑。
4) 校驗備份。此步驟為可選。
SQL> select sf_bakset_check('disk','E:\dmdbms\backup\ts_for_res_01_bak'); 行號 SF_BAKSET_CHECK('disk','E:\dmdbms\backup\ts_for_res_01_bak') ---------- ------------------------------------------------------------ 1 1 已用時間: 32.108(毫秒). 執行號:95.
5) 透過檔案編號還原表空間TS_FOR_RES_01中的資料檔案ts_for_res_01_02.dbf和ts_for_res_01_03.dbf。
SQL> alter tablespace ts_for_res_01 offline; 操作已執行 已用時間: 105.157(毫秒). 執行號:96. SQL> restore tablespace ts_for_res_01 datafile 1,2 from backupset 'E:\dmdbms\backup\ts_for_res_01_bak'; 操作已執行 已用時間: 358.862(毫秒). 執行號:97.
如果不想使用檔案編號還原,使用指定資料檔案路徑還原資料檔案的語句如下:
SQL> restore tablespace ts_for_res_01 datafile 'E:\dmdbms\data\jydm\ts_for_res_01_02.dbf','E:\dmdbms\data\jydm\ts_for_res_01_03.dbf' from backupset 'E:\dmdbms\backup\ts_for_res_01_bak'; 操作已執行 已用時間: 344.008(毫秒). 執行號:98. SQL> alter tablespace ts_for_res_01 online; 操作已執行 已用時間: 24.644(毫秒). 執行號:99.
3.指定對映檔案還原
對映檔案用於指定存放還原目標路徑,即備份集裡面的資料檔案路徑。指定對映檔案還原可以重新指定備份集中資料檔案的路徑。下面以MAIN表空間為例說明如何使用對映檔案還原。
1) 備份MAIN表空間。
SQL>BACKUP TABLESPACE MAIN BACKUPSET '/home/dm_bak/ts_bak_for_map';
2) 使用DMRMAN的DUMP命令生成對映檔案ts_bak_mapped.txt,存至'E:\dmdbms\backup\目錄。檔案中指定資料檔案MAIN.DBF還原後的路徑為E:\dmdbms\data\jydm\MAIN.DBF。
RMAN> dump backupset 'E:\dmdbms\backup\ts_main_bak_for_map' device type disk mapped file 'E:\dmdbms\backup\ts_bak_mapped.txt'; dump backupset 'E:\dmdbms\backup\ts_main_bak_for_map' device type disk mapped file 'E:\dmdbms\backup\ts_bak_mapped.txt'; dump mapped file successfully. time used: 28.360(ms) /**************************************************************/ /*** Delete the unnecessary modified groups **/ /*** Modify the data_path or mirror_path only in one group **/ /**************************************************************/ /**=============================================================**/ /*[jydm_MAIN_FIL_0]*/ fil_id = 0 ts_id = 4 ts_name = MAIN data_path = E:\dmdbms\data\jydm\MAIN.DBF mirror_path = /***************************** END ****************************/
3) 還原MAIN表空間。
SQL> alter tablespace main offline; 操作已執行 已用時間: 119.506(毫秒). 執行號:102. SQL> select * from tab_for_res_2; select * from tab_for_res_2; [-3408]:表空間[MAIN]處於離線狀態. 已用時間: 1.372(毫秒). 執行號:0. SQL> restore tablespace main from backupset 'E:\dmdbms\backup\ts_main_bak_for_map' mapped file 'E:\dmdbms\backup\ts_bak_mapped.txt'; 操作已執行 已用時間: 377.253(毫秒). 執行號:104. SQL> alter tablespace main online; 操作已執行 已用時間: 17.211(毫秒). 執行號:105. SQL> select * from tab_for_res_2; 行號 C1 ---------- ----------- 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 10 rows got 已用時間: 2.604(毫秒). 執行號:106.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2702564/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用聯機SQL執行表空間還原(一)SQL
- DM7使用Disql執行表空間還原SQL
- DM7使用DMRMAN執行表空間還原
- 使用Disql執行表空間還原的複雜用法SQL
- DM7聯機執行SQL語句進行表空間備份SQL
- DM7使用聯機執行SQL語句進行備份還原SQL
- 達夢表空間管理注意事項總結
- DM7使用Disql執行表還原SQL
- 達夢資料庫表空間等空間大小查詢方法總結資料庫
- DM7聯機執行SQL語句進行表備份SQL
- 達夢資料庫表空間管理方法及實戰演示資料庫
- 達夢資料庫SQL執行計劃檢視方法資料庫SQL
- DM7使用Disql執行表還原的複雜用法SQL
- 達夢(DM)資料庫的表空間建立和遷移維護資料庫
- DM7使用dmrestore執行指定時間點或LSN還原REST
- oracle sql 表空間利用率OracleSQL
- [轉帖]達夢資料庫-統計資料表資料量及空間表大小資料庫
- 達夢DSC各種方式備份還原
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- 達夢資料庫獲取SQL真實的執行計劃資料庫SQL
- 達夢SQL優化-回表BLKUP2SQL優化
- 達夢資料庫系統表空間資料檔案遷移過程資料庫
- 16、表空間 建立表空間
- oracle級聯刪除使用者,刪除表空間Oracle
- 達夢資料庫的備份與還原資料庫
- DM7使用DMRMAN執行歸檔還原
- 達夢資料庫之初始化頁大小對於表及表空間的影響分析資料庫
- Oracle新建使用者、表空間、表Oracle
- 臨時表空間和回滾表空間使用率查詢
- MyBatis列印SQL執行時間MyBatisSQL
- 達夢SQL優化利器-ET使用方法SQL優化
- oracle查詢sql執行耗時、執行時間、sql_idOracleSQL
- 達夢資料庫DSC架構下ASM擴容及表空間擴容實施資料庫架構ASM
- SQL Server檢視所有表大小,所佔空間SQLServer
- (Les16 執行資料庫恢復)-表空間恢復資料庫
- DM聯機執行SQL語句進行資料庫備份SQL資料庫
- 表空間使用量查詢
- 查詢表空間使用情況