清除oracle归档日志
清除oracle归档日志
1. 连接oracle报如下错误
ORA-00257: archiver error. Connect internal only, until freed
产生原因:出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决
2. 以超级管理员身份进入数据库查看归档日志
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 .2 0
3
ARCHIVED LOG 98.16 0
1895
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE
-------------------- ------------------ -------------------------
NUMBER_OF_FILES
---------------
BACKUP PIECE 0 0
0
IMAGE COPY 0 0
0
FLASHBACK LOG .07 .07
4
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE
-------------------- ------------------ -------------------------
NUMBER_OF_FILES
---------------
FOREIGN ARCHIVED LOG 0 0
0
7 rows selected.
占用98%
3. 清除归档日志
rman target sys/password
检查一些无用的archivelog
RMAN>crosscheck archivelog all;
RMAN>delete archivelog until time ‘sysdate-1’;
备注:delete archivelog all; ###全部干掉
4. 再次查询flash recovery area的使用情况
SQL> select * from v$flash_recovery_area_usage;
附录
http://blog.csdn.net/cw370008359/article/details/51023794
备注:dg集群切换为单节点,alter system set log_archive_dest_state_2="defer";
http://blog.csdn.net/robbie1314520/article/details/8267283 ###dg集群切换