方法:1、利用「DELETE EXPIRED ARCHIVELOG ALL;」語句刪除所有的歸檔日誌;2、利用「DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7’;」語句保留7天的歸檔日誌。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
su - oracle //進入oracle帳戶
sqlplus / as sysdba //以作業系統權限認證的oracle sys管理員登陸
archive log list //查看資料庫的歸檔模式
注意:輸入archive log list會顯示出USE_DB_RECOVERY_FILE_DEST
#select * from V$RECOVERY_FILE_DEST; //查詢歸檔日誌空間大小及路徑
show parameter recover; //顯示歸檔檔路徑
退出至oracle帳戶根目錄然後進入rman輸入以下指令進入rman
rman target sys/password
RMAN> crosscheck archivelog all; //驗證的DB的歸檔日誌
RMAN> delete expired archivelog all; //刪除所有歸檔日誌
RMAN>DELETE ARCHIVELOG ALL COMPLETEDLOG BEFORE 'SYSDATE-7'; //保留7天的歸檔日誌
#再查
SQL> select * from V$RECOVERY_FILE_DEST;
修改大小
SQL> alter system set db_recovery_file_dest_size=5G scope=both;
關掉歸檔
SQL> alter system set log_archive_start=false scope=spfile; #停用自檔
# SQL> shutdown immediate; //強制關閉資料庫 SQL> startup mount; //重新啟動資料庫到mount模式 SQL> alter database noarchivelog; //修改為非歸檔模式 ##SQL> alter database open; //打資料檔 SQL> archive log list; //打資料檔模式推薦教學:《Oracle影片教學》
以上是怎樣刪除oracle歸檔日誌的詳細內容。更多資訊請關注PHP中文網其他相關文章!