今天上午,公司的一台数据库HDIC的其中一个磁盘空间满了,导致归档失败,外部程序无法连入。
经过详细检查,发现是由于设置了强制的恢复点(v$restore_point)造成的,于是删除掉不用的恢复点。
但是现在还是出现了磁盘空间大量占用的情况,经检查,是DATABASE FLASHBACK LOG占用的,用了1.4TB,挺吓人的。
查询v$flashback_database_logfile确定文件名后,进入ASMCMD手工删了一些。但是v$flashback_database_logfile中还有记录,挺不爽的,做事就要做得干净彻底嘛。
经过思考和实践,发现了删除v$flashback_database_logfile记录的方法,
其实很简单,那就是先将数据库参数db_recovery_file_dest_size改小,改成你希望的目标大小,
然后ORACLE后台程序会默默地删除相应的文件及视图v$flashback_database_logfile相应的记录。
这时你可以在ASMCMD环境中用lsdg 查看磁盘卷组可用空间大小在增长。待完成这一步之后,再将参数db_recovery_file_dest_size改回来即可。
--alter system set db_recovery_file_dest_size=1047883M ;
alter system set db_recovery_file_dest_size=1000M ;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/350519/viewspace-1057873/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/350519/viewspace-1057873/