今天一台服务器的开启了归档,导致文件系统撑满了,由于我们是开发库,没必要开启归档,所以就把数据库改为非归档模式,但是在修改的时候碰到ORA-01143: cannot disable media recovery - file 20 needs media recovery错误。后来将数据文件恢复后才将数据库修改成功。

下面为操作过程

 

  1. SQL> shutdown immediate;  
  2. Database closed.  
  3. Database dismounted.  
  4. ORACLE instance shut down.  
  5. SQL>   
  6. SQL>   
  7. SQL> startup mount  
  8. ORACLE instance started.  
  9.  
  10. Total System Global Area  630521856 bytes  
  11. Fixed Size                  2146992 bytes  
  12. Variable Size             369102160 bytes  
  13. Database Buffers          251658240 bytes  
  14. Redo Buffers                7614464 bytes  
  15. Database mounted.  
  16. SQL>   
  17. SQL>   
  18. SQL> alter database noarchivelog;  
  19. alter database noarchivelog  
  20. *  
  21. ERROR at line 1:  
  22. ORA-01143: cannot disable media recovery - file 20 needs media recovery  
  23. ORA-01110: data file 20: '/home/oracle/oradata/orarpt/vms_rpt.dbf' 
  24.  
  25.  
  26. SQL> recover datafile 20  
  27. ORA-00279: change 1162349663 generated at 11/22/2011 00:03:58 needed for thread  
  28. 1  
  29. ORA-00289: suggestion :  
  30. /home/oracle/product/11.1.0/db_1/dbs/arch1_4578_743881575.dbf  
  31. ORA-00280: change 1162349663 for thread 1 is in sequence #4578  
  32.  
  33.  
  34. Specify log: {<RET>=suggested | filename | AUTO | CANCEL}  
  35. Log applied.  
  36. Media recovery complete.  
  37.  
  38.  
  39.  
  40. SQL> alter database noarchivelog;  
  41.  
  42. Database altered.  
  43.  
  44.  
  45. alter database datafile 20 online;  
  46.  
  47.  
  48.  
  49. SQL> alter database open;  
  50.  
  51. Database altered.  
  52.