Oracle10G歸檔模式應用

2jfly發表於2008-08-01

一、更改歸檔模式
1、在pfile裡,可以修改log_archive_dest_n 這個引數.n=1,2,3,....10, 10G預設會使用log_archive_dest_10這個引數來使用flash recovery area裡面存放的歸檔日誌檔案。
歸檔日誌檔案佔用空間大小可設定db_recovery_file_dest_size引數。
eg:
修改log_archive_dest_1="location=/.../archivelog quota_size=20G"
   ...
或者用sysdba許可權的使用者在資料庫mount的狀態下進入資料庫修改引數,如
alter system set log_archive_dest_1="location=/.../archivelog quota_size=20G" scope=both;
....
2、啟動歸檔模式
(1)如果是修改PFILE檔案的,則用sysdba進入sqlplus,
shutdown immediate --關閉資料庫
startup mount pfile='/..../*.ora' --用初始化檔案啟動資料庫mount狀態
alter database archivelog; --如果啟用flashback, alter database flashback on;
  alter database open;
  archive log list (檢視歸檔模式狀態,如果前面的log_archive_dest_n沒有設定,則會顯示USE_DB_RECOVERY_FILE_DEST)
(2)如果是用alter system命令修改引數的,資料庫已經是mount的狀態,可以直接啟用歸檔
alter database archivelog; --如果啟用flashback, alter database flashback on;
  alter database open;
3、停止歸檔模式
  如果啟用了flashback, 需要在 alter database noarchivelog
  之前先禁用flashback. alter database flashback off ;
二、檢視歸檔檔案使用了多少空間
使用語句;
select sum(a.BLOCK_SIZE*a.BLOCKS)/1024/1024 from v$archived_log a where a.DELETED='NO';
或者
select * from V$FLASH_RECOVERY_AREA_USAGE where FILE_TYPE='ARCHIVELOG'; --檢視百分比 10G才有

三、清理歸檔日誌檔案
當歸檔日誌佔用空間大小超出了db_recovery_file_dest_size,資料庫會報錯,客戶端無法連線。
1、在作業系統先手工刪除歸檔日誌檔案,建議保留最近幾天日誌。
2、進入資料庫RMAN,
rman target /
3、檢視歸檔日誌使用情況
RMAN>list archivelog all;
4、歸檔日誌資訊進行更新
RMAN>crosscheck archivelog all;
驗證的是DB的歸檔日誌即log_archive_dest引數指定位置的檔案,當手工刪除了歸檔日誌以後,Rman備份會檢測到日誌缺失,從而無法進一步繼續執行,所以此時需要手工執行crosscheck過程,之後Rman備份可以恢復正常。
5、刪除資訊
RMAN> delete expired archivelog all;
確認時鍵入"yes"

四、某些RMAN引數
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS; 保留日誌30 天
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2; 保持備份兩份冗餘

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21100044/viewspace-1018629/,如需轉載,請註明出處,否則將追究法律責任。

相關文章