出现这个问题的原因一般是日志满了。这里以用户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. Storm的DRPC

    RPC:Remote Procedure Call DRPC:Distributed RPC Hadoop提供了RPC的实现机制,实现方法见:<>,本文主要介绍Storm的DRPC.   ...

  2. nginx的应用(window环境下)

    nginx(背景) nginx是一个高性能的HTTP服务器,以前我经常在linux系统中配置,主要做反向代理和负载均衡,最近根据业务需要,需要在window中配置反向和负载,下面就介绍一下nginx的 ...

  3. 用PRODUCT_COPY_FILES拷贝文件夹

    拷贝文件PRODUCT_COPY_FILES += device/qcom/msm8909/media/media_profiles_8909.xml:system/etc/media_profile ...

  4. Python:GUI之tkinter学习笔记3事件绑定

    相关内容: command bind protocol 首发时间:2018-03-04 19:26 command: command是控件中的一个参数,如果使得command=函数,那么点击控件的时候 ...

  5. Scala学习笔记2 (带着问题学习, 逐渐扩展。理解吃透scala.)

    问题: 把 文本字符串"[1, 2, 3, 4, 5]" 转换成一个数组. 答案: val x = "[1, 2, 3, 4, 5]" val y =x sli ...

  6. 洗礼灵魂,修炼python(54)--爬虫篇—urllib2模块

    urllib2 1.简介 urllib2模块定义的函数和类用来获取URL(主要是HTTP的),他提供一些复杂的接口用于处理: 基本认证,重定向,Cookies等.urllib2和urllib差不多,不 ...

  7. 洗礼灵魂,修炼python(13)--模块random,math,pickle

    random 1.作用: random模块用于生成随机数 2.常用函数: random:用于生成一个0到1的随机符点数: 0 <= n < 1.0 uniform(a, b):用于生成一个 ...

  8. Vue状态管理

    1.导出Vuex import Vuex from 'vuex' 2.定义store /*状态管理*/ const store = new Vuex.Store({ state: { headerSh ...

  9. Android (checkBox)

    1.使用 setOnCheckedChangeListener()方法对checkBox进行事件监听 2.重写方法 public void onCheckedChanged(CompoundButto ...

  10. Django框架的使用教程--Cookie-Session[五]

    Cookie cookie是存储在浏览器中的一段文本信息,下次同一网站请求,就会发送该cookie给服务器,一般的浏览器都有启动cookie,用cookie存储信息,最好不要存储密码,cookie也有 ...