記錄一次XTTS遷移碰到的問題

隨風映雪發表於2020-07-25

     最近在做一次遷移,原庫 AIX-11203RAC ,目標端linux 11204 RAC,資料量3t左右,期間也是出現了點問題,現在記錄一下,以供大家參考:


1 在開啟BCT卡住

alter database enable block change tracking using file '/home/oracle/trace.log';

再開啟快跟蹤的時候,一直hang在那邊,幾分鐘後對業務造成了影響,如下圖所示,

1068會話為執行BCT的會話,可以看到被CKPT鎖住,CKPT又被CTWR鎖住,CTWR又被1068BCT會話鎖住,一個死迴圈,看到這裡,就感覺是bug,以enq: CT - state change gate 為關鍵字在mos上搜尋之後,確實有較多的的文章能看到這是bug。

參考過 High Waits On 'block change tracking buffer space' - Checkpoint Contention With BLOCK CHANGE TRACKING or RMAN Incremental Backup (Doc ID 2094946.1)等修改 _bct_buffer_allocation_max 引數,但是無效。

在另外一篇文章 RMAN Backup Suddenly Stopped / Hanged with message: RMAN-08606: WARNING: The change tracking file is invalid. (Doc ID 2173783.1)中,看到將追蹤檔案放到叢集中會有效果,試了下,立馬就過去了。

SQL> alter database enable block change tracking using file '+NEWDATA/trace.log';


2 源端目錄多個,目標端目錄只有一個

在增量的過程中有如下報錯:

Error:
------
Datafile path +ARCH/temp and source directory object path  doest not match

剛開始,想當然的

create or replace directory sourcedir as '+DATA/','+ARCH/datafile';

實際上,要根據檔案的語法來,可參考 xtt.properties 中的語法

每個檔案單獨一個directory,然後配置如下:

srcdir=SOURCEDIR1,SOURCEDIR2

dstdir=DESTDIR


3 前滾報錯

ORA-19624: operation failed, retry possible
ORA-19870: error while restoring backup piece
+DATA/xib_50v614a5_1_1_7_14_16_18_25_27_29_31_33
ORA-19625: error identifying file /oracle/app/product/11.2.0/db_1/dbs/
+data/HTBASE/DATAFILE/htbase02.dbf
ORA-27037: unable to obtain file status

這個問題比較簡單,實際上因為在建立destir的時候,前面多加了一個空格,導致它預設將空格轉換成了$ORACLE_HOME/dbs.  修改directory之後,注意要手動修改xttnewdatafiles檔案,該檔案決定了檔案存放的位置。


4 前滾後有warnning

如下圖所示,該報錯可以忽略,無法刪除asmcmd中的上傳的增量檔案。

perl: warning: Falling back to the standard locale ("C").
Can't locate strict.pm in @INC (@INC contains: /oracle/grid/crs_1/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/grid/crs_1/perl/lib/5.10.0 /oracle/gr
id/crs_1/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/grid/crs_1/perl/lib/site_perl/5.10.0 /oracle/grid/crs_1/lib /oracle/grid/crs_1/lib/a
smcmd /oracle/grid/crs_1/rdbms/lib/asmcmd /oracle/grid/crs_1/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/grid/crs_1/perl/lib/5.10.0 /oracle/grid/cr
s_1/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/grid/crs_1/perl/lib/site_perl/5.10.0 /oracle/grid/crs_1/perl/lib/5.10.0/x86_64-linux-thre
ad-multi /oracle/grid/crs_1/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/grid/crs_1/perl/lib/5.10.0 /oracle/grid/crs_1/perl/lib/site_perl/5.10.0/x86
_64-linux-thread-multi /oracle/grid/crs_1/perl/lib/site_perl/5.10.0 /oracle/grid/crs_1/perl/lib/site_perl .) at /oracle/grid/crs_1/bin/asmcmdcore line 143.
BEGIN failed--compilation aborted at /oracle/grid/crs_1/bin/asmcmdcore line 143.
ASMCMD: 



5 做增量的時候報錯如下:

該報錯其實很常見,做rman備份的時候經常遇到,但是也經常忽略掉,沒啥影響。

但是在xtts增量的時候,該報錯導致 tsbkupmap.txt 檔案沒有產生,所以必須要解決。

RMAN-12016: using channel ORA_DISK_1
RMAN-06518: backup will be obsolete on date 2020-07-30 09:51:07
RMAN-06520: archived logs will not be kept or backed up
RMAN-08008: channel ORA_DISK_1: starting full datafile backup set
RMAN-08010: channel ORA_DISK_1: specifying datafile(s) in backup set
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 07/23/2020 09:51:08
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 07/23/2020 09:51:08
ORA-00245: control file backup failed; target is likely on a local file system

方法其實也簡單,configure下就好了,將控制檔案備份放到叢集中

RMAN TARGET /

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+NEWDATA/snapcf_HTBASE1.f';


暫時就這麼多,以後有新的再補充。





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

相關文章