使用聯機SQL執行表空間還原(一)
使用disql執行表空間還原
介紹使用disql工具如何還原表空間。主要內容包括:
1.使用表空間完全備份還原表空間
2.使用表空間增量備份還原表空間
3.使用資料庫備份還原表空間
1.使用表空間完全備份還原表空間
表空間的還原、恢復操作是一次性完成,因此還原後不需要執行恢復操作。使用表空間完全備份還原表空間的完整步驟如下:
1) 配置歸檔。
2) 保證資料庫處於OPEN或MOUNT狀態。
3) 備份表空間。
SQL> backup tablespace main to ts_main_bak backupset 'E:\dmdbms\backup\ts_main_bak'; 操作已執行 已用時間: 00:00:01.069. 執行號:9.
4) 校驗表空間備份。此步驟為可選,如果確定備份檔案合法可不進行備份校驗。
SQL> select sf_bakset_check('disk','E:\dmdbms\backup\ts_main_bak'); 行號 SF_BAKSET_CHECK('disk','E:\dmdbms\backup\ts_main_bak') ---------- ------------------------------------------------------ 1 1 已用時間: 17.741(毫秒). 執行號:10.
5) 修改表空間為離線。
SQL> alter tablespace main offline; 操作已執行 已用時間: 137.581(毫秒). 執行號:11.
6) 還原表空間。
SQL> restore tablespace main from backupset 'E:\dmdbms\backup\ts_main_bak'; 操作已執行 已用時間: 276.897(毫秒). 執行號:12.
7) 修改表空間為聯機。
SQL> alter tablespace main online; 操作已執行 已用時間: 17.971(毫秒). 執行號:13.
2.使用表空間增量備份還原表空間
在增量備份與基備份同目錄情況下,使用增量備份還原表空間步驟與完全備份一致。當增量備份與基備份不在同一個目錄下時需要使用RESTORE TABLESPACE...WITH BACKUPDIR語句還原。這裡以後面一種情況為例說明使用增量備份還原表空間。步驟如下:
1) 配置歸檔。
2) 保證資料庫處於OPEN或MOUNT狀態。
3) 完全備份表空間。
SQL> backup tablespace main to ts_main_full_bak backupset 'E:\dmdbms\backup\ts_main_full_bak'; 操作已執行 已用時間: 00:00:01.095. 執行號:35.
4) 多次增量備份表空間。
SQL> begin 2 for i in 1 .. 100 loop 3 insert into t1 values(i); 4 end loop; 5 commit; 6 end; 7 / DMSQL 過程已成功完成 已用時間: 3.383(毫秒). 執行號:36. SQL> backup tablespace main increment with backupdir 'E:\dmdbms\backup\ts_main_full_bak' backupset 'E:\dmdbms\backup1\ts_main_incr_bak_01'; 操作已執行 已用時間: 00:00:01.079. 執行號:37. SQL> begin 2 for i in 101 .. 200 loop 3 insert into t1 values(i); 4 end loop; 5 end; 6 / DMSQL 過程已成功完成 已用時間: 1.274(毫秒). 執行號:38. SQL> alter system switch logfile; 操作已執行 已用時間: 14.166(毫秒). 執行號:0. SQL> backup tablespace main increment with backupdir 'E:\dmdbms\backup\ts_main_full_bak','E:\dmdbms\backup1\ts_main_incr_bak_01' backupset 'E:\dmdbms\backup2\ts_main_incr_bak_02'; 操作已執行 已用時間: 00:00:01.081. 執行號:39.
5) 校驗表空間備份。此步驟為可選,如果確定備份檔案合法可不進行備份校驗。
SQL> select sf_bakset_check('disk','E:\dmdbms\backup\ts_main_full_bak'); 行號 SF_BAKSET_CHECK('disk','E:\dmdbms\backup\ts_main_full_bak') ---------- ----------------------------------------------------------- 1 1 已用時間: 20.931(毫秒). 執行號:40. SQL> select sf_bakset_check('disk','E:\dmdbms\backup1\ts_main_incr_bak_01'); 行號 SF_BAKSET_CHECK('disk','E:\dmdbms\backup1\ts_main_incr_bak_01') ---------- --------------------------------------------------------------- 1 1 已用時間: 31.184(毫秒). 執行號:41. SQL> select sf_bakset_check('disk','E:\dmdbms\backup2\ts_main_incr_bak_02'); 行號 SF_BAKSET_CHECK('disk','E:\dmdbms\backup2\ts_main_incr_bak_02') ---------- --------------------------------------------------------------- 1 1 已用時間: 25.171(毫秒). 執行號:42.
6) 修改表空間為離線
SQL> alter tablespace main offline; 操作已執行 已用時間: 98.420(毫秒). 執行號:43.
7) 使用增量備份E:\dmdbms\backup2\ts_main_incr_bak_02還原表空間。
SQL> restore tablespace main from backupset 'E:\dmdbms\backup2\ts_main_incr_bak_02' with backupdir 'E:\dmdbms\backup\ts_main_full_bak','E:\dmdbms\backup1\ts_main_incr_bak_01'; 操作已執行 已用時間: 370.046(毫秒). 執行號:44.
8) 修改表空間為聯機。
SQL> alter tablespace main online; 操作已執行 已用時間: 15.717(毫秒). 執行號:45. SQL> select count(*) from t1; 行號 COUNT(*) ---------- -------------------- 1 200 已用時間: 1.345(毫秒). 執行號:46.
3.使用資料庫備份還原表空間
使用資料庫備份還原表空間可以快速還原一個或多個表空間,而不影響資料庫中其他的表空間和物件。在資料庫中僅有特定的表空間損壞且沒有表空間備份的情況下,可以選擇使用此種方式還原。
具體步驟如下:
1) 配置歸檔。
2) 保證資料庫處於OPEN或MOUNT狀態。
3) 建立資料庫完全備份。
SQL> backup database full to db_jydm_full_bak backupset 'E:\dmdbms\backup\ts_jydm_full_bak'; 操作已執行 已用時間: 00:00:01.198. 執行號:50.
4) 校驗表空間備份。此步驟為可選,如果確定備份檔案合法可不進行備份校驗。
SQL> select sf_bakset_check('disk','E:\dmdbms\backup\ts_jydm_full_bak'); 行號 SF_BAKSET_CHECK('disk','E:\dmdbms\backup\ts_jydm_full_bak') ---------- ----------------------------------------------------------- 1 1 已用時間: 46.115(毫秒). 執行號:51.
5) 修改表空間為離線。
SQL> alter tablespace main offline; 操作已執行 已用時間: 96.596(毫秒). 執行號:52.
6) 還原表空間。
SQL> restore tablespace main from backupset 'E:\dmdbms\backup\ts_jydm_full_bak'; 操作已執行 已用時間: 326.842(毫秒). 執行號:53.
7) 修改表空間為聯機。
SQL> alter tablespace main online; 操作已執行 已用時間: 17.338(毫秒). 執行號:54. SQL> select count(*) from t1; 行號 COUNT(*) ---------- -------------------- 1 200 已用時間: 1.969(毫秒). 執行號:55.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2702562/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 達夢使用聯機SQL執行表空間還原(二)SQL
- DM7使用Disql執行表空間還原SQL
- DM7使用DMRMAN執行表空間還原
- 使用Disql執行表空間還原的複雜用法SQL
- DM7聯機執行SQL語句進行表空間備份SQL
- DM7使用聯機執行SQL語句進行備份還原SQL
- 還原表空間系列命令之一
- 還原表空間系列命令之二
- DM7使用Disql執行表還原SQL
- 表空間sqlSQL
- 還原表空間過大的解決方案
- DM7聯機執行SQL語句進行表備份SQL
- 檢視單個SQL消耗TEMP表空間以及TEMP表空間使用率SQL
- DM7使用Disql執行表還原的複雜用法SQL
- sql檢視所有表空間使用情況SQL
- DM7使用dmrestore執行指定時間點或LSN還原REST
- 檢視臨時表空間佔用及當前天在執行的sqlSQL
- 檢視SQL SERVER表的空間使用情況SQLServer
- 表空間常用sql彙總SQL
- 貼一個求表空間的sql 語句SQL
- 2 Day DBA-管理Oracle例項-使用還原指導來計算最小的還原表空間大小Oracle
- 將表從一個表空間遷移到另外一個表空間
- 【原創】表空間相關操作
- 取得所有使用者表空間資訊的sqlSQL
- 檢視SQL SERVER表的空間使用情況(續)SQLServer
- 使用一個T-SQL語句批量查詢資料表佔用空間及其行數SQL
- 臨時表空間達到幾十G,執行SQL語句報錯解決SQL
- oracle的還原表空間UNDO寫滿磁碟空間,解決該問題的具體步驟Oracle
- oracle sql 表空間利用率OracleSQL
- Oracle SQL 基本操作之 表空間OracleSQL
- 修改表空間的SQL程式碼SQL
- oracle級聯刪除使用者,刪除表空間Oracle
- oracle 表空間,臨時表空間使用率查詢Oracle
- DM7使用DMRMAN執行歸檔還原
- oracle跨版本與平臺執行傳輸表空間Oracle
- 查詢數oracle據庫表空間使用率sqlOracleSQL
- 詳細顯示資料表空間的使用率與剩餘空間的SQLSQL
- oracle expdp、impdp匯入從原表空間更換到其他表空間 ----匯入到另個表空間測試Oracle