使用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-2711613/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DM7使用Disql執行表還原的複雜用法SQL
- DM7使用Disql執行表空間還原SQL
- DM7使用Disql執行表還原SQL
- 使用聯機SQL執行表空間還原(一)SQL
- DM7使用DMRMAN執行表空間還原
- 達夢使用聯機SQL執行表空間還原(二)SQL
- 時間複雜度跟空間複雜度時間複雜度
- 時間複雜度與空間複雜度時間複雜度
- 時間複雜度和空間複雜度時間複雜度
- 時間複雜度O(n)和空間複雜度時間複雜度
- 時間與空間複雜度分析複雜度
- 演算法的空間複雜度演算法複雜度
- 122 演算法的時間複雜度和空間複雜度詳解演算法時間複雜度
- 什麼才是真正的空間複雜度?複雜度
- 那些年忽略的知識:時間複雜度和空間複雜度詳解時間複雜度
- MySQL innodb表使用表空間物理檔案複製表MySql
- 資料結構-邏輯關係&物理關係、時間複雜度、空間複雜度、順序表資料結構時間複雜度
- 到底什麼才是真正的空間複雜度?複雜度
- 如何不用演算法對陣列進行(0時間複雜度,0空間複雜度)排序?演算法陣列時間複雜度排序
- 易被忽略的知識點之 ---- 各種時間複雜度和空間複雜度時間複雜度
- PHP 演算法基礎----時間複雜度和空間複雜度(轉載)PHP演算法時間複雜度
- 最詳細的解說—時間和空間複雜度複雜度
- 冰與火之歌:「時間」與「空間」複雜度複雜度
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- DM7使用dmrestore執行指定時間點或LSN還原REST
- 說說你對演算法中時間複雜度,空間複雜度的理解?如何計算?演算法時間複雜度
- 一文講透演算法中的時間複雜度和空間複雜度計算方式演算法時間複雜度
- 我們常說的演算法時間複雜度和空間複雜度到底是什麼?演算法時間複雜度
- 16、表空間 建立表空間
- 日常分享:關於時間複雜度和空間複雜度的一些優化心得分享(C#)時間複雜度優化C#
- 達夢資料庫Disql用法詳解之Disql命令列命令用法介紹資料庫SQL命令列
- 刪使用者刪表空間的操作還能flashback回來嗎?
- 自學 資料結構四月二十一日_時間複雜度&空間複雜度資料結構時間複雜度
- DM7使用DMRMAN執行歸檔還原
- 1. 時間複雜度和空間複雜度 (7 天掌握演算法面試必考知識點)時間複雜度演算法面試
- Oracle新建使用者、表空間、表Oracle
- hive複雜資料型別的用法Hive資料型別
- 臨時表空間和回滾表空間使用率查詢