oracle xtts 在aix环境上无法运行全备脚本
随着业务升级,部分老机器(aix)的数据需迁移至新的服务器上(linux-x86_64),而且数据量也比较大,还涉及较多的blob字段,再加上又是跨平台,跨版本迁移,所以这里选择使用oracle官方推荐的工具xtts。
环境及工具信息
操作系统(源端):aix 5.1 x64 操作系统(目标端):redhat 7.5 x64 数据库版本(源端):11.2.0.3 数据库版本(目标端):11.2.0.4 xtts工具版本:v3
前期所有准备工作完成后,开始第一次全量备份,然而,意外出现
备份脚本xttdriver.pl无法成功运行,错误提示如下
oracle@P570A1:/oradata/xtts$$ORACLE_HOME/perl/bin/perl xttdriver.pl -p -debug 3 ============================================================ trace file is /oradata/xtts/prepare_Oct19_Wed_11_13_51_941//Oct19_Wed_11_13_51_941_.log ============================================================= -------------------------------------------------------------------- Parsing properties -------------------------------------------------------------------- Key: backupondest Values: /oradata/xtts/dbtzy Key: platformid Values: 6 Key: backupformat Values: /oradata/xtts/dbtzy Key: parallel Values: 3 Key: storageondest Values: /oradata/xtts/dbtzy Key: dfcopydir Values: /oradata/xtts/dbtzy Key: stageondest Values: /oradata/xtts/dbtzy Key: rollparallel Values: 2 Key: tablespaces Values: ZHZX_SJDW Key: getfileparallel Values: 4 -------------------------------------------------------------------- Done parsing properties -------------------------------------------------------------------- -------------------------------------------------------------------- Checking properties -------------------------------------------------------------------- ARGUMENT tablespaces ARGUMENT platformid ARGUMENT backupformat ARGUMENT dfcopydir -------------------------------------------------------------------- Done checking properties -------------------------------------------------------------------- ORACLE_SID : dbtzy ORACLE_HOME : /oracle/product/11.2.0 PRIMARYElapsed: 00:00:00.00 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Error: ------ Unable to run script on PRIMARYElapsed: 00:00:00.00 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
网上查遍了所有资料(包括mos),也问过了很多人,都无法解决。最终是开了sr得以解决。
问题原因(内容来源于sr给我的回复):
根据 perl 代码,它是通过查询 select database_role from v$database; 来获取角色信息。但显然您的截图中多出了未预期的串 "Elapsed: 00:00:00.00",
表明您的 sqlplus 中开启了时间回显(set timing on),导致每次查询都多出一个Elapsed 信息。
解决办法
找到如下文件: $ORACLE_HOME/sqlplus/admin/glogin.sql 然后去掉 set timing on 代码。
至此,xtts问题完美解决,终于开启了数据的迁移工作。