ORA-00257: archiver error. Connect internal only, until freed【日志归档清理】

select * from V$FLASH_RECOVERY_AREA_USAGE;  查看使用情况

用plsql登陆时提示“ORA-00257: archiver error. Connect internal only, until freed”,原来是日志满了,根据上述网址提供的步骤操作后就可以,即删除部分归档日志。

1.首先查看当前flash recovery area使用情况

C:\windows\system32>sqlplus sys/fyzh@orcl as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 9月 4 18:08:48 2013

Copyright (c) 1982, 2010, Oracle. All rights reserved.

连接到:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> show parameter log_archive_dest;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest string --日志路径的value没有值

log_archive_dest_1 string

.............................................................省略

log_archive_dest_state_1 string enable

............................................................省略

SQL> set linesize 200

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES

-------------------- ------------------ ------------------------- ---------------

CONTROL FILE 0 0 0

REDO LOG 0 0 0

ARCHIVED LOG 99.98 0 97 发现已经使用了99.98%

BACKUP PIECE 0 0 0

IMAGE COPY 0 0 0

FLASHBACK LOG 0 0 0

FOREIGN ARCHIVED LOG 0 0 0

已选择7行。

2.清除部分日志

采用rman方式清除日志

C:\windows\system32>rman target sys/fyzh

恢复管理器: Release 11.2.0.1.0 - Production on 星期三 9月 4 18:35:02 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

连接到目标数据库: ORCL (DBID=1351232595)

RMAN> crosscheck archivelog all; --先检查下

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=68 设备类型=DISK

对归档日志的验证成功

归档日志文件名=E:\APP\FUYINZHEN\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_09_04\O1_MF_1_329_92FRDR8G_.ARC RECID=77 STAMP=825262239

对归档日志的验证成功

..........................................................

RMAN> delete expired archivelog all; --删除过期的日志,本库没有过期的

释放的通道: ORA_DISK_1

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=68 设备类型=DISK

说明与资料档案库中的任何归档日志都不匹配

--没有过期的,为了腾出空间,就指定到具体的时间将其删除。

RMAN>delete archivelog until time "to_date('2013-09-04 13:00:00','yyyy-mm-dd hh24:mi:ss')";

--删除后在看日志使用的空间情况,发现已使用的只有21.73%

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES

-------------------- ------------------ ------------------------- ---------------

CONTROL FILE 0 0 0

REDO LOG 0 0 0

ARCHIVED LOG 21.73 0 21

BACKUP PIECE 0 0 0

IMAGE COPY 0 0 0

FLASHBACK LOG 0 0 0

FOREIGN ARCHIVED LOG 0 0 0

已选择7行。

==========================================

windows 下自动清理

dellog.txt

----------------------

自动备份

exp aais/aais@orcl file=d:\backup\oracle\oracle%date:~0,10%.dmp owner=emis log=d:\backup\oracle\oracle%date:~0,10%.log

自动清理
connect target aais/aais
run{
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-2'; //删除两天前的归档日志
crosscheck archivelog all; //检查
delete expired archivelog all; //删除过期日志
}

------------------------

del_arhiverlog.bat文件

-------------------

rman cmdfile=c:dellog.txt

--------------------

任务管理器 每晚3点 执行 del_arhiverlog.bat

上一篇:Git 将项目(代码)从GitHub上克隆(下载)到本地仓库


下一篇:JetBrains WebStorm 如何从GitHub上克隆的代码