利用XTTS增量进行跨平台迁移遭遇Bug
本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger的Oracle/MySQL/PostgreSQL数据恢复博客
本文链接地址: 利用XTTS增量进行跨平台迁移遭遇Bug
在某客户这里进行XTTS的增量测试,大概10TB的样子,脚本挂后台运行,发现只完成了2T多一点,看日志有很多error。这让我非常不解,部分文件能够转换成功,部分转换不成功,提示数据库为非归档模式,为如下类型错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[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操作,发现确实会去判断该实例是否未归档模式,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 |
[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的测试库得了,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
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。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[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,慢慢跑吧!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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> |
分享给大家,以免大家以后再踩这个坑!
Leave a Reply
You must be logged in to post a comment.