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 0
ARCHIVELOG 0 0 0
BACKUPPIECE 0 0 0
IMAGECOPY 0 0 0 0
FLASHBACKLOG 99.93 60.42 485
看空间使用率都99。93了
这是否有问题
又如何处理
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
CONTROLFILE 0 0 0
ONLINELOG 0 0 0 0
ARCHIVELOG 0 0 0
BACKUPPIECE 0 0 0
IMAGECOPY 0 0 0 0
FLASHBACKLOG 99.93 60.42 485
看空间使用率都99。93了
这是否有问题
又如何处理
1 减小db_flashback_retention_target参数值,减少需要保留的FLASHBACKLOG
2 增加db_recovery_file_dest_size参数值,增加闪回区空间。(前提是你有足够的存储空间)
startup mount
alter database flashback off;
alter database open;
这个满了就会hang住
但是这里怎么是 FLASHBACKLOG
有些不理解
不敢肯定满了是否会出问题
你既然设置了flashback最短时间,ORACLE就需要为你负责。
如果你不改,10gR2后ORACLE会覆盖最早的flashback log,并将你的flashback_on 该为off
如果是10gR2,不会挂,但结果不是你想要的。
archivelog默认也是在flash_recovery_area里保存的,不过可以移走。你可以用archive log list;看看archive log的地址 或者是 show parameter log_archive_dest;不过根据你上面的1楼的方法解决
CONTROLFILE 0 0 0
ONLINELOG 0 0 0 0
ARCHIVELOG 0 0 0
BACKUPPIECE 0 0 0
IMAGECOPY 0 0 0 0
FLASHBACKLOG 99.93 60.42 485
来看
archivelog类型没有占用空间
都是FLASHBACKLOG 占用的所以应该按
还一个问题
按说我设置的1440,那为什么查询v$flashback_database_logfile还有一天前的日志文件呢
不应该自己回收空间么
还是说必须自己去设置定时任务清除或手工清除
那么下次ORACLE写的话,会自动删除用不到的日志,腾出空间给新日志。
这个触发点是ORACLE需要空间,如果空间还够,ORACLE会保留以前的日志。