Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

WBOY
Freigeben: 2016-06-07 16:49:51
Original
1120 Leute haben es durchsucht

在这个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

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

linux

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage