[ 流雲]配置基於ASM儲存的STANDBY時日誌檔案的處理

idba發表於2009-08-04

在配置基於ASM儲存的STANDBY時,由於控制檔案裡面記錄的聯機日誌還是原來主庫日誌檔案的資訊,因此需要對其做進一步處理。就算是設定了log_file_name_convert這個引數,假如主庫的聯機日誌有兩組成員,那麼只會有一組成員轉換為log_file_name_convert設定的對應ASM目錄,另外一個成員還會是原來的目錄,另外STANDBY LOGFILE的聯機日誌目錄也不會更改。比如日誌檔案配置如下,我們看一下整個操作過程:

Thread Group Member Archived Status (MB)
—— —– ———————————- ———- —————- ——-
1 1 /oradata/datafile/redo1_01.log YES CLEARING 1000
1 1 +DATA/db/onlinelog/redo1_02.log YES CLEARING 1000
1 2 /oradata/datafile/redo1_01.log YES CLEARING_CURRENT 1000
1 2 +DATA/db/onlinelog/redo2_02.log YES CLEARING_CURRENT 1000
1 3 /oradata/datafile/redo3_01.log YES CLEARING 1000
1 3 +DATA/db/onlinelog/redo3_02.log YES CLEARING 1000

Group Member Archived Status (MB)
—– ——————————– ———- —————- ——-
11 /oradata/datafile/redo1_01.log NO UNASSIGNED 1000
12 /oradata/datafile/redo1_01.log YES ACTIVE 1000
13 /oradata/datafile/redo1_01.log NO UNASSIGNED 1000
14 /oradata/datafile/redo1_01.log YES UNASSIGNED 1000

首先處理STANDBY LOGFILE,可以把所有的STANDBY LOGFILE GROUP都刪除掉重建就行了:

alter database drop standby logfile group 11;
alter database drop standby logfile group 12;
alter database drop standby logfile group 13;
alter database drop standby logfile group 14;
alter database add standby logfile group 11 (’+data’) size 1000M;
alter database add standby logfile group 12 (’+data’) size 1000M;
alter database add standby logfile group 13 (’+data’) size 1000M;
alter database add standby logfile group 14 (’+data’) size 1000M;

對於聯機日誌,則需要先把各組日誌裡面不轉換為ASM目錄的那組成員先刪除掉,但是STATUS為CLEARING_CURRENT那組日誌成員是無法刪除的,可以後續再處理:

alter database drop logfile member ‘/oradata/datafile/redo1_01.log’;
alter database drop logfile member ‘/oradata/datafile/redo3_01.log’;

然後再將對應的日誌組CLEAR掉再DROP,由於資料庫至少需要兩組聯機日誌,因此只能刪除一組聯機日誌並重建好後才能再處理另一組:

alter database clear logfile group 1;
alter database drop logfile group 1;
alter database add logfile group 1 (’+data’,'+data’) size 1000M;
alter database clear logfile group 3;
alter database drop logfile group 3;
alter database add logfile group 3 (’+data’,'+data’) size 1000M;

等日誌組2的狀態從CLEARING_CURRENT變成其他狀態後,再進一步處理就可以了:

alter database drop logfile member ‘/oradata/datafile/redo2_01.log’;
alter database clear logfile group 2;
alter database drop logfile group 2;
alter database add logfile group 2 (’+data’,'+data’) size 1000M;

<!--

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

相關文章