zoukankan      html  css  js  c++  java
  • 记一次数据库报ORA-00257: archiver error. Connect internal only, until freed错误的处理办法

    登录oracle数据库报错:ORA-00257: archiver error. Connect internal only, until freed

    网上搜索了下,发现是归档日志把空间占满了,需要清理下

    1. 用sys用户登录
        sqlplus / as sysdba


    2. 看看archiv log所在位置
        SQL> show parameter log_archive_dest;
      NAME                                     TYPE        VALUE
      ------------------------------------ ----------- ------------------------------
      log_archive_dest                   string
      log_archive_dest_1               string
      log_archive_dest_10             string


    3. 一般VALUE为空时,可以用archive log list;检查一下归档目录和log sequence
    SQL> archive log list;
      Database log mode                 Archive Mode
      Automatic archival                   Enabled
      Archive destination                  USE_DB_RECOVERY_FILE_DEST
      Oldest online log sequence     360
      Next log sequence to archive  360
      Current log sequence              362


    4. 检查flash recovery area的使用情况,可以看见archivelog已经很大了,达到96.62
        SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
      FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
      ------------ ------------------ ------------------------- ---------------
      CONTROLFILE                 .13                        0               1
      ONLINELOG                  2.93                        0               3
      ARCHIVELOG                96.62                       0              141
      BACKUPPIECE                   0                         0               0
      IMAGECOPY                      0                         0               0
      FLASHBACKLOG                0                         0               0

    5. 使用rman删除归档日志:

         [oracle@sit01 ~]$ rman target /

         Recovery Manager: Release 11.2.0.4.0 - Production on Tue Aug 25 10:12:30 2020

         Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

         connected to target database: SIT (DBID=1464031195)

         RMAN>


    6. 检查一些无用的archivelog
        RMAN> crosscheck archivelog all;    #
    检查控制文件和实际物理文件的差别


    7. 删除过期的归档
        RMAN> delete expired archivelog all;   # 
    delete expired删除的是那些本来RMAN以为存在但是实际上在磁盘或者磁带上已经被删除了的信息,删除的只是RMAN资料库中的记录
        RMAN> delete archivelog until time 'sysdate-1' ;  
    删除截止到前一天的所有archivelog

    8. 再次查询,发现使用率正常,已经降到23.03
        SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
      FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
      ------------ ------------------ ------------------------- ---------------
      CONTROLFILE                 .13                         0               1
      ONLINELOG                  2.93                         0               3
      ARCHIVELOG                23.03                         0              36
      BACKUPPIECE                   0                         0               0
      IMAGECOPY                     0                         0               0
      FLASHBACKLOG                  0                         0               0

  • 相关阅读:
    业务领域建模Domain Modeling
    用例建模Use Case Modeling
    分析一套源代码的代码规范和风格并讨论如何改进优化代码
    结合工程实践选题调研分析同类软件产品
    如何提高程序员的键盘使用效率
    python知识准备及环境配置
    一张图片在Python操作下的4种玩法(附源码)
    Python中的错误和异常
    当你忘记网站上的密码时怎么办?Python如何快速帮你找回?
    Python最简单的图片爬虫,20行代码带你爬遍整个网站
  • 原文地址:https://www.cnblogs.com/tinycat/p/13558323.html
Copyright © 2011-2022 走看看