电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:124日期:2023-11-21 16:05:36
冷備份的不完全恢復:基于三種情況 一 冷備份. 建立表空間test,用戶test,表名test 插入數據 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; 進行了兩個事務(commit)和日志切換 commit; alter system archive log current;日志切換同時歸檔 select checkpoint_change#,archive_change# ,controlfile_change# from v$database; 1 984675 983549 984675 初始備份時的scn 此時進行冷備份 執行shutdown immediate 拷貝所有的數據文件,控制文件,在線日志文件,歸檔日志文件,假如需要,spfile,密碼文件 最好多拷貝幾份,以便反復測試使用。 二、添加數據文件 startup 打開數據庫 刪除test.test 表中的所有數據 然后插入數據 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; 進行了兩個事務(commit)和日志切換 commit; 前14條每兩個進行一個commit,同時alter system archive log current; 后面的 每一個進行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產生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 ; 再次完全冷備份當前的數據文件、控制文件、日志文件,歸檔日志文件(沒有歸檔日志文件恢復就成了空話)(當不完全恢復不成功或反復使用時使用,這點很重要,在實際你的生產運行數據庫恢復時也是要這樣。) 恢復:三種方法 基于時間 (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; 這里的是否使用控制文件,取決于原有的控制文件是否損壞,和控制文件發生了變化(比如刪除了表空間的操作,而,刪除數據和表的操作時不會影響到控制文件的變化) A、 基于時間(不使用備份的控制文件) shutdown immediate 使用原來備份的數據文件,控制文件使用最新的,而不是備份的數據文件; SQL> shutdown immediate 數據庫已經關閉。 已經卸載數據庫。 Oracle 例程已經關閉。 SQL> startup mount ORACLE 例程已經啟動。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 數據庫裝載完畢。 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 進行的 指定日志: {=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 進行的 ORA-00278: 此恢復不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00003.001' ORA-00279: 更改 985702 (在 12/17/2005 16:29:20 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00005.001 ORA-00280: 更改 985702 對于線程 1 是按序列 # 5 進行的 ORA-00278: 此恢復不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00004.001' ORA-00279: 更改 985822 (在 12/17/2005 16:29:54 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00006.001 ORA-00280: 更改 985822 對于線程 1 是按序列 # 6 進行的 ORA-00278: 此恢復不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00005.001' 已應用的日志。 完成介質恢復。 SQL> alter database open resetlogs; 數據庫已更改。 ------------------------------到此恢復成功 因為使用的是介質恢復(不完全恢復) 故一定要使用resetlogs,重置日志序列號,和將日志scn歸零,當再次添加數據或引起scn變化的時候 archive_change#將得到和其他連個相近(?)的數字 可以查詢一下 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的記錄發現是scn=985822 故恢復的時候假如直接恢復到第六條數據,就可使用scn=985822 b 基于時間恢復(使用備份的控制文件) 拷貝第一次冷備份的所有的數據文件,控制文件 SQL> shutdown immediate ORA-01109: 數據庫未打開 已經卸載數據庫。 ORACLE 例程已經關閉。 SQL> startup mount ORACLE 例程已經啟動。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 數據庫裝載完畢。 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 進行的 指定日志: {=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 進行的 ORA-00278: 此恢復不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00003.001' ORA-00279: 更改 985702 (在 12/17/2005 16:29:20 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00005.001 ORA-00280: 更改 985702 對于線程 1 是按序列 # 5 進行的 ORA-00278: 此恢復不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00004.001' ORA-00279: 更改 985822 (在 12/17/2005 16:29:54 生成) 對于線程 1 是必需的 ORA-00289: 建議: D:ORACLEORACLE92RDBMSARC00006.001 ORA-00280: 更改 985822 對于線程 1 是按序列 # 6 進行的 ORA-00278: 此恢復不再需要日志文件 'D:ORACLEORACLE92RDBMSARC00005.001' 已應用的日志。 完成介質恢復。 SQL> alter database open resetlogs; 數據庫已更改。 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 基于變更的恢復(不包含備份的控制文件) 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 進行的 指定日志: {=suggested filename AUTO CANCEL}
標簽: Oracle 數據庫
主站蜘蛛池模板: arch电源_SINPRO_开关电源_模块电源_医疗电源-东佑源 | 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | ph计,实验室ph计,台式ph计,实验室酸度计,台式酸度计 | 东莞猎头公司_深圳猎头公司_广州猎头公司-广东万诚猎头提供企业中高端人才招聘服务 | 起好名字_取个好名字_好名网免费取好名在线打分 | 三价铬_环保铬_环保电镀_东莞共盈新材料贸易有限公司 | 商用绞肉机-熟肉切片机-冻肉切丁机-猪肉开条机 - 广州市正盈机械设备有限公司 | 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 | 胃口福饺子加盟官网_新鲜现包饺子云吞加盟 - 【胃口福唯一官网】 | 广东教师资格网-广东教师资格证考试网 | 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 洛阳装修公司-洛阳整装一站式品牌-福尚云宅装饰 | 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | 创富网-B2B网站|供求信息网|b2b平台|专业电子商务网站 | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 | 深圳市八百通智能技术有限公司官方网站 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 实验室隔膜泵-无油防腐蚀隔膜泵-耐腐蚀隔膜真空泵-杭州景程仪器 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 海德莱电力(HYDELEY)-无功补偿元器件生产厂家-二十年专业从事电力电容器 | 润东方环保空调,冷风机,厂房车间降温设备-20年深圳环保空调生产厂家 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | 美名宝起名网-在线宝宝、公司、起名平台 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 工业rfid读写器_RFID工业读写器_工业rfid设备厂商-ANDEAWELL | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | RO反渗透设备_厂家_价格_河南郑州江宇环保科技有限公司 | 跨境物流_美国卡派_中大件运输_尾程派送_海外仓一件代发 - 广州环至美供应链平台 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 解放卡车|出口|济南重汽|报价大全|山东三维商贸有限公司 | 合肥废气治理设备_安徽除尘设备_工业废气处理设备厂家-盈凯环保 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 采暖炉_取暖炉_生物质颗粒锅炉_颗粒壁炉_厂家加盟批发_烟台蓝澳采暖设备有限公司 | 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 旋振筛_不锈钢旋振筛_气旋筛_旋振筛厂家—新乡市大汉振动机械有限公司 |