视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ORA-00257archivererror--数据闪回区满导致无法归档
2020-11-09 11:10:36 责编:小采
文档


ORA-00257: archiver error. Connect internal only, until freed 。,经过检查后发现,我原先偷懒,把归档日志位置放置在了数据

ORA-00257 archiver error--数据闪回区满导致无法归档

系统:Windows Server 2008 R2

数据库版本:Oracle 10.2.0.4

今天上午,一上班就发生错误:

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

数据库状态:打开但不可用。

报警日志:

~Errors in file d:\oracle\product\10.2.0\admin\orcl\bdump\orcl_arc1_3032.trc:~ORA-16038: log 3 sequence# 87 cannot be archived~ORA-19809: limit exceeded for recovery files~ORA-00312: online log 3 thread 1: 'E:\ORACLE10GRAC\ORCL\REDO03.LOG'~

经过检查后发现,我原先偷懒,把归档日志位置放置在了数据库默认的位置上,,就是数据闪回区,这个区域,有2G的空间,而归档日志现在就有2G的大小了,所以导致无法生成新的归档日志,导致了上述错误。

解决办法很多:

因为我的数据库是OTLP在线系统,需要一直提供服务,所以我的最初想法是马上关闭数据库,暂时关闭归档模式,先提供服务,然后再解决问题。

执行命令shutdown immediate,数据库一直不动,原因应该是各客户端一直在连接,所以这个关闭模式,需要没有活动客户端,所以导致数据库一直无法关闭,所以只能关闭重启服务器,让所有客户端掉线。

在服务器启动后,在关闭数据库,在打开数据库到MOUNT模式下,暂时关闭归档模式:

alter database noarchivelog;

然后再关闭数据库,然后再重启,这时候就可以用了。

至于归档模式,可以在客户端连接少的情况,看准时间,重新进行设置。

三种解决办法:

方法1:关闭归档模式。

方法2:增加闪回数据区大小

alter system set db_recovery_file_dest_size=20G scope=both;

方法3:修改归档日志位置。

追加:

请务必注意,如果归档日志位置在闪回区,那么务必注意闪回区容量使用情况,可以通过查看v$flash_recovery_area_usage视图。

select * from v$flash_recovery_area_usage;

下载本文
显示全文
专题