色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle冷備份的不完全恢復(fù)(一)

瀏覽:93日期:2023-11-21 16:05:36
冷備份的不完全恢復(fù):基于三種情況 一 冷備份. 建立表空間test,用戶test,表名test 插入數(shù)據(jù) insert into test.test(a,b) values(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate,'yyyy-mm-dd hh24:mi’)); commit; alter system archive log current; 進(jìn)行了兩個事務(wù)(commit)和日志切換 commit; alter system archive log current;日志切換同時歸檔 select checkpoint_change#,archive_change# ,controlfile_change# from v$database; 1 984675 983549 984675 初始備份時的scn 此時進(jìn)行冷備份 執(zhí)行shutdown immediate 拷貝所有的數(shù)據(jù)文件,控制文件,在線日志文件,歸檔日志文件,假如需要,spfile,密碼文件 最好多拷貝幾份,以便反復(fù)測試使用。 二、添加數(shù)據(jù)文件 startup 打開數(shù)據(jù)庫 刪除test.test 表中的所有數(shù)據(jù) 然后插入數(shù)據(jù) insert into test.test(a,b) values(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),to_char(sysdate,'yyyy-mm-dd hh24:mi’)); commit; alter system archive log current; 進(jìn)行了兩個事務(wù)(commit)和日志切換 commit; 前14條每兩個進(jìn)行一個commit,同時alter system archive log current; 后面的 每一個進(jìn)行commit; alter system archive log current; select * from test.test 1 2005-12-17 16:41:41 2005-12-17 16:41:41 2 2005-12-17 16:42:36 2005-12-17 16:42:36 3 2005-12-17 16:29:14 2005-12-17 16:29:14 4 2005-12-17 16:28:26 2005-12-17 16:28:26 5 2005-12-17 16:28:27 2005-12-17 16:28:27 6 2005-12-17 16:29:12 2005-12-17 16:29:12 7 2005-12-17 16:29:49 2005-12-17 16:29:49 8 2005-12-17 16:29:49 2005-12-17 16:29:49 9 2005-12-17 16:30:07 2005-12-17 16:30:07 10 2005-12-17 16:30:09 2005-12-17 16:30:09 11 2005-12-17 16:30:26 2005-12-17 16:30:26 12 2005-12-17 16:30:27 2005-12-17 16:30:27 13 2005-12-17 16:31:04 2005-12-17 16:31:04 14 2005-12-17 16:31:23 2005-12-17 16:31:23 15 2005-12-17 16:31:42 2005-12-17 16:31:42 16 2005-12-17 16:31:56 2005-12-17 16:31:56 17 2005-12-17 16:33:58 2005-12-17 16:33:58 18 2005-12-17 16:34:05 2005-12-17 16:34:05 19 2005-12-17 16:34:10 2005-12-17 16:34:10 20 2005-12-17 16:34:17 2005-12-17 16:34:17產(chǎn)生scn的歷史記錄是 select * from V$log_History 1 1 577296464 1 1 982616 2005-12-17 16:04:04 983547 2 2 577296471 1 2 983547 2005-12-17 16:07:44 983552 3 3 577297714 1 3 983552 2005-12-17 16:07:51 985596 4 4 577297760 1 4 985596 2005-12-17 16:28:34 985702 5 5 577297794 1 5 985702 2005-12-17 16:29:20 985822 6 6 577297813 1 6 985822 2005-12-17 16:29:54 985939 7 7 577297835 1 7 985939 2005-12-17 16:30:13 986021 8 8 577297888 1 8 986021 2005-12-17 16:30:35 986145 9 9 577297926 1 9 986145 2005-12-17 16:31:28 986266 10 10 577298076 1 10 986266 2005-12-17 16:32:05 986803 11 11 577298200 1 11 986803 2005-12-17 16:34:36 987235 12 12 577298250 1 12 987235 2005-12-17 16:36:40 987465 13 13 577298299 1 13 987465 2005-12-17 16:37:30 987584 14 14 577298317 1 14 987584 2005-12-17 16:38:18 987673 15 15 577298507 1 15 987673 2005-12-17 16:38:37 988309 16 16 577298512 1 16 988309 2005-12-17 16:41:46 988312 17 17 577298515 1 17 988312 2005-12-17 16:41:52 988317 18 18 577298516 1 18 988317 2005-12-17 16:41:55 988320 19 19 577298518 1 19 988320 2005-12-17 16:41:56 988323 20 20 577298528 1 20 988323 2005-12-17 16:41:58 988328 21 21 577298563 1 21 988328 2005-12-17 16:42:08 988445 此時 select checkpoint_change#,archive_change# ,controlfile_change# from v$database; 1 987945 987670 987945 shutdown immediate ; 再次完全冷備份當(dāng)前的數(shù)據(jù)文件、控制文件、日志文件,歸檔日志文件(沒有歸檔日志文件恢復(fù)就成了空話)(當(dāng)不完全恢復(fù)不成功或反復(fù)使用時使用,這點很重要,在實際你的生產(chǎn)運行數(shù)據(jù)庫恢復(fù)時也是要這樣。) 恢復(fù):三種方法 基于時間 (alter database ) recover database (automatic) until time ‘2005-12-16 11:09:01’; (alter database ) recover database (automatic) until time ‘2005-12-16 11:09:01’ using backup controlfile; 基于變更 (alter database ) recover database until change 985822; (alter database ) recover database until change 985822using backup controlfile; 基于撤銷 (alter database ) recover database until cancel ; (alter database ) recover database until cancel until change 985822using backupcontrolfile; 這里的是否使用控制文件,取決于原有的控制文件是否損壞,和控制文件發(fā)生了變化(比如刪除了表空間的操作,而,刪除數(shù)據(jù)和表的操作時不會影響到控制文件的變化) A、 基于時間(不使用備份的控制文件) shutdown immediate 使用原來備份的數(shù)據(jù)文件,控制文件使用最新的,而不是備份的數(shù)據(jù)文件; SQL> shutdown immediate 數(shù)據(jù)庫已經(jīng)關(guān)閉。 已經(jīng)卸載數(shù)據(jù)庫。 Oracle 例程已經(jīng)關(guān)閉。 SQL> startup mount ORACLE 例程已經(jīng)啟動。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 數(shù)據(jù)庫裝載完畢。 SQL> recover database until time '2005-12-17 16:30:07' ; ORA-00279: 更改 984674 (在 12/17/2005 16:14:05 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00003.001 ORA-00280: 更改 984674 對于線程 1 是按序列 # 3 進(jìn)行的 指定日志: {=suggested filename AUTO CANCEL} auto ORA-00279: 更改 985596 (在 12/17/2005 16:28:34 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00004.001 ORA-00280: 更改 985596 對于線程 1 是按序列 # 4 進(jìn)行的 ORA-00278: 此恢復(fù)不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00003.001' ORA-00279: 更改 985702 (在 12/17/2005 16:29:20 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00005.001 ORA-00280: 更改 985702 對于線程 1 是按序列 # 5 進(jìn)行的 ORA-00278: 此恢復(fù)不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00004.001' ORA-00279: 更改 985822 (在 12/17/2005 16:29:54 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00006.001 ORA-00280: 更改 985822 對于線程 1 是按序列 # 6 進(jìn)行的 ORA-00278: 此恢復(fù)不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00005.001' 已應(yīng)用的日志。 完成介質(zhì)恢復(fù)。 SQL> alter database open resetlogs; 數(shù)據(jù)庫已更改。 ------------------------------到此恢復(fù)成功 因為使用的是介質(zhì)恢復(fù)(不完全恢復(fù)) 故一定要使用resetlogs,重置日志序列號,和將日志scn歸零,當(dāng)再次添加數(shù)據(jù)或引起scn變化的時候 archive_change#將得到和其他連個相近(?)的數(shù)字 可以查詢一下 SQL> select checkpoint_change#,archive_change# ,controlfile_change# from v$database; CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE# ------------------ --------------- ------------------- 985935 0 985997 SQL> select * from test.test; A B -------------------- -------------------- 2005-12-17 16:29:14 2005-12-17 16:29:14 2005-12-17 16:28:26 2005-12-17 16:28:26 2005-12-17 16:28:27 2005-12-17 16:28:27 2005-12-17 16:29:12 2005-12-17 16:29:12 2005-12-17 16:29:49 2005-12-17 16:29:49 2005-12-17 16:29:49 2005-12-17 16:29:49 已選擇6行。 查詢第六行的時間和log_history的記錄發(fā)現(xiàn)是scn=985822 故恢復(fù)的時候假如直接恢復(fù)到第六條數(shù)據(jù),就可使用scn=985822 b 基于時間恢復(fù)(使用備份的控制文件) 拷貝第一次冷備份的所有的數(shù)據(jù)文件,控制文件 SQL> shutdown immediate ORA-01109: 數(shù)據(jù)庫未打開 已經(jīng)卸載數(shù)據(jù)庫。 ORACLE 例程已經(jīng)關(guān)閉。 SQL> startup mount ORACLE 例程已經(jīng)啟動。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 數(shù)據(jù)庫裝載完畢。 SQL> recover database until time '2005-12-17 16:30:07' using backup controlfile; ORA-00279: 更改 984674 (在 12/17/2005 16:14:05 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00003.001 ORA-00280: 更改 984674 對于線程 1 是按序列 # 3 進(jìn)行的 指定日志: {=suggested filename AUTO CANCEL}auto ORA-00279: 更改 985596 (在 12/17/2005 16:28:34 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00004.001 ORA-00280: 更改 985596 對于線程 1 是按序列 # 4 進(jìn)行的 ORA-00278: 此恢復(fù)不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00003.001' ORA-00279: 更改 985702 (在 12/17/2005 16:29:20 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00005.001 ORA-00280: 更改 985702 對于線程 1 是按序列 # 5 進(jìn)行的 ORA-00278: 此恢復(fù)不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00004.001' ORA-00279: 更改 985822 (在 12/17/2005 16:29:54 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00006.001 ORA-00280: 更改 985822 對于線程 1 是按序列 # 6 進(jìn)行的 ORA-00278: 此恢復(fù)不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00005.001' 已應(yīng)用的日志。 完成介質(zhì)恢復(fù)。 SQL> alter database open resetlogs; 數(shù)據(jù)庫已更改。 SQL> select checkpoint_change#,archive_change# ,controlfile_change# from v$database; CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE# ------------------ --------------- ------------------- 985935 0 985997 SQL> select * from test.test; A B -------------------- -------------------- 2005-12-17 16:29:14 2005-12-17 16:29:14 2005-12-17 16:28:26 2005-12-17 16:28:26 2005-12-17 16:28:27 2005-12-17 16:28:27 2005-12-17 16:29:12 2005-12-17 16:29:12 2005-12-17 16:29:49 2005-12-17 16:29:49 2005-12-17 16:29:49 2005-12-17 16:29:49 已選擇6行。 SQL> B、a 基于變更的恢復(fù)(不包含備份的控制文件) SQL> recover database until change 985822; ORA-00905: 缺少要害字 SQL> recover database until change 985822; ORA-00279: 更改 984674 (在 12/17/2005 16:14:05 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00003.001 ORA-00280: 更改 984674 對于線程 1 是按序列 # 3 進(jìn)行的 指定日志: {=suggested filename AUTO CANCEL}
標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 91aaa免费免费国产在线观看 | 黄色成人毛片 | 久久免费精彩视频 | 成年人国产 | 久草国产在线视频 | 女人张开腿男人猛桶视频 | 97精品福利视频在线 | 国产精品美女一区二区 | 碰碰碰免费公开在线视频 | 精品国产欧美一区二区最新 | 成年人免费网站在线观看 | 毛片免费在线观看 | 免费的一级片网站 | 日韩在线观看视频网站 | 国产成人综合精品一区 | 99精品久久99久久久久 | 久草勉费视频 | 日韩一区二区三区免费视频 | 日本精品夜色视频一区二区 | a级在线观看 | 窝窝社区在线观看www | 欧美亚洲国产激情一区二区 | 久久色国产| 艹美女视频 | 久久中文字幕久久久久91 | 国产精品日本欧美一区二区 | 成人三级视频在线观看 | 国产一区亚洲二区三区毛片 | www.午夜精品 | 一级毛片无毒不卡直接观看 | 国产精品久久久久久久久久直 | a高清免费毛片久久 | 99热久久国产精品免费看 | 99成人国产精品视频 | 91高清国产经典在线观看 | 国产在线观看成人免费视频 | 国产成人综合久久精品红 | 97在线观看免费版 | 亚洲国产午夜精品理论片的软件 | 武松金莲肉体交战在线观看 | 一级特黄一欧美俄罗斯毛片 |