flash_recovery_area空间不足

时间:2021-01-02 16:22:59
通过imp导入数据时没反映,后来发现是 db_recovery_file_dest_size=2G,而且flash_recovery_area已占用2G的空间,将其增大到4G,后来空间又满,最后增大到10G,且在导入过程中直接将flash_recovery_area中的之前的日志删了,后来导入又没成功,但这时空间只占用了4G左右,而那个目录空间远不止10g. 后来将flash_recovery_area目录中的内容移动到其它目录,也是一导入几个小表后就死了。查看alert文件提示db_recovery_file_dest_size 占用100%。为什么为这样呢,明明flash_recovery_area目录只使用了几十M。

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     631
Next log sequence to archive   631
Current log sequence           633


SQL> show parameters db_recovery_file_dest;

NAME                        TYPE                   VALUE
------------------       -------------   -------------------
db_recovery_file_dest       string     /usr/oracle/flash_recovery_area
db_recovery_file_dest_size  big integer      10G

5 个解决方案

#1


1、应该是archive log在db_recovery_file_dest_size对应的目录。所以,早导入的时候快速占满。把archive log换个路径即可

2、查看alert文件提示db_recovery_file_dest_size 占用100%。为什么为这样呢,明明flash_recovery_area目录只使用了几十M。
flash_recovery_area 需要rman才能释放

RMAN> rman target /;
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;

#2


该回复于2012-04-26 09:14:49被版主删除

#3


flash_recovery_area 要用rman释放,释放后,再试试看

#4


jdsnhan:
按你的方法可以。谢谢!
之前以为只要删除那个目录的东西就可以了。

有没有这方面的资料,谢谢,刚接触这个。

#5


有没有办法通过RMAN查看到已被占用的空间大小

#1


1、应该是archive log在db_recovery_file_dest_size对应的目录。所以,早导入的时候快速占满。把archive log换个路径即可

2、查看alert文件提示db_recovery_file_dest_size 占用100%。为什么为这样呢,明明flash_recovery_area目录只使用了几十M。
flash_recovery_area 需要rman才能释放

RMAN> rman target /;
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;

#2


该回复于2012-04-26 09:14:49被版主删除

#3


flash_recovery_area 要用rman释放,释放后,再试试看

#4


jdsnhan:
按你的方法可以。谢谢!
之前以为只要删除那个目录的东西就可以了。

有没有这方面的资料,谢谢,刚接触这个。

#5


有没有办法通过RMAN查看到已被占用的空间大小