將資料庫轉換為歸檔日誌模式

db_wjw發表於2011-10-18
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 在預設情況下,資料庫實在非歸檔日誌模式下建立的,這意味著日誌切換在沒有先進行復制的情況下會重寫聯機重做日誌檔案。此時資料庫仍然不會受損,但是如果資料檔案因為介質失敗被損壞,那麼會丟失資料。在資料庫被轉換至歸檔模式時,如果從最近一次資料庫備份開始生成的所有歸檔日誌檔案都可用,那麼不會丟失資料。所以所有的生產庫都應該以歸檔模式執行。下面是將資料庫轉換為歸檔日誌模式的步驟:

1.         在作業系統上建立歸檔的目標位置。

$mkdir /oracle/archive1

$mkdir /oracle/archive2

2.         SYSTEM許可權的SYS使用者身份連線SQL*Plus

SQL> conn / as sysdba

3.         設定歸檔引數為第一步建立的兩個目標目錄,並控制歸檔日誌檔名。注意,必須在目錄名上包括正斜槓(在Windows中是反斜槓)。

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

SQL> alter system set log_archive_dest_2='location=/oracle/archive2' scope=spfile;

SQL> alter system set log_archive_format='arch_%d_%t_%r_%s.log' scope=spfile;

其中歸檔日誌檔名中各變數含義如下:

%d:唯一的資料庫識別符號,如果將多個資料庫歸檔到同一目錄,這是必需的。

%t:執行緒號,顯示為v$instance檢視的THREAD#列,除了在RAC資料庫中使用之外,這個變數沒有任何意義。

%r:場景(incarnation)號。如果進行了不完全恢復,這個變數就十分重要。

%s:日誌切換序列號。這個變數能夠保證任何一個資料庫中的歸檔日誌都不會彼此重寫。

4.         乾淨地關閉資料庫:

SQL> shutdown immediate;

5.         以載入模式啟動:

    SQL> startup mount;

6.         將資料庫轉換成歸檔日誌模式:

    SQL> alter database archivelog;

7.         開啟資料庫:

SQL> alter database open;

8.         確認資料庫已經執行在歸檔日誌模式:

SQL> select log_mode from v$database;

LOG_MODE

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

ARCHIVELOG

SQL> select archiver from v$instance;

ARCHIVE

-------

STARTED

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

相關文章