oracle闪回空间使用率,基于ORA-19815闪回空间爆满问题的处理方法

闪回区爆满问题也是经常会遇到的问题,最关键的是闪回设置大小以及归档被默认存放在了闪回目录,恰巧今天又遇到了这个问题,就记录下处理步骤,仅供遇到这类问题的人参考。

一、错误现象描述

1)应用端错误信息

2)数据库端错误信息

二、错误分析

从应用日志看,是由于不能归档导致的DB连接池不能被初始化打开,基本可以判断是由于数据库的归档文件所在磁盘空间满导致。

从数据库日志查看发现确实是由于闪回空间已经爆满,通过查看服务器磁盘空间以及闪回空间大小即可再次验证。

三、详细处理过程

1)登陆数据库服务器,查看磁盘空间使用信息

2)查看数据库错误日志,发现闪回空间爆满

3)登陆数据库,查看闪回路径以及闪回空间使用情况

查看闪回空间设置大小

show parameter recover;

NAME TYPE VALUE

db_recovery_file_dest string /home/U01/app/oracle/fast_recovery_area

db_recovery_file_dest_size big integer 40G

db_unrecoverable_scn_tracking boolean TRUE

recovery_parallelism integer 0

或者利用sql查看闪回路径

select * from v$recovery_file_dest ;

NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID

/home/U01/app/oracle/fast_recovery_area 4.2950E+10 2.1538E+10 0 89 0

查看闪回空间所在磁盘大小

!df -h /home/U01/app/oracle/fast_recovery_area

Filesystem Size Used Avail Use% Mounted on

/dev/sda6 1.6T 504G 1019G 34% /home

查看闪回目录使用大小

!du -hs /home/U01/app/oracle/fast_recovery_area

40G /home/U01/app/oracle/fast_recovery_area

查看闪回空间使用情况

select * from V$RECOVERY_AREA_USAGE;

FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID

CONTROL FILE 0 0 0 0

REDO LOG 7.45 0 7 0

ARCHIVED LOG 100 0 76 0

BACKUP PIECE 0 0 0 0

IMAGE COPY 0 0 0 0

FLASHBACK LOG 0 0 0 0

FOREIGN ARCHIVED LOG 0 0 0 0

AUXILIARY DATAFILE COPY 0 0 0 0

4)删除归档、调整闪回区大小

从上面看确实是闪回空间满了,而占用闪回区满的罪魁祸首就是归档日志。要解决的方法有两个:

删除多余的归档

最佳删除归档的途径是通过rman工具做,如果直接删除文件数据库是识别不到闪回区释放的。

crosscheck archivelog all;

RMAN> delete expired archivelog all;

RMAN> DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7' ;

或者利用下面的语句删除七天前的归档日志

DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'SYSDATE-7' ;

注意:(一般删除归档腾出足够的闪回区后,建议调整归档路径或者调整足够闪回区大小)

alter system set db_recovery_file_dest_size=100G scope=both;

alter system set db_recovery_file_dest_size=100G scope=both

*

ERROR at line 1:

ORA-65040: operation not allowed from within a pluggable database

###数据库为12c,不允许在pdb下操作,需要切换到sys下操作

sql> conn /as sysdba;

Connected.

sql> alter system set db_recovery_file_dest_size=100G scope=both;

System altered.

5)查看闪回区使用情况和其大小

SQL> select * from V$RECOVERY_AREA_USAGE;

FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID

CONTROL FILE 0 0 0 0

REDO LOG 2.98 0 7 0

ARCHIVED LOG 17.08 0 82 0

BACKUP PIECE 0 0 0 0

IMAGE COPY 0 0 0 0

FLASHBACK LOG 0 0 0 0

FOREIGN ARCHIVED LOG 0 0 0 0

AUXILIARY DATAFILE COPY 0 0 0 0

8 rows selected.

6)通知系统管理员启动应用,正常启动

至此问题得以彻底解决

以上这篇基于ORA-19815闪回空间爆满问题的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值