先检查磁盘空间是否正常,可以参考oracle各种trace清理
ORA-00257: archiver error. Connect internal only, until freed 的解决方法
一.增大空间最大值
1.登录,sqlplus uposweba/uposweba@BOSSDB as sysdba
2.查看是否启用归档日志,archive log list
3.进入 rman , rman target web_db/web_db1234@BOSSDB
4.修改归档日志最大空间,alter system set db_recovery_file_dest_size=35G
1.用RMAN连接目标DB:
rman target /
RMAN target sys/*****@orcl
2.在RMAN命令窗口中,输入如下命令(清理所有的归档日志):
crosscheck archivelog all;--检查归档日志
delete expired archivelog all; --删除过期日志
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';(指定删除7天前的归档日志);
DELETE NOPROMPT ARCHIVELOG UNTIL TIME "TO_DATE('XXXX-XX-XX','YYYY-MM-DD')";
3.其它相关命令:
list archivelog all; --查看归档日志列表:
list expired archivelog all;--查看失效的归档日志列表:
4.定期清除archivelog:
可以将如下代码写成.bat文件,在控制面版的任务计划下添加新的定时任务:
RMAN target sys/*****@orcl
crosscheck archivelog all;
delete expired archivelog all;