通过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

解决方案 »

  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.   

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

  3.   

    jdsnhan:
    按你的方法可以。谢谢!
    之前以为只要删除那个目录的东西就可以了。有没有这方面的资料,谢谢,刚接触这个。
      

  4.   

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