ORA-00257 archive error、noarchivelog

1.由歸檔日誌空間滿了引發的ORA-00257

2.不啓用歸檔日誌

從昨天下午往自己的電腦導入數據包,導到一個地方就卡住不走了。

今天早上想把用戶刪了重新建用戶,在重新導包,發現刪不了用戶,卡住了

嘗試用用戶登錄,登錄不了,sqlplus卡住,PL\SQL報錯 oracle-00257

解放方法:

看看archive log所在位置

SQL> show parameter log_archive_dest;

VALUE爲空時,可以用archive log list;檢查一下歸檔目錄和log sequence
SQL> archive log list;

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;


看archivelog大小

計算flash recovery area已經佔用的空間
    SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

到recovery目錄,找到archivelog,把它刪掉

SQL> show parameter recover;



再回來查一下flash recovery area的使用情況

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;


archivelog的大小沒有變

退出sql,進入rman,用RMAN維護控制文件,否則空間顯示仍然不釋放

檢查所有的archivelog


刪除過期的歸檔,(因爲是用自己的電腦搭建環境用,所以選擇把archivelog全部都刪了)
    RMAN> delete expired archivelog all;
    注:delete archivelog until time 'sysdate-1' ; 刪除截止到前一天的所有archivelog

退出rman

用sys用戶登錄,

SQL>shutdown immediate;

SQL>startup mount;

SQL>alter database noarchivelog                --必須在mount狀態下更改,我並不需要讓日誌歸檔

SQL>startup open;


重新關閉再啓動 或startup force

SQL>select group#,sequence#,status,archived from v$log;


再次查詢flash recovery area的使用情況

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;


至此,解決。

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