当前位置:  数据库>oracle

ORA-00257 archiver error. 错误解决方法一例

    来源: 互联网  发布时间:2017-06-06

    本文导语: 在此发现一个Oracle漏动,eg: DELETE JEW_LOG WHERE C_ID IN (SELECT C_ID FROM BAS_BATCHNO WHERE C_WARID='028' AND C_BATCHNOTYPE='P') 在这个DELETE 语句中子查询是报错的因为没有C_ID这个字段、所以JEW_LOG这张表就糟殃了数据98292条记录直接被删除、幸亏一...

在此发现一个Oracle漏动,eg:
 
DELETE JEW_LOG WHERE C_ID IN (SELECT C_ID FROM BAS_BATCHNO WHERE C_WARID='028' AND C_BATCHNOTYPE='P')

在这个DELETE 语句中子查询是报错的因为没有C_ID这个字段、所以JEW_LOG这张表就糟殃了数据98292条记录直接被删除、幸亏一直以来养成的好习惯(First delete, after commit).不至于损失数据。赶紧rollback;结果一直在等、发现在连接其他用户进不去了
 
报ORA-00257: archiver error. Connect internal only, until freed……
 
这是因为archive log 日志已满

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2
 
提供下ORA-00257: archiver error. Connect internal only, until freed 错误解决方法

 1. 用sys用户登录
  sqlplus sys/pass@ORCL 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. 计算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
                     
 6. 找到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
                     
 7 上述结果告诉我们,归档位置用的是默认值,放在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/ORCL/archivelog
 转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件(比如360以后的)
 ---------------------------------------------------------------------------------------
 注意:
 在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。
 ---------------------------------------------------------------------------------------
 8. 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)
 
 9. 检查一些无用的archivelog
 RMAN> crosscheck archivelog all;
 10. 删除过期的归档
 RMAN> delete archivelog until time 'sysdate-1' ; --删除截止到前一天的所有archivelog
 
delete expired archivelog all;----删除所有archivelog
 Do you really want to delete the above objects(yes or no) yes

更多详情见请继续阅读下一页的精彩内容:


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Orcle的package中访问其它Schema的表报错ORA-00942解决方法
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
  • 解决报错ora-32035的方法分析
  • 基于ORA-12170 TNS 连接超时解决办法详解
  • 安装oracle出现error:ora-01031:insufficient privilleges的解决
  • zilong28提问:Tomcat3.2报错内容是Error occurs when connecting DB: ORA-00020: maximum number of processes(59) exceeded 我应该如何解决,先谢了
  • 基于ORA-12170 TNS 连接超时解决办法详解 iis7站长之家
  • Oracle ORA-22908(NULL表值的参考)异常分析与解决方法
  • 如何解决ORA-01843与NLS_DATE_FORMAT问题
  • 如何得到带有ora的行的下一行
  • 如何配置 linux 下 oracle 的 listener .ora 和
  • 浅析如何在tnsnames.ora中配置监听
  • [Oracle] 浅析令人抓狂的ORA-01555问题
  • aq.executeQuery: ORA-00020: maximum number of processes (59) exceeded
  • ORA-00947:Not enough values (没有足够的值)的深入分析
  • solaris10 安装 ora9.2.0.1 时报错
  • 在UNIX下,我的ORA817该怎么样才可以自己启动呀?
  • 谁能帮忙解释一下: ORA-01000 : maximun open cursors exceeded
  • 关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded)
  • 我在Linux7。3下面装了一个Oracle8i,但是现在启动不起来了,总是报错ORA-01031: insufficient privileges
  • oracle报错(ORA-00600)问题处理
  • Oracle 10g之ORA-32004问题
  • 在客户端配置TNS测试报错ORA-12170:TNS:连接超时


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,