ORA-00257归档日志清理问题

Oracle 删除归档日志
背景:Oracle突然报错‘ORA-00257’无法登录,原因为Oracle归档日志爆满,通过以下操作可进行解决;

一、以ORACLE用户身份登录到数据库服务器主机或通过网络连接

sql>conn username/password;

二、查看是否开启归档日志
查看是否开启归档:

SQL> archive log list;

三、删除数据库归档文件
执行下面命令删除7天以前的归档日志:

DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

四、执行Rman逻辑上删除过期日志
Rman备份后如果存在有过期备份没有被删除时,需要手工对过期备份删除,做法如下:

Rman target  / catalog rman/rman@rman 
report obsolete;  ---显示过期备份
delete obsolete;  ---删除过期备份

五、附上自动清理归档的脚本:

#!/bin/bash     
if [ -f ~/.bash_profile ]; then   
. ~/.bash_profile    
fi        
ORACLE_SID=$1;                 
export  ORACLE_SID=$ORACLE_SID  
$ORACLE_HOME/bin/rman log=/users/robin/log/rman.log <<EOF       
connect target /    
run{    
crosscheck archivelog all;    
delete noprompt expired archivelog all;    
delete noprompt archivelog all completed before 'sysdate - 1';    
}    
exit;    
发布了2 篇原创文章 · 获赞 0 · 访问量 90

猜你喜欢

转载自blog.csdn.net/Ytx904871086/article/details/105312615