2008年(3500)
分类:
2008-05-04 21:31:03
已选择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 进行的
指定日志: {
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'
指定日志: {
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 进行的
指定日志: {
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'
指定日志: {
cancle
ORA-00308: 无法打开存档日志 'cancle'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
指定日志: {
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行。
下载本文示例代码