最近一段时间,有收到一台Oracle服务器的连接告警, 刚刚开始还以为是Oracle的监听被关闭导致,结果连上服务器看下Oracle的监听进程正常,自己连接一次发现有报ORA-00257错,又去监控系统中在看下日志再用sqlplus连上Oracle后查了下,知道是Oracle的归档日志写满闪回区导致Oracle连接异常,查看归档日志方法如下:
SQL> show parameter db_recovery_file_dest;
#查看归档日志的物理路径及闪回区的大小
SQL> select file_type, percent_space_used as used,percent_space_reclaimable as reclaimable, number_of_files as "number" from v$flash_recovery_area_usage;
#查询闪回区利用率
用rman工具连上Oracle进去清理一些旧的历史归档日志:
[oracle@localhost ~]$ rman target /
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-30';
…略…
Do you really want to delete the above objects (enter YES or NO)? YES