RMAN自动清理归档日志

当oracle归档日志满了后,将无法正常登入oracle,需要扩充空间或删除一部分归档日志。

一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下。建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。

二.删除归档日志的物理文件后即可正常登入oracle,但是还没有吧归档日志删除干净,oracle的control file里面仍然记录着这些archivelog的信息。

利用rman进行删除操作

[sql]  view plain  copy
  1. RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';  

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

[python]  view plain  copy
  1. #!/bin/bash       
  2.     
  3.     
  4. if [ -f ~/.bash_profile ]; then     
  5. . ~/.bash_profile      
  6. fi      
  7.        
  8.        
  9. ORACLE_SID=$1;                   
  10. export  ORACLE_SID=$ORACLE_SID    
  11. $ORACLE_HOME/bin/rman log=/users/robin/log/rman.log <<EOF         
  12. connect target /      
  13. run{      
  14. crosscheck archivelog all;      
  15. delete noprompt expired archivelog all;      
  16. delete noprompt archivelog all completed before 'sysdate - 1';      
  17. }      
  18. exit;      
  19. EOF    

猜你喜欢

转载自blog.csdn.net/xfxfxfxfxf666/article/details/80805728