有時候Oracle在正常使用一段時間后,連接數據庫,報錯:ORA-00257
原因:空間不足錯誤解決:檢查數據文件和日志文件的存儲空間,進行添加相應數據文件或者對歸檔日志重新設置歸檔路徑在10g及其以上版本中,可能是閃回日志文件不足。我們可以增加其flash_recovery_area(10g以前需要關閉數據庫實例,以后不需要)大小或者刪除歸檔日志。
方法一
增加閃回空間
1 增加sql?
alter system set db_recovery_file_dest_size=21474836480;???? ??????設置使用空間大小(20*1024*1024*1024),20GB
查看sql??select * fromv$recovery_file_dest;
方法二
刪除歸檔日志
1查看一下位置
select * from v$recovery_file_dest
2查看占用了多少空間? 如下2g多了
select sum(percent_space_used)*3/100 fromv$flash_recovery_area_usage;
3 查看閃回區使用率?已經77%了
select * from v$flash_recovery_area_usage;
4 把閃回區的歸檔日志cp到備份文件夾,然后rman target /
5 檢查一些無用的archivelog
crosscheckarchivelog all
6 刪除過期的歸檔
delete expiredarchivelog all
刪除當天-1的歸檔
delete archiveloguntil time 'sysdate-1'
7 文件刪除后空間會釋放,別忘進入到閃回區把空文件夾刪除,rman 會刪除歸檔并不會刪除文件夾。
方法三 把歸檔日志放到其他路徑
alter system setlog_archive_dest_1='location=D:\oracle\archive';
注意 一定要有location
切換日志
alter system switchlogfile;
查看是否切換成功
Select recid,name,first_timefrom v$archived_log;
Log_archive_dest_n 可以設置多個歸檔日志路徑,用n區分
當有多個歸檔日志的時候如果不用某個路徑歸檔日志,設置它等于空就可以了。