删除Oracle归档日志

有时候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区分

当有多个归档日志的时候如果不用某个路径归档日志,设置它等于空就可以了。

比较好的文章:http://blog.itpub.net/31397003/viewspace-2126503/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。