1.首先通過cmd命令窗口連接超級管理員,sqlplus / as sysdba;
查看當前flash recovery area使用情況:
查詢日志目錄位置
SQL>show parameter recover;
SQL> show parameter log_archive_dest;
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
2.備份日志
退出sqlplus,用root用戶登錄,將歸檔日志備份后刪除
先進入一個目標地址;新建一個oracle歸檔日志備份目錄
mkdir oracle歸檔日志備份
進入歸檔日志源文件目錄(UPRR是數據庫實例名):
cd /mnt/install/ora_11g/app/oracle/flash_recovery_area/UPRR/archivelog/
先進入archivelog目錄外面:
cd ..
備份archivelog下面的歸檔日志到之前新建的oracle歸檔日志備份目錄下面:
cp -rf archivelog /mnt/oracle歸檔日志備份/
等待備份完成之后,刪除已經備份的歸檔日志
3.清除部分日志
采用rman方式清除日志,使用oracle用戶登錄服務器,進入RMAN維護:
rman target sys/pass
檢查一些無用的archivelog
RMAN> crosscheck archivelog all;
刪除截止到前一天的所有archivelog
RMAN> delete archivelog until time 'sysdate-1' ;
RMAN> 是否確定要刪除以上對象 (輸入 YES 或 NO)? yes
6,再次查詢flash recovery area的使用情況:
先按照步驟1,進入sqlplus環境,然后使用下面命令查詢發現,只使用0.66%,說明清除歸檔日志成功!
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;