问题:最近在公司测试时发现ORA-00257: archiver error. Connect internal only, until freed这一问题,导致数据库登录不上。
原因:oracle归档日志的存储空间满了
解决:
- cmd—sqlplus / as sysdba;//系统验证方式登录oracle
- select * from V$FLASH_RECOVERY_AREA_USAGE;//查询存储空间,可以看到archivelog存储空间已经满了
利用oracle自带的ramn工具进行删除:
rman target /;
delete expired archivelog all;
delete archivelog until time;”to_date(‘2013-09-04 13:00:00’,’yyyy-mm-dd hh24:mi:ss’)”;可以利用windows自带的计划任务实现定时删除不必要的archivelog(dellog.bat):
rman target /
DELETE noprompt ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-1’; //删除两天前的归档日志
crosscheck archivelog all;
delete expired archivelog all;
}