zoukankan      html  css  js  c++  java
  • ORA-00257:archiver error.Connect internal only, until freed

    查看了下V$FLASH_RECOVERY_AREA_USAGE,看看归档目录使用的情况。看情况是归档满了。

    SQL> 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

    ARCHIVELOG                  99.9                         0               200

    BACKUPPIECE                   0                         0               0

    IMAGECOPY                     0                         0               0

    FLASHBACKLOG                  0                         0               0

    注:可以看出,ARCHIVELOG日志已经达到99.9%了。造成归档满的原因是因为有一个用户在做大量更新操作,由于更新操作产生大量重做日志,
    归档日志切换频繁。解决方法是要把大量归档日志清除掉!
    有两种方式可以解决该问题。
    一使用RMAN清除归档日志。
    二修改闪回恢复区的大小DB_RECOVERY_FILE_DEST_SIZE。

    第一种使用RMAN清除归档日志。

    C:Documents and SettingsAdministrator>rman

    RMAN> connect target system/or@devdb

    注:system为oracle用户,myoracle为oracle用户密码,orcl为连接的数据库名称SID。

    RMAN> crosscheck archivelog all;

    RMAN> delete noprompt expired archivelog all;

    注:删除过期的归档

    这样就把归档文件删除了。再进入sqlplus 查看ARCHIVELOG日志使用率!

     

    第二种方法就是增大闪回恢复区的大小。如下:

    SQL>alter system set DB_RECOVERY_FILE_DEST_SIZE=8G;

    在归档数据中要制定备份策略。以免造成该问题。
    configure retention policy to recovery window of 15 days;

    或者在备份时删除日志信息。

    DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; //删除七天前的归档   

    DELETE ARCHIVELOG FROM TIME 'SYSDATE-7'; //删除最近七天到现在的归档

  • 相关阅读:
    全栈程工程师
    月薪8000的程序员和月薪2万的程序员差别在哪里?
    原型中的访问
    关于 基本类型和复合类型 用== 判断的小问题
    使用原型解决构造函数问题
    前端工程师学习路线 --书籍
    程序员成长之路
    GIT学习(1) Pull和Fetch
    OO面向对象编程:第四单元总结及课程总结
    OO面向对象编程:第三单元总结
  • 原文地址:https://www.cnblogs.com/zhangyingbin/p/12490818.html
Copyright © 2011-2022 走看看