FRA空间满

FRA空间满:
1、备份Archivelog,释放空间。
2、手工清除Flashback log: alter database flashback off。

在数据库open阶段,rvwr进程需要加载闪回日志文件,由于找不到所以无法正常启动,而在关闭flashback后,rvwr进程被关闭,相应的闪回文件也被删除。
原因: 刚刚看到闪回日志占用空间太多,直接统计OS命令rm删除,导致启动时候报错
解决方案:目前oracle还没有针对flashlog的操作,而falshlog满了之后会自动覆盖之前的内容;手工清除办法就是alter database flashback off;

两种方法:
1、配置RMAN自动管理ARCHIVELOG。也可在RMAN中将数据备份到磁带上,然后将过期的ARCHIVELOG删除;
2、可以手工来处理,步骤如下
    1)将/oracle下的相关ARCHIVELOG日志文件移到别的文件系统下(保留一段时间的ARCHIVELOG日志即可,其他的可移走,用系统命令mv移走)。然后打包、压缩,备份到介质上,此时可将这些移出的文件删除。注意:别在原来的/oracle打包了,否则空间占满了就有些麻烦了。
    2)以oracle用户登录,执行rman target /。如有多个实例此时执行rman target 用户名/密码@实例名,进入rman
    3)在rman中执行
    RMAN>list archivelog all;            /*列出所有的归档日志文件
    RMAN>crosscheck archivelog all;      /*与物理归档日志文件保持同步,之前移走了一部分文件,因此执行此命令后会在/oracle目录下找不到的归档日志标记为expired
    RMAN>list expired archivelog all;    /*列出所有expired(过期)的归档日志文件,此时你就可看到移走的归档日志文件均被标记为expired
    RMAN>delete expired archivelog all;  /*在oracle中删除所有过期的expired文件
    RMAN>list archivelog all;            /*再列出所有的归档日志文件,就可发现移走的日志文件被删掉了
    RMAN>exit                            /*退出

SQL> Show parameter log_archive_dest;
log_archive_dest_10                  string      LOCATION=USE_DB_RECOVERY_FILE_DEST

select sum(PERCENT_SPACE_USED - PERCENT_SPACE_RECLAIMABLE) 
from V$FLASH_RECOVERY_AREA_USAGE;

show parameter db_recovery_file_dest
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u01/app/oracle/oradata/recovery
db_recovery_file_dest_size           big integer 100G

SQL> alter system set db_recovery_file_dest_size=200G scope=spfile;
SQL> shutdown immediate;
SQL> startup open;


---------------------------
1:login database as dba
2:run: show parameter db_recovery_file_dest_size,the size depends on the servers it may change from one to another.

    SQL> show parameter db_recovery_file_dest_size
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest_size           big integer 300G
3:increase the size(about 50g):
    SQL> alter database set  db_recovery_file_dest_size=350g;
4:cd  /u01/app/oracle/oradata/recovery
delete some old ,big dmp file.
5:check the left space of    /u01/app/oracle/oradata/recovery
6 :login database as dba and reset the parameter 
  SQL> alter database set  db_recovery_file_dest_size=300g;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26477398/viewspace-2122494/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26477398/viewspace-2122494/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值