丢失current状态日志文件

查看当前日志组状态,数据库处于归档模式
  1. SQL> select group#,members,archived,status from v$log;

  2.     GROUP# MEMBERS ARC STATUS
  3. ---------- ---------- --- ----------------
  4.          1 1 NO CURRENT
  5.          2 1 YES UNUSED
  6.          3 1 YES INACTIVE

  7. SQL> archive log list
  8. Database log mode Archive Mode
  9. Automatic archival Enabled
  10. Archive destination /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch
  11. Oldest online log sequence 12
  12. Next log sequence to archive 15
  13. Current log sequence 15
  14. SQL>


做DML操作,生成日志
  1. SQL> create table scott.t tablespace users as select * from dba_objects where 1=2;

  2. Table created.

  3. SQL> insert into scott.t select * from dba_objects;

  4. 86966 rows created.

  5. SQL> commit;

  6. Commit complete.

  7. SQL> select count(*) from scott.t;

  8.   COUNT(*)
  9. ----------
  10.      86966
  11.      
  12. SQL> select group#,members,archived,status from v$log;

  13.     GROUP# MEMBERS ARC STATUS
  14. ---------- ---------- --- ----------------
  15.          1 1 NO CURRENT
  16.          2 1 YES UNUSED
  17.          3 1 YES INACTIVE



删除一日志组(处于current状态)
  1. SQL> !ls /u01/app/oracle/oradata/HU/*.log
  2. /u01/app/oracle/oradata/HU/redo01.log /u01/app/oracle/oradata/HU/redo03.log
  3. /u01/app/oracle/oradata/HU/redo02.log

  4. SQL> !rm /u01/app/oracle/oradata/HU/redo01.log

  5. SQL> !ls /u01/app/oracle/oradata/HU/*.log
  6. /u01/app/oracle/oradata/HU/redo02.log /u01/app/oracle/oradata/HU/redo03.log

  7. SQL> 


查看日志组状态 ,然后手工切换下
  1. SQL> select group#,members,archived,status from v$log;

  2.     GROUP# MEMBERS ARC STATUS
  3. ---------- ---------- --- ----------------
  4.          1 1 NO CURRENT
  5.          2 1 YES UNUSED
  6.          3 1 YES INACTIVE

  7. SQL> alter system switch logfile;

  8. System altered.

  9. SQL> select group#,members,archived,status from v$log;

  10.     GROUP# MEMBERS ARC STATUS
  11. ---------- ---------- --- ----------------
  12.          1 1 NO ACTIVE
  13.          2 1 NO CURRENT
  14.          3 1 YES INACTIVE


尝试在命令行 drop 掉 1号日志组 ,显然是不行的,提示的很清楚,  1号日志组需要归档先
  1. SQL> alter database drop logfile group 1;
  2. alter database drop logfile group 1
  3. *
  4. ERROR at line 1:
  5. ORA-01624: log 1 needed for crash recovery of instance HU (thread 1)
  6. ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/HU/redo01.log'


解决方法:
方法一:该归档
  1. SQL> shutdown immediate
  2. Database closed.
  3. Database dismounted.
  4. ORACLE instance shut down.
  5. SQL> startup mount
  6. ORACLE instance started.

  7. Total System Global Area 830930944 bytes
  8. Fixed Size 2257800 bytes
  9. Variable Size 536874104 bytes
  10. Database Buffers 289406976 bytes
  11. Redo Buffers 2392064 bytes
  12. Database mounted.
  13. SQL> alter database noarchivelog;

  14. Database altered.
  15. SQL> alter database drop logfile group 1;

  16. Database altered.

  17. SQL> alter database add logfile group 1 ('/u01/app/oracle/oradata/HU/redo01.log') size 50m;

  18. Database altered.


  19. SQL> alter database archivelog;

  20. Database altered.

  21. SQL> alter database open;

  22. Database altered.

  23. SQL>

  24. SQL> select count(*) from scott.t;

  25.   COUNT(*)
  26. ----------
  27.      86966

  28. SQL>


方法二:recover的方式恢复重做日志

  1. SQL> shutdown immediate
  2. Database closed.
  3. Database dismounted.
  4. ORACLE instance shut down.
  5. SQL> startup mount
  6. ORACLE instance started.

  7. Total System Global Area 830930944 bytes
  8. Fixed Size 2257800 bytes
  9. Variable Size 536874104 bytes
  10. Database Buffers 289406976 bytes
  11. Redo Buffers 2392064 bytes
  12. Database mounted.
  13. SQL>
  14. SQL> recover database until cancel;
  15. Media recovery complete.
  16. SQL> alter database open resetlogs;

  17. Database altered.

  18. SQL> select group#,members,archived,status from v$log;

  19.     GROUP# MEMBERS ARC STATUS
  20. ---------- ---------- --- ----------------
  21.          1 1 NO CURRENT
  22.          2 1 YES UNUSED
  23.          3 1 YES UNUSED

  24. SQL> select count(*) from scott.t;

  25.   COUNT(*)
  26. ----------
  27.      86966

  28. SQL>






来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31399171/viewspace-2138628/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31399171/viewspace-2138628/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值