使用聯機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
- DM7聯機執行SQL語句進行表備份SQL
- DM7使用Disql執行表還原的複雜用法SQL
- DM7使用dmrestore執行指定時間點或LSN還原REST
- oracle sql 表空間利用率OracleSQL
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- 16、表空間 建立表空間
- oracle級聯刪除使用者,刪除表空間Oracle
- 查詢過去一段時間內某條sql使用的臨時表空間大小SQL
- DM7使用DMRMAN執行歸檔還原
- Oracle新建使用者、表空間、表Oracle
- 臨時表空間和回滾表空間使用率查詢
- MyBatis列印SQL執行時間MyBatisSQL
- Oraclc 12C使用不一致備份執行跨平臺傳輸表空間
- oracle查詢sql執行耗時、執行時間、sql_idOracleSQL
- SQL Server檢視所有表大小,所佔空間SQLServer
- (Les16 執行資料庫恢復)-表空間恢復資料庫
- DM聯機執行SQL語句進行資料庫備份SQL資料庫
- 查詢表空間使用情況
- 表空間使用量查詢
- 刪使用者刪表空間的操作還能flashback回來嗎?
- 透過空間佔用和執行計劃瞭解SQL Server的行儲存索引SQLServer索引
- DM7使用dmrestore執行並行對映檔案還原REST並行
- DM7聯機執行SQL語句進行歸檔備份SQL
- 執行一條 SQL 語句,期間發生了什麼?SQL
- Oracle表空間Oracle
- oracle 表空間Oracle
- PostgreSQL 表空間SQL
- PostgreSQL:表空間SQL
- oracle 建立表空間和使用者Oracle
- Oracle建立表空間和使用者Oracle
- Oracle中新建表空間、使用者Oracle