熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle刪除歸檔日志實例

2013-11-13 22:24:09  來源: Oracle 

  當Oracle 歸檔日志滿了後將無法正常登入Oracle需要刪除一部分歸檔日志才能正常登入Oracle

  一首先刪除歸檔日志物理文件歸檔日志一般都是位於archive目錄下AIX系統下文件格式為__dbf建議操作前先對數據庫進行備份刪除時至少保留最近幾天的日志用於數據庫恢復

  二把歸檔日志的物理文件刪除後我們就可以正常登入Oracle了但是還沒完全把歸檔日志刪除干淨Oracle的controlfile中仍然記錄著這些archivelog的信息在Oracle的OEM管理器中有可視化的日志展現出當我們手工清除archive目錄下的文件後這些記錄並沒有被我們從controlfile中清除掉接下去我們要做的就是這個工作

  我們利用RMAN進行刪除操作操作步驟如下(WIN客戶端系統為例)

  指定數據庫實例

  C:\Documents and Settings\Administrator>SET Oracle_SID =orcl

  連接數據庫

  C:\Documents and Settings\Administrator>RMAN TARGET SYS/sysadmin@orcl

  查看歸檔日志的狀態

  RMAN> list archivelog all;

  手工刪除歸檔日志文件

  RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE SYSDATE;

  說明

  SYSDATA表明當前的系統時間天前before關鍵字表示在天前的歸檔日志如果使用了閃回功能也會刪除閃回的數據

  同樣道理也可以刪除從天前到現在的全部日志不過這個命令要考慮清楚做完這個刪除最好馬上進行全備份數據庫

  DELETE ARCHIVELOG from TIME SYSDATE; 刪除從天前到現在的全部日志慎用

  UNIX/LINUX下也可以通過FIND找到天前的歸檔數據使用EXEC子操作刪除

  find /oraarchive xdev mtime + name *dbf exec rm f {} ;

  這樣做仍然會在RMAN裡留下未管理的歸檔文件

  仍需要在RMAN裡執行下面條命令

  crosscheck archivelog all;

  delete expired archivelog all;

  所以還不如上面的方法好用不過用FIND的好處就是可以在條件上和EXEC子項上做很多操作實現更復雜的功能


From:http://tw.wingwit.com/Article/program/Oracle/201311/18990.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.