出现这个问题的原因一般是日志满了。这里以用户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. ActiveReports公开课开启报名,学习如何解决中国式复杂报表难题

    ActiveReports实战教学 90分钟解决中国式复杂报表六大需求 [开课时间]4月19日 [主讲老师]葡萄城资深报表专家 [培训方式]网络在线公开课 报名地址

  2. Linux 学习笔记之超详细基础linux命令 Part 5

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 4----------------- ...

  3. loadrunner Vugen-Tools General-Options-Replay设置

    Vugen-Tools General-Options-Replay设置 by:授客 QQ:1033553122 可以以动画模式或非动画模式(animated mode or non-animated ...

  4. Angular基础(三) TypeScript

    一.模仿Reddit a) 运行ng new –ng4angular-reddit创建应用,从随书代码中复制样式文件,新建组件app-root,代码为: 界面可以看到了: b) 对于界面输入的数据,获 ...

  5. MVC与单元测试实践之健身网站(六)-计划的添加与重置

    健身计划需要使用者自己定制,没有现成的内容可供选择.本篇就是关于健身计划的添加与重置功能的一部分. 一 功能描述 a) 关于计划的定制,决定以周期的方式,比如有人会以一周为周期,然后安排每周的1.3. ...

  6. winsock编程学习笔记

    以下部分转自博客http://blog.csdn.net/phunxm/article/details/5085869 套接字地址(sockaddr.sockaddr_in) /* * Structu ...

  7. 带你熟悉SQLServer2016中的System-Versioned Temporal Table 版本由系统控制的临时表

    什么是 System-Versioned Temporal Table? System-Versioned Temporal Table,暂且容我管它叫版本由系统控制的临时表,它是 SQL Serve ...

  8. python第五十一天----线程,Event,队列

    进程与线程的区别: 线程==指令集,进程==资源集  (线程集) 1.同一个进程中的线程共享内存空间,进程与进程之间是独立的 2.同一个进程中的线程是可以直接通讯交流的,进程与间通讯必需通过一个中间的 ...

  9. 简易 Token 验证的实现

    简易 Token 验证的实现 前言 在我们的服务器和客户端的交互中,由于我们的业务中使用 RESTful API 的形式和客户端交互,而 API 又是无状态的,无法帮助我们识别这一次和上一次的请求由谁 ...

  10. 从研发到市场,一个C#程序员半年神奇之旅

    序 距离上次在博客园发布文章已经过了大约有一年了,由于最近一系列神奇的际遇,让我非常强烈意愿的提起笔来给大家描述我最近一段时间的经历,希望大家根据我的经历做一些参考,我尽量写的逻辑通顺,如果各位兄弟阅 ...