<%@ page contentType="text/html; charset=gb2312"%> Oracle冷备份的不完全恢复(2)
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
Oracle冷备份的不完全恢复(2)
     发布者: 发布时间:2008-03-27

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:\ORACLE\ORACLE92\RDBMS\ARC00003.001
ORA-00280: 更改 984674 对于线程 1 是按序列 # 3 进行的


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 985596 (在 12/17/2005 16:28:34 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00004.001 bitsCN~com
ORA-00280: 更改 985596 对于线程 1 是按序列 # 4 进行的
ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORACLE92\RDBMS\ARC00003.001'


ORA-00279: 更改 985702 (在 12/17/2005 16:29:20 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00005.001
ORA-00280: 更改 985702 对于线程 1 是按序列 # 5 进行的
ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORACLE92\RDBMS\ARC00004.001'


ORA-00279: 更改 985822 (在 12/17/2005 16:29:54 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00006.001
ORA-00280: 更改 985822 对于线程 1 是按序列 # 6 进行的

ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORACLE92\RDBMS\ARC00005.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:\ORACLE\ORACLE92\RDBMS\ARC00003.001
ORA-00280: 更改 984674 对于线程 1 是按序列 # 3 进行的


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 985596 (在 12/17/2005 16:28:34 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00004.001
ORA-00280: 更改 985596 对于线程 1 是按序列 # 4 进行的
ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORACLE92\RDBMS\ARC00003.001'
ORA-00279: 更改 985702 (在 12/17/2005 16:29:20 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00005.001
ORA-00280: 更改 985702 对于线程 1 是按序列 # 5 进行的
ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORACLE92\RDBMS\ARC00004.001'


ORA-00279: 更改 985822 (在 12/17/2005 16:29:54 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00006.001
ORA-00280: 更改 985822 对于线程 1 是按序列 # 6 进行的
ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORACLE92\RDBMS\ARC00005.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:\ORACLE\ORACLE92\RDBMS\ARC00003.001
ORA-00280: 更改 984674 对于线程 1 是按序列 # 3 进行的


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 985596 (在 12/17/2005 16:28:34 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00004.001
ORA-00280: 更改 985596 对于线程 1 是按序列 # 4 进行的
ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORACLE92\RDBMS\ARC00003.001'

ORA-00279: 更改 985702 (在 12/17/2005 16:29:20 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00005.001
ORA-00280: 更改 985702 对于线程 1 是按序列 # 5 进行的
ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORACLE92\RDBMS\ARC00004.001'


已应用的日志。
完成介质恢复。
SQL> alter database open resetlogs;

数据库已更改。

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 bitsCN~com
2005-12-17 16:29:49  2005-12-17 16:29:49

已选择6行。

SQL> select checkpoint_change#,archive_change# ,controlfile_change# from v$database;

CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE#
------------------ --------------- -------------------
985824               0              985886
B、b 基于变更的恢复(包含备份的控制文件)
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 bitsCN.nET*中国网管博客
数据库装载完毕。
SQL> recover database automic until change 985822 using backup controlfile;
ORA-00905: 缺少关键字
#说明这里的automic 是不能使用的


SQL> recover database until  change 985822 using backup controlfile;
ORA-00279: 更改 984674 (在 12/17/2005 16:14:05 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00003.001
ORA-00280: 更改 984674 对于线程 1 是按序列 # 3 进行的


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 985596 (在 12/17/2005 16:28:34 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00004.001
ORA-00280: 更改 985596 对于线程 1 是按序列 # 4 进行的
ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORACLE92\RDBMS\ARC00003.001'

ORA-00279: 更改 985702 (在 12/17/2005 16:29:20 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORACLE92\RDBMS\ARC00005.001
ORA-00280: 更改 985702 对于线程 1 是按序列 # 5 进行的
ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORACLE92\RDBMS\ARC00004.001'

已应用的日志。
完成介质恢复。
SQL> alter database open resetlogs;

数据库已更改。

SQL> select checkpoint_change#,archive_change# ,controlfile_change# from v$database;

CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE#
------------------ --------------- -------------------
            985824               0              985885

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


TAG:
Oracle



(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
Oracle冷备份的不完全恢复(3)
Oracle冷备份的不完全恢复(3)
J2EE中的业务逻辑和数据库访问决策说明
Sun正研制激光芯片 传输性能将达每秒数TB
Sun正研制激光芯片 传输性能将达每秒数TB
Fedora 9 Beta 发布了。
 
最近评论:
        
鍥炲
        
鍥炲
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号