Oracle中报错Connect internal only, until freed属于归档日志满了。
有两种方法可以解决,第一种是删除归档日志,第二种是增大闪回日志文件的最大大小
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;
(5) delete expired archivelog all;
(6) host;
第二种方法 : 就是增大闪回日志文件的最大大小。如下
alter system set DB_RECOVERY_FILE_DEST_SIZE=10g