oracle网络ora文件,Oracle错误—ORA-03113:在通信信道文件的末尾(归档日志处理)...

d1da15010a62c74b90395c4ca66a8429.png

登录oracle失败,出现一个错误“ORA-01034”和“ORA-27101”如图:

然后就就通过命令提示符去登陆Oracle,去查看怎么回事,然后问题进一步出现。错误“ORA-03113:通信通道的文件结尾进程 ID:6320 回话 ID :191 序列号:3”。

问题根源

0c4f31d6c725e72daf16942f8c8b5223.png

Oracle出现错误。于是去错误日志里去找问题根源:在 trace\目录下找到oracle_ora_6320.trc文件。打开显示错误日志:

RA-19815: 警告:db_recovery_file_dest_size 字节 (共 4102029312 字节) 已使用 100.00%, 尚有 0 字节可用。

************************************************************************

You have followingchoices to free up space from recovery area:

1. Consider changingRMAN RETENTION POLICY. If you are using Data Guard,

then consider changing RMAN ARCHIVELOGDELETION POLICY.

2. Back up files totertiary device such as tape using RMAN

BACKUP RECOVERY AREA command.

3. Add disk space andincrease db_recovery_file_dest_size parameter to

reflect the new space.

4. Delete unnecessaryfiles using RMAN DELETE command. If an operating

system command was used to delete files,then use RMAN CROSSCHECK and

DELETE EXPIRED commands.

************************************************************************

ORA-19809:超出了恢复文件数的限制

ORA-19804: 无法回收33961984 字节磁盘空间 (从 4102029312 限制中)

*** 2014-08-1608:18:55.502 4132 krsh.c

ARCH: Error 19809Creating archive log file to'E:\APP\KANG\FLASH_RECOVERY_AREA\ORACLE\ARCHIVELOG\2014_08_16\O1_MF_1_159_%U_.ARC'

*** 2014-08-1608:18:55.502 2747 krsi.c

krsi_dst_fail: dest:1err:19809 force:0 blast:1

DDE: Problem Key 'ORA312' was flood controlled (0x1) (no incident)

ORA-00312: 联机日志 3 线程1: 'E:\APP\KANG\ORADATA\ORACLE\REDO03.LOG'

ORA-16038: 日志 3sequence# 159 无法归档

ORA-19809:超出了恢复文件数的限制

ORA-00312: 联机日志 3 线程1: 'E:\APP\KANG\ORADATA\ORACLE\REDO03.LOG'

*** 2014-08-1608:18:55.565

USER (ospid: 6320):terminating the instance due to error 16038

从这里我们发现了问题的根源:“

ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 4102029312 字节) 已使用100.00%, 尚有 0 字节可用。” 是db_recovery_file_dest_size也叫归档日志空间不足导致的。既然找到问题的根源,那就好解决了。

解决途径

空间小,,一个是将空间设置大点,还有一个就是将多余的文件删除掉就可以。那么我们就将这两个办法都使用一下。

通过命令窗体:

--------设置归档日志空间的大小

sqlplus / as sysdba shutdown abort     ----关闭进程

startup mount                          ---- 装载数据库

select * from v$recovery_file_dest;    ---查询归档日志

db_recovery_file_dest_size=10737418240; --设置归档日志空间为10G

Exit ---到这里空间大小已经设置完毕

--------删除归档日志(推荐)#进入rman工具窗体

rman target /

RMAN>crosscheck archivelog all;  --执行这个命令能够把无效的expired的archivelog标出来。

RMAN>deletenoprompt archivelog until time "sysdate -3";  -- -即删除3天前的归档日志

另外一种删除方式UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除 find /archivelog目录 -xdev -mtime +3 -name "*.dbf" -exec rm -f {} ; 这样做仍然会在RMAN里留下未管理的归档文件 仍需要在RMAN里执行下面2条命令 crosscheck archivelog all; delete expired archivelog all;

到这里就彻底ok了。

接下来又一次打开数据库:正常使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值