1. 程式人生 > >【ORACLE RAC】修改歸檔位置: FRA和其他位置

【ORACLE RAC】修改歸檔位置: FRA和其他位置

************************************************************************
****原文:blog.csdn.net/clark_xu  徐長亮的專欄
************************************************************************

%t: 重做執行緒編號。%s:日誌序列號。%rRESETLOGSID值。這三個匹配符必須有。如果線上配置檔案格式,必須重啟資料庫。

10.1檢視歸檔日誌存放位置

指定在DGFRA目錄下。

SQL> archive log list

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            +DGFRA/edwprd/

另外一種情況為,歸檔日誌位置預設在快速恢復區

Use_db_recovery_file_dest

對於快速恢復區開啟的狀態,實際上存放參數為log_archive_dest_1=LOCATION=+DGFRA/EDWPRD/

SQL> show parameter log_archive_dest

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

log_archive_dest                     string

log_archive_dest_1                   string      LOCATION=+DGFRA/EDWPRD/

log_archive_dest_10                  string

log_archive_dest_2                   string

         v$database

中存放了歸檔日誌的資訊:SELECTname,log_mode FROM v$database;

10.2修改歸檔日誌位置

開啟fra無法修改歸檔位置。

SQL> alter system setlog_archive_dest='/oracle';

alter system set log_archive_dest='/oracle'

ERROR at line 1:

ORA-02097: parameter cannot be modifiedbecause specified value is invalid

ORA-16018: cannot use LOG_ARCHIVE_DEST withLOG_ARCHIVE_DEST_n or

DB_RECOVERY_FILE_DEST    

修改歸檔位置

         SQL>alter system set log_archive_dest_1='location=/oracle' scope=both;

System altered.

SQL> alter database open;

10.3修改日誌歸檔模式開啟關閉

關閉歸檔:

資料庫mount 狀態

Srvctl start database –d edwprd –o mount

alter database noarchivelog;

alter database open

開啟歸檔:

SQL> alter database archivelog;

ERROR at line 1:

ORA-01126: database must be mounted in thisinstance and not open in any

Instance

所以只能一個例項啟動資料庫

10.4歸檔日誌存放FRAUSE_DB_RECOVERY_FILE_DEST

DB_RECOVERY_FILE_DEST引數是預設的flashrecovery area的路徑,裡面存放有歸檔日誌、閃回日誌以及rman的備份檔案等檔案。

修改歸檔日誌指定位置log_archive_dest_1為空,則放在預設的快速回復區裡面了。

SQL> altersystem set log_archive_dest_1='' scope=both;

System altered.

SQL> shutdown

SQL> startup

SQL> archivelog list;

Database logmode              Archive Mode

Automaticarchival             Enabled

Archivedestination           USE_DB_RECOVERY_FILE_DEST

Oldest onlinelog sequence     28

Next logsequence to archive   29

Current logsequence           29

SQL> altersystem archive log current;

System altered.

10.5顯示歸檔日誌

Col name format a46

SQL> selectname,thread#,sequence#,first_change# from v$archived_log;

NAME                                             THREAD#  SEQUENCE#

-------------------------------------------------------- ----------

FIRST_CHANGE#

-------------

+DGFRA/edwprd/1_27_841787869.dbf                        1         27

      403045

+DGFRA/edwprd/1_28_841787869.dbf                        1         28

      458452

+DGFRA/edwprd/2_1_841787869.dbf                         2          1

      414064

NAME             THREAD#               SEQUENCE#               FIRST_CHANGE#

-------------

+DGFRA/edwprd/archivelog/2014_03_11/thread_1_s          1         29      481779

eq_29.264.841909501

+DGFRA/edwprd/archivelog/2014_03_11/thread_2_s          2          2       436041

eq_2.265.841909507

      Name用於表示歸檔日誌檔名,sequence#用於表示歸檔日誌對應的日誌序列號,firs_change#用於標識歸檔日誌的起始SCN

通過查詢動態效能檢視v$archive_dest可以取得歸檔日誌所在目錄.

SELECT destination FROM v$archive dest;

,顯示日誌歷史資訊

SELECT * FROM v$loghist;

SQL> select * from v$loghist;

  THREAD#  SEQUENCE# FIRST_CHANGE#FIRST_TIME SWITCH_CHANGE#

---------- ---------- ----------------------- --------------

        1          1             1 09-3? -14           32404

        1          2         32404 09-3? -14           59939

        1          3         59939 09-3? -14           74190

        1          4         74190 09-3? -14           89573

        1          5         89573 09-3? -14          100136

        1          6        100136 09-3? -14          116032

        1          7        116032 09-3? -14          130603

        1          8        130603 09-3? -14          146094

        1          9        146094 09-3? -14          163597

        1         10        163597 09-3? -14          191251

        1         11        191251 09-3? -14          221978

THREAD#用於標識重做執行緒號,SEQUNCE#用於標識日誌序列號,FIRST_CHANGE#用於標識日誌序列號對應的起始SCN,FIRST_TIME用於標識起始SCN的發生時間.SWICTH_CHANGE#用於標識日誌切換的SCN.

顯示歸檔程序資訊.

進行日誌切換時,ARCH程序會自動將重做日誌內容複製到歸檔日誌中,為了加快歸檔速度,應該啟用多個ARCH程序.通過查詢動態效能檢視V$ARCHIVE_PROCESSES可以顯示所有歸檔程序的資訊!

SQL> select * from v$archive_processes;

  PROCESS STATUS     LOG_SEQUENCESTAT

---------- ---------- ------------ ----

        0 ACTIVE                0 IDLE

        1 ACTIVE                0 IDLE

        2 STOPPED               0 IDLE

        3 STOPPED               0 IDLE

        4 STOPPED               0 IDLE

        5 STOPPED               0 IDLE

        6 STOPPED               0 IDLE

        7 STOPPED               0 IDLE

        8 STOPPED               0 IDLE

        9 STOPPED               0 IDLE

       10 STOPPED               0 IDLE

Porcess用於標識ARCH程序的編號,status用於標識ARCH程序的狀態(ACTIVE:活動,STOPPED:未啟動),log_sequence用於標識正在進行歸檔的日誌序列號,state用於標識ARCH程序的工作狀

10.6歸檔位置說明

如果不使用備用資料庫,只需要將歸檔日誌存放到本地目錄.配置本地歸檔位置可以使用初始化引數LOG_ARCHIVE_DESTLOG_ARCHIVE_DUPLEX_DEST,其中,第一個引數用於設定第一個歸檔位置,第二個引數用於指定第二個歸檔位置.

ALTER SYSTEM SETlog_archive_duplex_dest='d:demoarchive2';

初始化引數LOG_ARCHIVE_DEST_n可以配置本地歸檔位置和遠端歸檔位置,而初始化引數LOG_ARCHIVE_DESTLOG_ARCHIVE_DUPLEX_DEST只能配置本地歸檔位置.

初始化引數LOG_ARCHIVE_DEST_n可以配置多達10個歸檔位置,而初始化引數LOG_ARCHIVE_DESTLOG_ARCHIVE_DUPLEX_DEST最多隻能配置兩個歸檔位置.

初始化引數LOG_ARCHIVE_DEST_n不能與初始化引數LOG_ARCHIVE_DESTLOG_ARCHIVE_DUPLEX_DEST同時使用.

因為初始化引數LOG_ARCHIVE_DEST_n不能與初始化引數LOG_ARCHIVE_DESTLOG_ARCHIVE_DUPLEX_DEST同時使用,所以必須禁用初始化引數LOG_ARCHVE_DESTLOG_ARCHIVE_DUPLEX_DEST.當使用初始化引數LOG_ARCHIVE_DEST_n配置本地歸檔位置時,需要指定LOCALTION選項.當配置遠端歸檔位置時,需要指定SERVICE選項。

使用初始化引數LOG_ARCHIVE_DEST_STATE_n控制歸檔位置的可用性.設定該引數為ENABLE(預設值),表示會啟用相應的歸檔位置;設定該引數為DEFER,表示禁用相應歸檔位置.當歸檔日誌所在磁碟損壞或填滿時,DBA需要暫時禁用該歸檔位置.

Alter system setlog_archive_dest_state_3=defer;(禁用)

Alter system setlog_archive_dest_state_3=enable;(啟用)