Oracle資料庫關閉歸檔功能及刪除歸檔日誌方法
注意:資料庫歸檔功能的開啟和關閉需重啟例項。
一、查詢資料庫歸檔是否開啟
--返回值是ARCHIVELOG則開啟了歸檔模式;NOARCHIVELOG是未開啟。
CONN sys/[email protected] AS SYSDBA;
SELECT log_mode FROM v$database;
二、歸檔日誌日空間使用率查詢
--檢視歸檔日誌大小及使用情況。若SPACE_USED/SPACE_LIMIT > 30%,需進行日誌清理。
select * from v$recovery_file_dest;
--檢視歸檔日誌使用情況(按百分比)。如果 ARCHIVED LOG超過90%,Oracle隨時有宕機的危險。
select * from v$flash_recovery_area_usage;
三、歸檔日誌管理和應急處理
--登入RMAN (oracle使用者執行)
$ rman target sys/[email protected]
--歸檔日誌交叉檢查
RMAN> crosscheck archivelog all;
--只保留最近1天歸檔日誌,其它日誌都刪除
RMAN>delete archivelog until time 'sysdate-1';
--保留最近7天的歸檔日誌
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
--歸檔日誌,全部刪除
RMAN>delete expired archivelog all;
--觀察磁碟空間使用率是否正常
#df - hl
--增大歸檔日誌空間
SQL>alter system set db_recovery_file_dest_size=20G;
四、關閉資料庫歸檔功能
--1)以sysdba身份登入資料庫
conn sys/[email protected] as sysdba;
--2)檢視是否開啟歸檔功能。如果返回值為NOARCHIVELOG則未開啟,如果是ARCHIVELOG則開啟了歸檔模式。
select log_mode from v$database;
--3)關閉資料庫
shutdown immediate;
--4)啟動資料庫到MOUNT狀態
startup mount;
--5)關閉歸檔模式
alter database noarchivelog;
--6)開啟資料庫
alter database open;
--7)再次確定歸檔是否關閉
select log_mode from v$database;
--8)檢視歸檔歸檔路徑是否設定。如果沒有設定,則歸檔路徑預設為閃回區。
show parameter log_archive_dest;
--9)設定歸檔路徑
alter system set log_archive_dest_1='location=/u01/app/oracle/arch/orcl';
--10)檢視歸檔路徑是否改變
archive log list;
--11)切換日誌,進入歸檔目錄,檢視是否有歸檔生成
alter system switch logfile;
https://blog.csdn.net/JohnnySun2015/article/details/74196786