本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger 的Oracle技术博客
本文链接地址: 利用XTTS增量进行跨平台迁移遭遇Bug
在某客户这里进行XTTS的增量测试,大概10TB的样子,脚本挂后台运行,发现只完成了2T多一点,看日志有很多error。这让我非常不解,部分文件能够转换成功,部分转换不成功,提示数据库为非归档模式,为如下类型错误:
[ora1124@cszwadb1 xtts_l_2]$ rman target / debug trace=/tmp/xtts_debug.log Recovery Manager: Release 11.2.0.4.0 - Production on Wed Mar 18 10:40:07 2015 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. RMAN-06006: connected to target database: XTT (not mounted) RMAN> convert from platform 'AIX-Based Systems (64-bit)' datafile '/test/oracle/accta/oradata/vgacctdb02/lv_vg02_10g_011' format '+DG_DATA01/accta/datafile/vgacctdb02/lv_vg02_10g_011.dbf' ; RMAN-03090: Starting conversion at target at 18-MAR-15 RMAN-06009: using target database control file instead of recovery catalog RMAN-08030: allocated channel: ORA_DISK_1 RMAN-08500: channel ORA_DISK_1: SID=5004 device type=DISK RMAN-08589: channel ORA_DISK_1: starting datafile conversion RMAN-08506: input file name=/test/oracle/accta/oradata/vgacctdb02/lv_vg02_10g_011 RMAN-06731: command backup:87.2% complete, time left 00:00:18 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of conversion at target command on ORA_DISK_1 channel at 03/18/2015 10:42:46 ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
通过打开rman的debug操作,发现确实会去判断该实例是否未归档模式,如下:
[ora1124@cszwadb1 xtts_l]$ tail -f /tmp/xtts_debug.log
DBGRPC: ENTERED krmqgns
DBGRPC: krmqgns: looking for work for channel default (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=backup cmdid=1 status=STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED devtype=DISK
DBGRPC: krmqgns: no work found for channel default (krmqgns)
DBGRPC: (krmqgns)
。。。。。。。
DBGSQL: TARGET> select decode(open_mode, 'MOUNTED', 0, 'READ WRITE', 1, 'READ ONLY', 1, 'READ ONLY WITH APPLY', 1, 0) into :isdbopen from v$database
DBGSQL: sqlcode = 1507
DBGSQL: error: ORA-01507: database not mounted (krmkosqlerr)
DBGSQL: (krmkosqlerr)
DBGSQL: EXITED krmkosqlerr
RMAN-06731: command backup:87.2% complete, time left 00:00:18
DBGSQL: EXITED krmkrpr with status 0
DBGRPC: ENTERED krmqgns
DBGRPC: krmqgns: looking for work for channel default (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=backup cmdid=1 status=STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED devtype=DISK
DBGRPC: krmqgns: no work found for channel default (krmqgns)
DBGRPC: (krmqgns)
DBGRPC: EXITED krmqgns with status 1
DBGRPC: krmxpoq - returning rpc_number: 17 with status: STARTED16 for channel ORA_DISK_1
DBGRPC: ENTERED krmqgns
DBGRPC: krmqgns: looking for work for channel default (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=backup cmdid=1 status=STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED devtype=DISK
DBGRPC: krmqgns: no work found for channel default (krmqgns)
DBGRPC: (krmqgns)
DBGRPC: EXITED krmqgns with status 1
DBGRPC: krmxpoq - returning rpc_number: 17 with status: STARTED16 for channel ORA_DISK_1
DBGRPC: krmxr - sleeping for 10 seconds
DBGRPC: ENTERED krmqgns
DBGRPC: krmqgns: looking for work for channel default (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=backup cmdid=1 status=STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED devtype=DISK
DBGRPC: krmqgns: no work found for channel default (krmqgns)
DBGRPC: (krmqgns)
DBGRPC: EXITED krmqgns with status 1
DBGRPC: krmxpoq - returning rpc_number: 17 with status: STARTED16 for channel ORA_DISK_1
DBGRPC: krmxr - sleeping for 10 seconds
DBGRPC: ENTERED krmqgns
DBGRPC: krmqgns: looking for work for channel default (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=backup cmdid=1 status=STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=STARTED devtype=DISK
DBGRPC: krmqgns: no work found for channel default (krmqgns)
DBGRPC: (krmqgns)
DBGRPC: EXITED krmqgns with status 1
DBGRPC: krmxpoq - returning rpc_number: 17 with status: FINISHED16 for channel ORA_DISK_1
DBGRPC: krmxr - channel ORA_DISK_1 calling peicnt
DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=19583 db=target proc=SYS.DBMS_BACKUP_RESTORE.BACKUPPIECECREATE excl: 167
DBGRPC: krmxrpc - caloing krmxtrim: with message of length 167: @@@ORA-19583: conversation terminated due to error
DBGRPC: ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
DBGRPC: ORA-06512: at "SYS.X$DBMS_BACKUP_RESTORE", line 1384
DBGRPC: @@@
DBGMISC: ENTERED krmzejob [10:42:46.639]
DBGMISC: Input Args(failed=1),(errnum=-19583) [10:42:46.639] (krmzejob)
DBGMISC: duration(stepid=1),endtime=874636966,jobtime=145s [10:42:46.639] (krmzejob)
DBGMISC: duration(stepid=1), remaining(chn sec,bytes)=(0,10736369664) [10:42:46.639] (krmzejob)
DBGMISC: EXITED krmzejob with status 0 (FALSE) [10:42:46.639] elapsed time [00:00:00:00.000]
DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.GETLIMIT excl: 0
DBGRPC: krmxr - channel ORA_DISK_1 returned from peicnt
DBGMISC: ENTERED krmstrim [10:42:46.640]
DBGMISC: Trimming message: ORA-19583: conversation terminated due to error [10:42:46.640] (krmstrim)
DBGMISC: ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode (krmstrim)
DBGMISC: ORA-06512: at "SYS.X$DBMS_BACKUP_RESTORE", line 1384 (krmstrim)
DBGMISC: ORA-06512: at line 554 (krmstrim)
DBGMISC: (190) (krmstrim)
DBGMISC: EXITED krmstrim with status 23 [10:42:46.640] elapsed time [00:00:00:00.000]
DBGRPC: krmxr - channel ORA_DISK_1 got execution errors (step_60)
DBGRPC: krmxr - exiting with 1
DBGMISC: krmqexe: unhandled exception on channel ORA_DISK_1 [10:42:46.640]
DBGMISC: EXITED krmiexe with status 1 [10:42:46.640] elapsed time [00:00:02:25.142]
DBGMISC: ENTERED krmkmrsr [10:42:46.640]
DBGMISC: EXITED krmkmrsr [10:42:46.640] elapsed time [00:00:00:00.000]
DBGMISC: ENTERED krmkjcl [10:42:46.640]
DBGSQL: ENTERED krmkosqlerr
DBGSQL: TARGET> select decode(open_mode, 'MOUNTED', 0, 'READ WRITE', 1, 'READ ONLY', 1, 'READ ONLY WITH APPLY', 1, 0) into :isdbopen from v$database
DBGSQL: sqlcode = 1507
DBGSQL: error: ORA-01507: database not mounted (krmkosqlerr)
DBGSQL: (krmkosqlerr)
DBGSQL: EXITED krmkosqlerr
DBGSQL: TARGET> select decode(status, 'OPEN', 1, 0), decode(archiver, 'FAILED', 1, 0), decode(database_status, 'SUSPENDED', 1, 0) into :status, :archstuck, :dbsuspended from v$instance
DBGSQL: sqlcode = 0
DBGSQL: D :status = 0
DBGSQL: D :archstuck = 0
DBGSQL: D :dbsuspended = 0
DBGSQL: TARGET> select value into :vcomp_txt from v$parameter where name = 'compatible'
DBGSQL: sqlcode = 0
DBGSQL: D :vcomp_txt = 11.2.0.4.0
DBGSQL: TARGET> declare dot1st number; dot2nd number; dot3rd number; comptxt varchar2(255) := :vcomp_txt; begin comptxt := comptxt || '.0.0'; dot1st := instr(comptxt, '.', 1, 1); dot2nd := instr(comptxt, '.', 1, 2); dot3rd := instr(comptxt, '.', 1, 3); comptxt := lpad(substr(comptxt, 1, dot1st - 1), 2, '0') || lpad(substr(comptxt, dot1st + 1, dot2nd - dot1st - 1), 2, '0') || lpad(substr(comptxt, dot2nd + 1, dot3rd - dot2nd - 1), 2, '0');:vcomp_ub4 := to_number(comptxt); end;
DBGSQL: sqlcode = 0
DBGSQL: B :vcomp_ub4 = 110200
DBGSQL: B :vcomp_txt = 11.2.0.4.0
DBGMISC: krmkpdbs(): vcomp_txt:11.2.0.4.0 vcomp_ub4:110200 flags:0 [10:42:46.646]
DBGSQL: ENTERED krmkusl
DBGSQL: EXITED krmkusl with status 0
DBGSQL: ENTERED krmkusl
DBGSQL: EXITED krmkusl with status 0
DBGMISC: EXITED krmkjcl [10:42:46.647] elapsed time [00:00:00:00.006]
DBGMISC: error recovery releasing channel resources [10:42:46.647]
DBGRPC: krmxcr - channel ORA_DISK_1 resetted
DBGRPC: krmxcr - channel default resetted
DBGMISC: ENTERED krmice [10:42:46.647]
DBGMISC: command to be compiled and executed is: cleanup [10:42:46.647] (krmice)
DBGMISC: command after this command is: NONE [10:42:46.647] (krmice)
DBGMISC: current incarnation does not matter for cleanup [10:42:46.647] (krmice)
DBGMISC: ENTERED krmicomp [10:42:46.647]
DBGMISC: ENTERED krmkomp [10:42:46.647]
DBGRCV: ENTERED krmkucls
DBGRCV: EXITED krmkucls with address 0
DBGMISC: krmkcomp - Name translation defaults to catalog - 2 [10:42:46.647] (krmkomp)
DBGMISC: ENTERED krmknmtr [10:42:46.647]
DBGMISC: EXITED krmknmtr with status cleanup [10:42:46.647] elapsed time [00:00:00:00.000]
DBGMISC: ENTERED krmkdps [10:42:46.648]
DBGMISC: EXITED krmkdps [10:42:46.648] elapsed time [00:00:00:00.000]
DBGMISC: EXITED krmkomp [10:42:46.648] elapsed time [00:00:00:00.000]
DBGPLSQL: the compiled command tree is: [10:42:46.648] (krmicomp)
DBGPLSQL: 1 CMD type=cleanup cmdid=1 status=NOT STARTED
DBGPLSQL: 1 STEPstepid=1 cmdid=1 status=NOT STARTED
DBGPLSQL: 1 TEXTNOD = -- clean
DBGPLSQL: 2 TEXTNOD = declare
DBGPLSQL: 3 TEXTNOD = /* device status variables */
DBGPLSQL: 4 TEXTNOD = state binary_integer;
DBGPLSQL: 5 TEXTNOD = devtype varchar2(512);
DBGPLSQL: 6 TEXTNOD = name varchar2(512);
DBGPLSQL: 7 TEXTNOD = bufsz binary_integer;
DBGPLSQL: 8 TEXTNOD = bufcnt binary_integer;
DBGPLSQL: 9 TEXTNOD = kbytes number;
DBGPLSQL: 10 TEXTNOD = readrate binary_integer;
DBGPLSQL: 11 TEXTNOD = parallel binary_integer;
DBGPLSQL: 12 TEXTNOD = thread number;
DBGPLSQL: 13 TEXTNOD = kcrmx_recs number;
DBGPLSQL: 14 TEXTNOD = autochn number := 0;
DBGPLSQL: 15 TEXTNOD = mr_not_started exception;
DBGPLSQL: 16 TEXTNOD = pragma exception_init(mr_not_started, -1112);
DBGPLSQL: 17 TEXTNOD = db_not_mounted exception;
DBGPLSQL: 18 TEXTNOD = pragma exception_init(db_not_mounted, -1507);
DBGPLSQL: 19 TEXTNOD = begin
DBGPLSQL: 20 TEXTNOD =
DBGPLSQL: 21 PRMVAL = autochn := 1;
DBGPLSQL: 22 TEXTNOD = begin
DBGPLSQL: 23 TEXTNOD = krmicd.execSql('select count(*) from x$dual');
DBGPLSQL: 24 TEXTNOD = exception
DBGPLSQL: 25 TEXTNOD = when others then
DBGPLSQL: 26 TEXTNOD = krmicd.clearErrors;
DBGPLSQL: 27 TEXTNOD = end;
DBGPLSQL: 28 TEXTNOD = sys.dbms_backup_restore.backupCancel;
DBGPLSQL: 29 TEXTNOD = sys.dbms_backup_restore.restoreCancel(FALSE);
DBGPLSQL: 30 TEXTNOD = begin
DBGPLSQL: 31 TEXTNOD = sys.dbms_backup_restore.proxyCancel;
DBGPLSQL: 32 TEXTNOD = exception
DBGPLSQL: 33 TEXTNOD = when others then
DBGPLSQL: 34 TEXTNOD = krmicd.clearErrors;
DBGPLSQL: 35 TEXTNOD = end;
DBGPLSQL: 36 TEXTNOD = sys.dbms_backup_restore.cfileUseCurrent; -- release enqueue
DBGPLSQL: 37 TEXTNOD = sys.dbms_backup_restore.deviceStatus(state, devtype, name, bufsz, bufcnt,
DBGPLSQL: 38 TEXTNOD = kbytes, readrate, parallel);
DBGPLSQL: 39 TEXTNOD = begin
DBGPLSQL: 40 TEXTNOD = sys.dbms_backup_restore.bmrCancel;
DBGPLSQL: 41 TEXTNOD = exception
DBGPLSQL: 42 TEXTNOD = when others then
DBGPLSQL: 43 TEXTNOD = krmicd.clearErrors;
DBGPLSQL: 44 TEXTNOD = end;
DBGPLSQL: 45 TEXTNOD = begin
DBGPLSQL: 46 TEXTNOD = sys.dbms_backup_restore.flashbackCancel;
DBGPLSQL: 47 TEXTNOD = exception
DBGPLSQL: 48 TEXTNOD = when others then
DBGPLSQL: 49 TEXTNOD = krmicd.clearErrors;
DBGPLSQL: 50 TEXTNOD = end;
DBGPLSQL: 51 TEXTNOD = begin
DBGPLSQL: 52 TEXTNOD = if krmicd.mrCheck > 0 then
DBGPLSQL: 53 TEXTNOD = krmicd.execSql('alter database recover cancel');
DBGPLSQL: 54 TEXTNOD = end if;
DBGPLSQL: 55 TEXTNOD = exception
DBGPLSQL: 56 TEXTNOD = when others then
DBGPLSQL: 57 TEXTNOD = krmicd.clearErrors;
DBGPLSQL: 58 TEXTNOD = end;
DBGPLSQL: 59 TEXTNOD = -- If autchn is set to 0, then it the channel is user allocated, hence can be
DBGPLSQL: 60 TEXTNOD = -- deallocated. However, we will call dbms_backup_restore.deviceDeallocate
DBGPLSQL: 61 TEXTNOD = -- only if server says that the device is actually allocated. On the
DBGPLSQL: 62 TEXTNOD = -- other hand, we will call krmicd.clearChannelInfo even if server
DBGPLSQL: 63 TEXTNOD = -- thinks that device is not allocated because it can be that
DBGPLSQL: 64 TEXTNOD = -- deviceAllocate have failed.
DBGPLSQL: 65 TEXTNOD = if (autochn = 0) then
DBGPLSQL: 66 TEXTNOD = if (state > sys.dbms_backup_restore.NO_DEVICE) then
DBGPLSQL: 67 TEXTNOD = sys.dbms_backup_restore.deviceDeallocate;
DBGPLSQL: 68 TEXTNOD = krmicd.writeMsg(8031, krmicd.getChid);
DBGPLSQL: 69 TEXTNOD = -- Clear the client_info field on channels which have no device
DBGPLSQL: 70 TEXTNOD = -- allocated. This has the effect of leaving the client_info field
DBGPLSQL: 71 TEXTNOD = -- present on the default channel.
DBGPLSQL: 72 TEXTNOD = sys.dbms_backup_restore.set_client_info('');
DBGPLSQL: 73 TEXTNOD = end if;
DBGPLSQL: 74 TEXTNOD = krmicd.clearChannelInfo; -- tell krmq no device here now
DBGPLSQL: 75 TEXTNOD = end if;
DBGPLSQL: 76 TEXTNOD = sys.dbms_backup_restore.setRmanStatusRowId(rsid=>0, rsts=>0);
DBGPLSQL: 77 TEXTNOD = end;
DBGMISC: EXITED krmicomp with address 36396808 [10:42:46.651] elapsed time [00:00:00:00.004]
DBGMISC: ENTERED krmiexe [10:42:46.651]
DBGMISC: Executing command cleanup [10:42:46.651] (krmiexe)
DBGRPC: krmxr - entering
DBGRPC: krmxpoq - returning rpc_number: 5 with status: FINISHED130 for channel default
DBGRPC: krmxr - channel default has rpc_count: 5
DBGRPC: krmxpoq - returning rpc_number: 18 with status: FINISHED7 for channel ORA_DISK_1
DBGRPC: krmxr - channel ORA_DISK_1 has rpc_count: 18
DBGRPC: ENTERED krmqgns
DBGRPC: krmqgns: looking for work for channel default (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=cleanup cmdid=1 status=NOT STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=NOT STARTED
DBGRPC: krmqgns: channel default running cleanup (krmqgns)
DBGRPC: EXITED krmqgns with status 0
DBGRPC: ENTERED krmqgns
DBGRPC: krmqgns: looking for work for channel ORA_DISK_1 (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=cleanup cmdid=1 status=NOT STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=NOT STARTED
DBGRPC: krmqgns: channel ORA_DISK_1 running cleanup (krmqgns)
DBGRPC: EXITED krmqgns with status 0
DBGRPC: krmxcis - channel default, calling pcicmp
DBGRPC: krmxcis - channel ORA_DISK_1, calling pcicmp
DBGRPC: krmxr - channel default calling peicnt
DBGRPC: krmxrpc - channel default kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.BACKUPCANCEL excl: 0
DBGRPC: krmxrpc - channel default kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.RESTORECANCEL excl: 0
DBGRPC: krmxrpc - channel default kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.PROXYCANCEL excl: 0
DBGRPC: krmxrpc - channel default kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.CFILEUSECURRENT excl: 0
DBGRPC: krmxrpc - channel default kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.DEVICESTATUS excl: 0
DBGRPC: krmxrpc - channel default kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.BMRCANCEL excl: 0
DBGRPC: krmxrpc - channel default kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.FLASHBACKCANCEL excl: 0
DBGRPC: krmxrpc - channel default kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.SETRMANSTATUSROWID excl: 0
DBGRPC: krmxr - channel default returned from peicnt
DBGRPC: krmxr - channel default finished step
DBGRPC: ENTERED krmqgns
krmqgns: looking for work for channel default (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=cleanup cmdid=1 status=NOT STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=NOT STARTED
DBGRPC: krmqgns: no work found for channel default (krmqgns)
DBGRPC: (krmqgns)
DBGRPC: EXITED krmqgns with status 1
DBGRPC: krmxr - channel ORA_DISK_1 calling peicnt
DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.BACKUPCANCEL excl: 0
DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.RESTORECANCEL excl: 0
DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.PROXYCANCEL excl: 0
DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.CFILEUSECURRENT excl: 0
DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.DEVICESTATUS excl: 0
DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.BMRCANCEL excl: 0
DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.FLASHBACKCANCEL excl: 0
DBGRPC: krmxrpc - channel ORA_DISK_1 kpurpc2 err=0 db=target proc=SYS.DBMS_BACKUP_RESTORE.SETRMANSTATUSROWID excl: 0
DBGRPC: krmxr - channel ORA_DISK_1 returned from peicnt
DBGRPC: krmxr - channel ORA_DISK_1 finished step
DBGRPC: ENTERED krmqgns
krmqgns: looking for work for channel default (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=cleanup cmdid=1 status=NOT STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=NOT STARTED
DBGRPC: krmqgns: no work found for channel default (krmqgns)
DBGRPC: (krmqgns)
DBGRPC: EXITED krmqgns with status 1
DBGRPC: ENTERED krmqgns
DBGRPC: krmqgns: looking for work for channel ORA_DISK_1 (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=cleanup cmdid=1 status=NOT STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=NOT STARTED
DBGRPC: krmqgns: no work found for channel ORA_DISK_1 (krmqgns)
DBGRPC: (krmqgns)
DBGRPC: EXITED krmqgns with status 1
DBGRPC: ENTERED krmqgns
DBGRPC: krmqgns: looking for work for channel default (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=cleanup cmdid=1 status=NOT STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=NOT STARTED
DBGRPC: krmqgns: no work found for channel default (krmqgns)
DBGRPC: (krmqgns)
DBGRPC: EXITED krmqgns with status 1
DBGRPC: ENTERED krmqgns
DBGRPC: krmqgns: looking for work for channel ORA_DISK_1 (krmqgns)
DBGRPC: krmqgns: commands remaining to be executed: (krmqgns)
DBGRPC: CMD type=cleanup cmdid=1 status=NOT STARTED
DBGRPC: 1 STEPstepid=1 cmdid=1 status=NOT STARTED
DBGRPC: krmqgns: no work found for channel ORA_DISK_1 (krmqgns)
DBGRPC: (krmqgns)
DBGRPC: EXITED krmqgns with status 1
DBGRPC: krmxr - all done
DBGRPC: krmxr - exiting with 0
DBGMISC: EXITED krmiexe with status 0 [10:42:46.673] elapsed time [00:00:00:00.021]
DBGMISC: Finished cleanup at 18-MAR-15 [10:42:46.673]
DBGMISC: ENTERED krmkjcl [10:42:46.673]
DBGMISC: EXITED krmkjcl [10:42:46.673] elapsed time [00:00:00:00.000]
DBGMISC: EXITED krmice [10:42:46.673] elapsed time [00:00:00:00.026]
Calling krmmpem from krmmexe
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of conversion at target command on ORA_DISK_1 channel at 03/18/2015 10:42:46
RMAN-10032: unhandled exception during execution of job step 1:
ORA-06512: at line 554
RMAN-10035: exception raised in RPC:
ORA-19583: conversation terminated due to error
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
ORA-06512: at "SYS.X$DBMS_BACKUP_RESTORE", line 1384
RMAN-10031: RPC Error: ORA-19583 occurred during call to DBMS_BACKUP_RESTORE.BACKUPPIECECREATE
DBGMISC: ENTERED krmkursr [10:42:46.674]
DBGMISC: EXITED krmkursr [10:42:46.674] elapsed time [00:00:00:00.000]
查询发现这应该是Oracle bug 17565514 导致。处理方式是将辅助实例xtt创建为一个测试库,调整为归档模式。同时启动到mount状态下进行操作。于是这里我干脆创建一个xtt的测试库得了,如下:
SQL> show parameter instance NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ active_instance_count integer cluster_database_instances integer 1 instance_groups string instance_name string xtt instance_number integer 0 instance_type string RDBMS open_links_per_instance integer 4 parallel_instance_group string parallel_server_instances integer 1 SQL> select open_mode from v$database; OPEN_MODE -------------------- READ WRITE SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 1068937216 bytes Fixed Size 2260088 bytes Variable Size 335545224 bytes Database Buffers 708837376 bytes Redo Buffers 22294528 bytes Database mounted. SQL> alter database archivelog; Database altered. SQL> alter database open; Database altered. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 1068937216 bytes Fixed Size 2260088 bytes Variable Size 335545224 bytes Database Buffers 708837376 bytes Redo Buffers 22294528 bytes Database mounted. SQL>
创建后,将xtt启动到mount状态,然后再进行测试,发现一切OK。
[ora1124@cszwadb1 xtts_l_2]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Wed Mar 18 11:07:20 2015 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: XTT (DBID=4264586957, not open) RMAN> convert from platform 'AIX-Based Systems (64-bit)' datafile '/test/oracle/accta/oradata/vgacctdb02/lv_vg02_10g_011' format '+DG_DATA01/accta/datafile/vgacctdb02/%N_%f.dbf'; Starting conversion at target at 18-MAR-15 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=211 device type=DISK channel ORA_DISK_1: starting datafile conversion input file name=/test/oracle/accta/oradata/vgacctdb02/lv_vg02_10g_011 converted datafile=+DG_DATA01/accta/datafile/vgacctdb02/invoice_idx_01_216.dbf channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:02:25 Finished conversion at target at 18-MAR-15
不仅仅是我的手工测试ok,而且所有的后台脚本运行也都OK,目前已经转换了3TB,慢慢跑吧!
ASMCMD> lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 4096 1048576 9437166 7045877 0 7045877 0 N DG_DATA01/ ASMCMD> ASMCMD> ASMCMD> ASMCMD> lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 4096 1048576 9437166 6277828 0 6277828 0 N DG_DATA01/ ASMCMD> ASMCMD> lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 4096 1048576 9437166 6093498 0 6093498 0 N DG_DATA01/ ASMCMD>
分享给大家,以免大家以后再踩这个坑!
Related posts:

