oracle資料庫清理歸檔日誌步驟

2021-10-09 06:40:35 字數 1865 閱讀 1878

1.root登陸後切換oracle使用者

[root@localhost]

# su - oracle

2.執行sqlplus / as sysdba進入oracle資料庫

[oracle@localhost]

# sqlplus / as sysdba

3.執行 select * from v$flash_recovery_area_usage;命令檢視日誌大小

sql> select

*from v$flash_recovery_area_usage

;

檢視archivelog的百分比,超過80%就需要清理了

4.歸檔日誌目錄查詢

sql> show parameter db_recovery_file_dest;
目錄下面以每天日期為單位的資料夾,只保留近兩天的資料夾,其餘日期目錄都刪除

5.退出oracle資料庫

sql> quit;
6.執行 rman target sys/pass進入rman

[oracle@localhost]

# rman target sys/pass

7.檢查一些無用的archivelog

rman> crosscheck archivelog all;
8.刪除過期的歸檔

rman> delete expired archivelog all;
或者

rman> delete archivelog until time "sysdate-1"
期間選擇yes

9.退出rman

rman>quit;
10.重複步驟2,3檢視清理後的歸檔日誌大小,沒問題就可以執行步驟5退出

如果使用fast recovery area存放歸檔日誌,需要注意該區域有大小限制,建議將大小調大

alter system set db_recovery_file_dest_size=

10g scope=both;

如果使用本地路徑存放歸檔日誌,需要將db_recovery_file_dest引數置空,然後設定log_archive_dest引數

alter system set db_recovery_file_dest=''

;

alter system set log_archive_dest='/data/oracle/archive'

;

如果archive log模式下不能正常startup,則先恢復成noarchive log,startup成功後,再shutdown;

shutdown immediate;

startup mount;

alter database noarchivelog;

alter database open;

shutdown immediate;

再次startup以archive log模式

shutdown immediate;

startup mount;

show parameter log_archive_dest;

alter database archivelog;

archive log list;

alter database open;

參考鏈結

oracle資料庫清理歸檔日誌步驟

root登陸後切換oracle使用者 root localhost su oracle執行 sqlplus as sysdba進入oracle資料庫 oracle localhost sqlplus as sysdba執行 sqlplus as sysdba進入oracle資料庫 oracle lo...

Oracle資料庫 之 清理歸檔日誌的方法

su oracle 切換至歸檔日誌目錄,刪除歸檔日誌。刪除的歸檔日誌狀態會變為 失效 在crosscheck之後,就可以刪除這些失效的歸檔日誌了。rman rman connect target rman crosscheck archivelog all rman delete expired a...

oracle歸檔日誌清理

rman清除方式會自動清除磁碟上的歸檔日誌檔案,同時會釋放控制檔案中對應的歸檔日誌的歸檔資訊。list expired archivelog all 列出所有失效的歸檔日誌 delete archivelog until sequence 16 刪除log sequence為16及16之前的所有歸檔...