ORA-00257: archiver error. Connect internal only, until freed.

1、問題現象:

本來想做一下分區表的實驗,結果用普通用戶登錄Oracle的時候出現了ORA-00257錯誤,但可以用sys用戶登錄。

  1. SQL> connect XXX/XXXX;  
  2. ERROR:  
  3. ORA-00257:archiver error.Connect internal only,until freed. 

2、問題分析:

        可以通過 ho oerr ora 00257  來查看錯誤的詳細信息,突然記起昨天晚上用rman做映像備份的時候也出錯了,後面就有事去了就沒有管了。從錯誤的字面大概可以瞭解到是沒有空間了,需要釋放。由於rman備份是放到flash_recovery_area 裏面的,且flash_recovery_area有大小的限制。

 

首先查一下  flash_recovery_area的大小吧。

 

  1. SQL> show parameter db_recovery  
  2.  
  3. NAME                                 TYPE        VALUE  
  4.  
  5. ------------------------------------ ----------- ------------------------------  
  6.  
  7. db_recovery_file_dest                string      /oracle/app/oracle/flash_recovery_area  
  8.  
  9. db_recovery_file_dest_size          big integer 3852M  
  10.  
  11. SQL> !  
  12.  
  13. [oracle@node flash_recovery_area]$ cd /oracle/app/oracle/flash_recovery_area/  
  14.  
  15. [oracle@node flash_recovery_area]$ du -sh  
  16.  
  17. 3.8G    .  
  18.  

或者查看 v$flash_recovery_area_usage動態表

FILE_TYPE            PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES

-------------------- ------------------ ------------------------- ---------------

CONTROL FILE                        0                         0               0

REDO LOG                              0                         0               0

ARCHIVED LOG                    9.72                         0               9

BACKUP PIECE                     41.8                       .39               4

IMAGE COPY                        48.4                        0               4

FLASHBACK LOG                     0                         0               0

FOREIGN ARCHIVED LOG        0                         0               0

 

從上面可以得出是由於flash_recovery_area目錄空間滿了。

 

3、解決辦法:

方法一:刪除歸檔日誌;

      

方法二:擴大  db_recovery_file_dest_size的有大小

    alter system set db_recovery_file_dest_size=10g;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章