出现这个问题的原因一般是日志满了。这里以用户tt为例:

一、用sys用户登录

sqlplus sys/pass@tt as sysdba

二、看看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

三、一般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

四、检查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

五、计算flash recovery area已经占用的空间

SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;
    SUM(PERCENT_SPACE_USED)*3/100
    -----------------------------
    2.9904

六、找到recovery目录, show parameter recover

SQL> show parameter recover;
    NAME                                         TYPE          VALUE
    ------------------------------------        -----------     ------------------------------
    db_recovery_file_dest                string           /u01/app/oracle/flash_recovery_area
    db_recovery_file_dest_size        big integer   5G
    recovery_parallelism                   integer         0

上述结果告诉我们,归档位置用的是默认值,放在flash_recovery_area下(db_recovery_file_dest目录=/u01/app/oracle/flash_recovery_area)
    [root@sha3 10.2.0]# echo $ORACLE_BASE
    /u01/app/oracle
    [root@sha3 10.2.0]# cd $ORACLE_BASE/flash_recovery_area/tt/archivelog
    转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件(比如360以后的)
    ---------------------------------------------------------------------------------------
    注意:
    在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。
    ---------------------------------------------------------------------------------------

七、rman target sys/pass

[root@sha3 oracle]# rman target sys/pass
    Recovery Manager: Release 10.2.0.4.0 - Production on Tue Jan 20 01:41:26 2009
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    connected to target database: tt (DBID=4147983671)

八、检查一些无用的archivelog

RMAN> crosscheck archivelog all;

九、删除过期的归档

RMAN> delete expired archivelog all;
    delete archivelog until time 'sysdate-1' ; 删除截止到前一天的所有archivelog

十、再次查询,发现使用率正常,已经降到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

十一、其它有用的Command

    1.如果archive log模式下不能正常startup,则先恢复成noarchive log,startup成功后,再shutdown;
      shutdown immediate;
      startup mount;
      alter database noarchivelog;
      alter database open;
      shutdown immediate;

     2.再次startup以archive log模式
      shutdown immediate;
      startup mount;
      show parameter log_archive_dest;
      alter database archivelog;
      archive log list;               
      alter database open;

      3.如果还不行,则删除一些archlog log
      SQL> select group#,sequence# from v$log;
     GROUP# SEQUENCE#
     ----------    ----------
     1              62
     3              64
     2              63
     原来是日志组一的一个日志不能归档
     SQL> alter database clear unarchived logfile group 1;
     alter database open;

4.最后,也可以指定位置Arch Log, 请按照如下配置

select name from v$datafile;
     alter system set log_archive_dest='/opt/app/oracle/oradata/usagedb/arch' scope=spfile
     或者修改大小
     SQL> alter system set db_recovery_file_dest_size=3G scope=both;

参考文档

转载文档: http://www.2cto.com/database/201109/104615.html

【转】ORA-00257:archiver error. 错误的处理方法的更多相关文章

  1. 【ORA】ORA-00257 archiver error. 错误的处理方法

    今天连接数据库,结果报错,ora-00257查看 [oracle@exam oracle]$ oerr ora 00257 00257, 00000, "archiver error. Co ...

  2. 今天早上刚刚碰到的一个问题oracle数据归档已满,只能进行内部连接,ORA-00257 archiver error. 错误的处理方法

    archive log 日志已满ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法1. 用sys用户登录  sq ...

  3. ORA-00257 archiver error. 错误的处理方法

    archive log 日志已满 方法/步骤 1 SecureCRT登录服务器,切换用户oracle,连接oracle [root@userbeta~]# su - oracle [oracle@us ...

  4. navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法

    原文:navicat连接oracle数据库报ORA-28547: connection to server failed, probable Oracle Net admin error错误的解决方法 ...

  5. Nagios Apache报Internal Server Error错误的解决方法

    今天配置Nagios的时候遇到了一些麻烦,前面的步骤都一切顺利,nagios运行后,可以看到nagios的主页,但点击左边的菜单时总是提示Internal Server Error错误.错误如下: v ...

  6. nginx提示:500 Internal Server Error错误的解决方法

    现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 ...

  7. 【转】nginx提示:500 Internal Server Error错误的解决方法

    本文转自:http://www.jb51.net/article/35675.htm 现在越来越多的站点开始用 Nginx ,("engine x") 是一个高性能的 HTTP 和 ...

  8. 关于ASP.NET 服务器报错 Server Error in '/' Application Runtime Error 错误及解决方法

    今天遇到一个错误 程序在服务器上运行时报错 先贴上错误代码 自己也在网上找了一些解决方法,把错误定位到服务器的配置文件也就是Web.config的问题, 于是在system.web节点下 加上cust ...

  9. ORA-28547:connection to server failed, probable Oracle Net admin error错误,解决方法

    当用navicat连接oralce数据库时报ORA-28547错误时,直接懵逼了,上网查了资料说是navicat自带的oci.dll文件的版本和服务器端的oralce数据库的版本不一致造成的. 修改O ...

随机推荐

  1. “由于无法验证发行者,所以WINDOWS已经阻止此软件”的解决方法

    Vista 和 Windows7 系统都很注重系统的安全性,在提高安全性的同时,也给我们某些应用带来不便,例如需要安装插件或证书,可能会弹出“由于无法验证发行者,所以WINDOWS已经阻止此软件”的相 ...

  2. JS笔记(一):基础知识

    (一) 标识符 标识符就是一个名字,在JS中,标识符用来对变量和函数命名,或者用做JS代码中某些循环语句中的跳转位置的标记.JS的标识符必须以字母._或$符号开始,后续字符可以是字母.数字._或$符号 ...

  3. Linux下修改IP、DNS、路由命令行设置

    本文最后修改时间:20180313 一.快速修改,重启后设置就没了 ifconfig eth0 192.168.1.22 netmask 255.255.255.0 up route add defa ...

  4. 自定义合并列:el-table

    objectSpanMethod({ row, column, rowIndex, columnIndex }) {//合并规则 //当前行row.当前列column.当前行号rowIndex.当前列 ...

  5. Django的认证系统—auth模块

    Django的认证系统 auth模块的知识点总结: 1. 创建超级用户 python manage.py createsuperuser from django.contrib import auth ...

  6. Java——语句

    空语句: ; 符合语句:{} if语句:if () {} else {} break 语句:跳出单层循环 循环语句:for(;;){}   do{}while()

  7. SQL mysql优化

    慢查询 如何通过慢查日志发现有问题的SQL? 查询次数多且每次查询占用时间长的SQL pt-query-digest分析前几个查询 IO大的SQL pt-query-diges分析中的Rows exa ...

  8. JDK10源码阅读--String

    jdk源码里对String的介绍: String 是不可变的,一旦被创建其值不能被改变. String buffers 支持可变String. 因为String是不可变的, 所以它们可以被共享. 例如 ...

  9. v-bind指令动态绑定class和内联样式style

    动态绑定class—概述 数据绑定(v-bind指令)一个常见需求是操作元素的 class 列表.因为class是元素的一个属性,我们可以用 v-bind 处理它们 我们只需要计算出表达式最终的字符串 ...

  10. k8s部署rocketmq 双主

    由于apache 官网的 docker image 是单点,要实现集群方式部署. rocketmq 分为 nameserver 和 broker , 对于之间调用频繁的服务,会增加网络压力, 所以 考 ...