大家好:
我之前为数据库做过 alter database clear unarchived logfile group... 的操作。
现在发现当时数据库序列号是34,下一个归档的日志序列号是0,如下:
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /ora01/oracle/oradata/demo/archivelog
Oldest online log sequence 34
Next log sequence to archive 0
Current log sequence 34
SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
------------------ ------------------ ------------------ ------------------ ------------------ --------- ------------------------------------------------ ------------------ ------------------
1 1 34 52428800 2 YES INACTIVE 1644109 23-JAN-13
3 1 0 52428800 2 NO CLEARING_CURRENT 1644161 23-JAN-13
2 1 0 52428800 2 YES UNUSED 0SQL> alter database clear unarchived logfile group 3;
alter database clear unarchived logfile group 3
*
ERROR at line 1:
ORA-00322: log 3 of thread 1 is not current copy
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03_2.log'
ORA-00322: log 3 of thread 1 is not current copy
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03.log'
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required
SQL> alter database drop logfile group 3;
alter database drop logfile group 3
*
ERROR at line 1:
ORA-01623: log 3 is current log for instance demo (thread 1) - cannot drop
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03.log'
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03_2.log'
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
--------
请问我要如何操作才能成功恢复打开数据库?
待复,感谢!
我之前为数据库做过 alter database clear unarchived logfile group... 的操作。
现在发现当时数据库序列号是34,下一个归档的日志序列号是0,如下:
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /ora01/oracle/oradata/demo/archivelog
Oldest online log sequence 34
Next log sequence to archive 0
Current log sequence 34
SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
------------------ ------------------ ------------------ ------------------ ------------------ --------- ------------------------------------------------ ------------------ ------------------
1 1 34 52428800 2 YES INACTIVE 1644109 23-JAN-13
3 1 0 52428800 2 NO CLEARING_CURRENT 1644161 23-JAN-13
2 1 0 52428800 2 YES UNUSED 0SQL> alter database clear unarchived logfile group 3;
alter database clear unarchived logfile group 3
*
ERROR at line 1:
ORA-00322: log 3 of thread 1 is not current copy
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03_2.log'
ORA-00322: log 3 of thread 1 is not current copy
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03.log'
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required
SQL> alter database drop logfile group 3;
alter database drop logfile group 3
*
ERROR at line 1:
ORA-01623: log 3 is current log for instance demo (thread 1) - cannot drop
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03.log'
ORA-00312: online log 3 thread 1: '/ora01/oracle/oradata/demo/redo03_2.log'
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
--------
请问我要如何操作才能成功恢复打开数据库?
待复,感谢!
之后,执行多次alter system archive log current;什么错误?怎么会执行alter system archive log current;这个命令?
切换日志是用switch logfile啊日志操作命令详细查看文章:http://blog.csdn.net/java3344520/article/details/7196433
SQL> alter system archive log current;
alter system archive log current
*
ERROR at line 1:
ORA-16038: log 1 sequence# 9 cannot be archived
ORA-00312: online log 1 thread 1: '/ora01/oracle/oradata/demo/redo01.log'
ORA-00312: online log 1 thread 1: '/ora01/oracle/oradata/demo/redo01_2.log'
----
执行alter system switch lofile;就卡住久,没反应?
----
请问我第一楼所反映的问题,应怎么才能解决呢?只能shutdown immdiate后alter database open resetlogs; 解决吗?