ITPub博客

首页 > 数据库 > Oracle > 记录一次XTTS迁移碰到的问题

记录一次XTTS迁移碰到的问题

原创 Oracle 作者:随风映雪 时间:2020-07-25 16:31:12 0 删除 编辑

     最近在做一次迁移,原库 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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
擅长ORACLE,pg,mysql等数据库,希望能持续分享数据库相关的知识,以及一些平常工作中遇到的问题

注册时间:2016-10-23

  • 博文量
    22
  • 访问量
    19092