发布于 2016-03-23 03:23:36 | 193 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Oracle关系数据库管理系统

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。


今天在使用oracle数据库做项目时,突然报错:ORA-00257: archiver error. Connect internal only, until freed,该问题如何解决呢?经过本人一番折腾此问题还要归档于日志满了,下面小编把Oracle归档日志写满(ora-00257)的解决办法在此分享给大家供大家参考

oracle数据库报错ORA-00257: archiver error. Connect internal only, until freed ,如何解决呢?此问题定位在归档日志满了,下面把具体解决办法总结分享给大家。

解决办法:

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE; --查看归档内容使用情况
FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE                   0                         0               0
ONLINELOG                     0                         0               0
ARCHIVELOG                  99.9                         0               255
BACKUPPIECE                   0                         0               0
IMAGECOPY                     0                         0               0
FLASHBACKLOG                  0                         0               0

注:可以看出,ARCHIVELOG日志已经达到99.9%了。要把它清除掉!

SQL> quit

C:\Documents and Settings\Administrator>rman

RMAN> connect target system/myoracle@orcl

注:system为oracle用户,myoracle为oracle用户密码,orcl为连接的数据库名称SID。

RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;

注:删除过期的归档

这样就把归档文件删除了。再进入sqlplus 查看ARCHIVELOG日志使用率!

第二种方法就是增大闪回日志文件的最大大小。如下:



alter system set DB_RECOVERY_FILE_DEST_SIZE=10g

以上处理方法是当遇到出现日志写满报错时的处理,建议最好做个任务,定时删除日志,如下:


DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; //删除七天前的归档  
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7'; //删除七天到现在的归档 

以上内容是关于Oracle归档日志写满(ora-00257)了的解决办法,希望大家喜欢。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务