科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Oracle冷备份的不完全恢复

Oracle冷备份的不完全恢复

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

冷备份的不完全恢复:基于三种情况 一 冷备份. 建立表空间test,用户test,表名test 插入数据 insert into test.test(a,b) values(to_char(sysdate,\\\'yyyy-mm-dd hh24:mi

作者:中国IT实验室 来源:中国IT实验室 2007年10月1日

关键字: ORACLE

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)



已选择6行。

SQL>
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> select checkpoint_change#,archive_change# ,controlfile_change# from v$database;

CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE#
------------------ --------------- -------------------
            987124               0              987124

SQL
这里关闭后重启发现 CHECKPOINT_CHANGE和controlfile_change# from v$database
数字变了,而ARCHIVE_CHANGE#依然是0,说明什么问题呢???
如果添加数据后
SQL> insert into test.test(a,b) values(to_char(sysdate,'YYYY-MM-DD hh24:mi:ss'),to_char(sysdate,'YYYY-MM-DD hh24:mi
:ss'));

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system archive log current;

系统已更改。

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

CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE#
------------------ --------------- -------------------
987124          987744              987747
添加数据后发现archive 和控制文件的scn一致,但check_point 的scn没变
下面的事件

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> select checkpoint_change#,archive_change# ,controlfile_change# from v$database;

CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE#
------------------ --------------- -------------------
            987906          987744              987906

SQL>
发现CHECKPOINT_CHANGE# 和CONTROLFILE_CHANGE#序号始终一致,而日志scn
值得思考????????
C a基于取消(不包含备份的控制文件)
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 cancel;
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}

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'


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}

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'


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}

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'


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
SQL> alter database open resetlogs;

数据库已更改。

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

CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE#
------------------ --------------- -------------------
            985824               0              985886

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>
C b基于取消(包含备份的控制文件)
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> recover database until cancel using backup controlfile;
ORA-01034: ORACLE not available


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 cancel 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}

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'


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}

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'


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}

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'


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancle
ORA-00308: 无法打开存档日志 'cancle'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
SQL> alter database open resetlogs;

数据库已更改。

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

CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROLFILE_CHANGE#
------------------ --------------- -------------------
            985824               0              985886

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>

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件