oracle中报错Connect internal only, until freed

来源:互联网 发布:胜百家自动关注软件 编辑:程序博客网 时间:2024/04/29 08:01

此问题属于归档日志满了

有两种方法可以解决,第一种是删除归档日志,第二种是增大闪回日志文件的最大大小

sqlplus "/ as sysdba"

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE; 
 
FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES 
------------ ------------------ ------------------------- --------------- 
CONTROLFILE                   0                         0               0 
ONLINELOG                     0                         0               0 
ARCHIVELOG                  99.9                         0               3 
BACKUPPIECE                   0                         0               0 
IMAGECOPY                     0                         0               0 
FLASHBACKLOG                  0                         0               0 
 
可以看出,ARCHIVELOG日志已经达到99.9%了。要把它清除掉! 
 
=========  删除归档日志 ========= 
第一步: 直接删除 物理数据 rm 
第二步:通过 rman 删除: 
oracle@linux112:/opt/oracle/> rman 
Recovery Manager: Release 11.1.0.7.0 - Production on Mon Sep 3 11:47:06 2012 
Copyright (c) 1982, 2007, Oracle.  All rights reserved. 
RMAN> connect target sys/sys_passwd 
 
执行如下命令: 
(1) crosscheck backup; 
(2) delete obsolete; 
(3) delete expired backup; 
(4) crosscheck archivelog all; 检查一些无用的archivelog     
(5) delete expired archivelog all; 删除过期的归档
      delete archivelog until time 'sysdate-1'  删除截止到前一天的所有archivelog
(6) host; 
第二种方法 : 就是增大闪回日志文件的最大大小。如下 
 
    alter system set DB_RECOVERY_FILE_DEST_SIZE=10g