您好,登錄后才能下訂單哦!
使用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.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。