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 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406
| RMAN> CHANGE BACKUP TAG TAG20080819T001533 KEEP FOREVER LOGS;
keep attributes for the backup are changed
backup will never be obsolete
archived logs required to recover from this backup will expire when this backup expires
backup set key=2885903 recid=4143 stamp=663120949
DBGANY: CMD type=KEEP id=1 status=NOT STARTED
DBGANY: 1 STEP id=2 status=NOT STARTED chid=default
DBGANY: 1 TEXTNOD = -- change
DBGANY: 2 TEXTNOD = declare
DBGANY: 3 TEXTNOD = found boolean;
DBGANY: 4 TEXTNOD = mismatch boolean;
DBGANY: 5 TEXTNOD = anymiss boolean := FALSE;
DBGANY: 6 TEXTNOD = ocount number := 0;
DBGANY: 7 TEXTNOD = mcount number := 0;
DBGANY: 8 TEXTNOD = rc number;
DBGANY: 9 TEXTNOD = msg number;
DBGANY: 10 TEXTNOD = /* about the object */
DBGANY: 11 TEXTNOD = new_status varchar2(1);
DBGANY: 12 TEXTNOD = old_status varchar2(1);
DBGANY: 13 TEXTNOD = objectType number;
DBGANY: 14 TEXTNOD = handle varchar2(512);
DBGANY: 15 TEXTNOD = recid number;
DBGANY: 16 TEXTNOD = stamp number;
DBGANY: 17 TEXTNOD = obj_key1 number;
DBGANY: 18 TEXTNOD = obj_key2 number;
DBGANY: 19 TEXTNOD = pieceno number;
DBGANY: 20 TEXTNOD = blksize number;
DBGANY: 21 TEXTNOD = rlscn number;
DBGANY: 22 TEXTNOD = rlstime date;
DBGANY: 23 TEXTNOD = crescn number;
DBGANY: 24 TEXTNOD = ckpscn number;
DBGANY: 25 TEXTNOD = new_fname varchar2(512);
DBGANY: 26 TEXTNOD = cmdmsg number;
DBGANY: 27 TEXTNOD = new_recid number;
DBGANY: 28 TEXTNOD = new_stamp number;
DBGANY: 29 TEXTNOD = obj_typen varchar2(20);
DBGANY: 30 TEXTNOD = devtype varchar2(20);
DBGANY: 31 TEXTNOD = devicetype varchar2(20);
DBGANY: 32 TEXTNOD = writeflag binary_integer;
DBGANY: 33 TEXTNOD = dummy binary_integer;
DBGANY: 34 TEXTNOD = keep_until_d date := NULL;
DBGANY: 35 TEXTNOD = force binary_integer;
DBGANY: 36 TEXTNOD = hdl_isdisk binary_integer;
DBGANY: 37 TEXTNOD = -- constants include cmd (krminod type), dbnomount,
DBGANY: 38 TEXTNOD = -- keep attributes and the krminod types
DBGANY: 39 PRMVAL = cmd constant number := 202;
DBGANY: 40 PRMVAL = nforce constant number := 0;
DBGANY: 41 PRMVAL = implicit constant number := 0;
DBGANY: 42 PRMVAL = dbnomount constant number := 0;
DBGANY: 43 PRMVAL = KEEP_LOGS constant number := 256;
DBGANY: 44 PRMVAL = KEEP_NOLOGS constant number := 512;
DBGANY: 45 PRMVAL = KEEP_CONSIST constant number := 1024;
DBGANY: 46 PRMVAL = keep_options constant number := 256;
DBGANY: 47 PRMVAL = keep_until constant number := 0;
DBGANY: 48 PRMVAL = krmiXCHECK constant number := 651;
DBGANY: 49 PRMVAL = krmiDEXPIRED constant number := 68;
DBGANY: 50 PRMVAL = krmiUNCAT constant number := 404;
DBGANY: 51 PRMVAL = krmiDELETE constant number := 61;
DBGANY: 52 PRMVAL = krmiAVAIL constant number := 7;
DBGANY: 53 PRMVAL = krmiUAVAIL constant number := 400;
DBGANY: 54 PRMVAL = krmiKEEP constant number := 202;
DBGANY: 55 PRMVAL = krmiBS constant number := 28;
DBGANY: 56 PRMVAL = krmiBPIECEX constant number := 30;
DBGANY: 57 PRMVAL = krmiPC constant number := 307;
DBGANY: 58 PRMVAL = krmiDC constant number := 72;
DBGANY: 59 PRMVAL = krmiRAL constant number := 340;
DBGANY: 60 TEXTNOD = -- exceptions
DBGANY: 61 TEXTNOD = dexpired_exists exception;
DBGANY: 62 TEXTNOD = internal_error exception;
DBGANY: 63 TEXTNOD = pragma exception_init(dexpired_exists, -20502);
DBGANY: 64 TEXTNOD = pragma exception_init(internal_error, -600);
DBGANY: 65 TEXTNOD = begin
DBGANY: 66 TEXTNOD = entered('change');
DBGANY: 67 TEXTNOD = deb('change', 'started, command:'||cmd);
DBGANY: 68 TEXTNOD = select decode(cmd,
DBGANY: 69 TEXTNOD = krmiAVAIL, 6200,
DBGANY: 70 TEXTNOD = krmiDELETE, 6201,
DBGANY: 71 TEXTNOD = krmiDEXPIRED, 6202,
DBGANY: 72 TEXTNOD = krmiKEEP, 6203,
DBGANY: 73 TEXTNOD = krmiUAVAIL, 6204,
DBGANY: 74 TEXTNOD = krmiUNCAT, 6205,
DBGANY: 75 TEXTNOD = krmiXCHECK, 6206)
DBGANY: 76 TEXTNOD = into cmdmsg
DBGANY: 77 TEXTNOD = from x$dual;
DBGANY: 78 TEXTNOD = devicetype := NULL;
DBGANY: 79 TEXTNOD = loop
DBGANY: 80 TEXTNOD = found := FALSE;
DBGANY: 81 TEXTNOD = mismatch := FALSE;
DBGANY: 82 TEXTNOD = -- get next object not found on another channel yet.
DBGANY: 83 TEXTNOD = krmicd.changeGetNext(objectType, handle, recid, stamp,
DBGANY: 84 TEXTNOD = obj_key1, obj_key2, pieceno, blksize,
DBGANY: 85 TEXTNOD = ckpscn, rlscn, rlstime, crescn, old_status,
DBGANY: 86 TEXTNOD = devtype);
DBGANY: 87 TEXTNOD = exit when objectType = 0;
DBGANY: 88 TEXTNOD = if old_status != 'X' and cmd = krmiDEXPIRED then
DBGANY: 89 TEXTNOD = krmicd.writeMsg(1005, 'INTERNAL ERROR: Available object during '||
DBGANY: 90 TEXTNOD = 'DELETE EXPIRED');
DBGANY: 91 TEXTNOD = raise internal_error;
DBGANY: 92 TEXTNOD = end if;
DBGANY: 93 TEXTNOD = if nforce = 1 or (old_status = 'U' and cmd = krmiDELETE) then
DBGANY: 94 TEXTNOD = force := 1;
DBGANY: 95 TEXTNOD = else
DBGANY: 96 TEXTNOD = force := 0;
DBGANY: 97 TEXTNOD = end if;
DBGANY: 98 TEXTNOD = hdl_isdisk := 0;
DBGANY: 99 TEXTNOD = if devicetype is NULL and devtype is not NULL then
DBGANY: 100 TEXTNOD = devicetype := devtype;
DBGANY: 101 TEXTNOD = if devicetype = 'DISK' then
DBGANY: 102 TEXTNOD = hdl_isdisk := 1;
DBGANY: 103 TEXTNOD = end if;
DBGANY: 104 TEXTNOD = end if;
DBGANY: 105 TEXTNOD = deb('change', ' processing (file/handle='||handle||','||
DBGANY: 106 TEXTNOD = 'recid='||to_char(recid)||', old_status='||old_status||
DBGANY: 107 TEXTNOD = ', hdl_isdisk=' || hdl_isdisk || ', devicetype=' ||
DBGANY: 108 TEXTNOD = nvl(devicetype, 'NULL') || ')');
DBGANY: 109 TEXTNOD = deb('change',' force: '||force);
DBGANY: 110 TEXTNOD = if objectType = krmiBPIECEX then
DBGANY: 111 TEXTNOD = obj_typen := 'Backup Piece';
DBGANY: 112 TEXTNOD = elsif objectType = krmiPC then
DBGANY: 113 TEXTNOD = obj_typen := 'Proxy Copy';
DBGANY: 114 TEXTNOD = elsif objectType = krmiDC then
DBGANY: 115 TEXTNOD = obj_typen := 'Datafile Copy';
DBGANY: 116 TEXTNOD = elsif objectType = krmiRAL then
DBGANY: 117 TEXTNOD = obj_typen := 'Archivelog';
DBGANY: 118 TEXTNOD = elsif objectType = krmiBS then
DBGANY: 119 TEXTNOD = obj_typen := 'Backup Set';
DBGANY: 120 TEXTNOD = else
DBGANY: 121 TEXTNOD = krmicd.writeMsg(1005, 'INTERNAL ERROR: unexpected objectType='||
DBGANY: 122 TEXTNOD = to_char(objectType));
DBGANY: 123 TEXTNOD = raise internal_error;
DBGANY: 124 TEXTNOD = end if;
DBGANY: 125 TEXTNOD = if cmd in (krmiUAVAIL, krmiUNCAT, krmiKEEP) then
DBGANY: 126 TEXTNOD = -- Change to unavailable or change of keep atributtes can be done on
DBGANY: 127 TEXTNOD = -- any channel, so lets do it on this one.
DBGANY: 128 TEXTNOD = -- Change to available must be done on the appropriate channel, as
DBGANY: 129 TEXTNOD = -- we crosscheck the object first, to verify it really exists.
DBGANY: 130 TEXTNOD = -- Also, we don't require the user to allocate any special channels
DBGANY: 131 TEXTNOD = -- for available/unavailable (we will execute on the default
DBGANY: 132 TEXTNOD = -- channel if necessary or auto-allocate will allocate what we need).
DBGANY: 133 TEXTNOD = found := TRUE;
DBGANY: 134 TEXTNOD = elsif force = 0 then
DBGANY: 135 TEXTNOD = -- Call the appropriate dbms_backup_restore validate function based on
DBGANY: 136 TEXTNOD = -- object type.
DBGANY: 137 TEXTNOD = begin
DBGANY: 138 TEXTNOD = if objectType = krmiBPIECEX then
DBGANY: 139 TEXTNOD = rc := sys.dbms_backup_restore.validateBackupPiece(
DBGANY: 140 TEXTNOD = recid => recid,
DBGANY: 141 TEXTNOD = stamp => stamp,
DBGANY: 142 TEXTNOD = handle => handle,
DBGANY: 143 TEXTNOD = set_stamp => obj_key2,
DBGANY: 144 TEXTNOD = set_count => obj_key1,
DBGANY: 145 TEXTNOD = pieceno => pieceno,
DBGANY: 146 TEXTNOD = hdl_isdisk => hdl_isdisk);
DBGANY: 147 TEXTNOD = elsif objectType = krmiPC then
DBGANY: 148 TEXTNOD = rc := sys.dbms_backup_restore.proxyValOnly(
DBGANY: 149 TEXTNOD = recid => recid,
DBGANY: 150 TEXTNOD = stamp => stamp,
DBGANY: 151 TEXTNOD = handle => handle);
DBGANY: 152 TEXTNOD = elsif objectType = krmiDC then
DBGANY: 153 TEXTNOD = rc := sys.dbms_backup_restore.validateDataFileCopy(
DBGANY: 154 TEXTNOD = recid => recid,
DBGANY: 155 TEXTNOD = stamp => stamp,
DBGANY: 156 TEXTNOD = fname => handle,
DBGANY: 157 TEXTNOD = dfnumber => obj_key1,
DBGANY: 158 TEXTNOD = resetlogs_change => rlscn,
DBGANY: 159 TEXTNOD = creation_change => crescn,
DBGANY: 160 TEXTNOD = checkpoint_change => ckpscn,
DBGANY: 161 TEXTNOD = blksize => blksize,
DBGANY: 162 TEXTNOD = signal => 0);
DBGANY: 163 TEXTNOD = elsif objectType = krmiRAL then
DBGANY: 164 TEXTNOD = rc := sys.dbms_backup_restore.validateArchivedLog(
DBGANY: 165 TEXTNOD = recid => recid,
DBGANY: 166 TEXTNOD = stamp => stamp,
DBGANY: 167 TEXTNOD = fname => handle,
DBGANY: 168 TEXTNOD = thread => obj_key1,
DBGANY: 169 TEXTNOD = sequence => obj_key2,
DBGANY: 170 TEXTNOD = resetlogs_change => rlscn,
DBGANY: 171 TEXTNOD = first_change => crescn,
DBGANY: 172 TEXTNOD = blksize => blksize,
DBGANY: 173 TEXTNOD = signal => 0);
DBGANY: 174 TEXTNOD = end if;
DBGANY: 175 TEXTNOD = exception
DBGANY: 176 TEXTNOD = when others then
DBGANY: 177 TEXTNOD = if implicit != 0 then
DBGANY: 178 TEXTNOD = -- if implicit crosscheck, then just display the errors
DBGANY: 179 TEXTNOD = -- and mark the file as expired.
DBGANY: 180 TEXTNOD = rc := sys.dbms_backup_restore.validate_file_different;
DBGANY: 181 TEXTNOD = krmicd.writeMsg(1005, geterrm(sqlerrm));
DBGANY: 182 TEXTNOD = krmicd.clearErrors;
DBGANY: 183 TEXTNOD = else
DBGANY: 184 TEXTNOD = raise;
DBGANY: 185 TEXTNOD = end if;
DBGANY: 186 TEXTNOD = end;
DBGANY: 187 TEXTNOD = deb('change', 'file '||handle||', rc='||rc);
DBGANY: 188 TEXTNOD = rc := bitand(rc, sys.dbms_backup_restore.validate_file_different);
DBGANY: 189 TEXTNOD = deb('change', 'file '||handle||', Modified rc='||rc);
DBGANY: 190 TEXTNOD = if rc = 0 then
DBGANY: 191 TEXTNOD = found := TRUE;
DBGANY: 192 TEXTNOD = end if;
DBGANY: 193 TEXTNOD = else
DBGANY: 194 TEXTNOD = deb('change', 'file '||handle||
DBGANY: 195 TEXTNOD = ', Skipping validation due to FORCE, assuming not found');
DBGANY: 196 TEXTNOD = end if;
DBGANY: 197 TEXTNOD = deb('change', 'file '||handle||', found='||bool2char(found));
DBGANY: 198 TEXTNOD = if krmicd.changeSetFound(found) then
DBGANY: 199 TEXTNOD = if found then
DBGANY: 200 TEXTNOD = deb('change', 'file '||handle||' in found');
DBGANY: 201 TEXTNOD = if cmd in (krmiDELETE, krmiDEXPIRED) and old_status = 'X' then
DBGANY: 202 TEXTNOD = deb('change', 'file '||handle||'mismatched due to X');
DBGANY: 203 TEXTNOD = mismatch := TRUE;
DBGANY: 204 TEXTNOD = -- we should not find an object that was marked expired
DBGANY: 205 TEXTNOD = -- raise dexpired_exists;
DBGANY: 206 TEXTNOD = end if;
DBGANY: 207 TEXTNOD = else
DBGANY: 208 TEXTNOD = if cmd = krmiAVAIL then
DBGANY: 209 TEXTNOD = deb('change', 'file '||handle||' not found in AVAIL');
DBGANY: 210 TEXTNOD = if objectType = krmiBPIECEX then
DBGANY: 211 TEXTNOD = krmicd.writeMsg(6481, handle);
DBGANY: 212 TEXTNOD = elsif objectType = krmiPC then
DBGANY: 213 TEXTNOD = krmicd.writeMsg(6482, handle);
DBGANY: 214 TEXTNOD = elsif objectType = krmiDC then
DBGANY: 215 TEXTNOD = if obj_key1 = 0 then
DBGANY: 216 TEXTNOD = krmicd.writeMsg(6479, handle);
DBGANY: 217 TEXTNOD = else
DBGANY: 218 TEXTNOD = krmicd.writeMsg(6478, handle);
DBGANY: 219 TEXTNOD = end if;
DBGANY: 220 TEXTNOD = elsif objectType = krmiRAL then
DBGANY: 221 TEXTNOD = krmicd.writeMsg(6480, handle);
DBGANY: 222 TEXTNOD = end if;
DBGANY: 223 TEXTNOD = -- Decrement counter, we are not actually changing this object
DBGANY: 224 TEXTNOD = -- to available, but to expired.
DBGANY: 225 TEXTNOD = ocount := ocount - 1;
DBGANY: 226 TEXTNOD = elsif cmd = krmiDELETE then
DBGANY: 227 TEXTNOD = deb('change', 'file '||handle||' not found in DELETE');
DBGANY: 228 TEXTNOD = if old_status = 'A' then
DBGANY: 229 TEXTNOD = mismatch := TRUE;
DBGANY: 230 TEXTNOD = end if;
DBGANY: 231 TEXTNOD = else
DBGANY: 232 TEXTNOD = deb('change', 'file '||handle||' not found for cmd '||cmd);
DBGANY: 233 TEXTNOD = end if;
DBGANY: 234 TEXTNOD = end if;
DBGANY: 235 TEXTNOD = deb('change', 'file '||handle||' mismatch: '||
DBGANY: 236 TEXTNOD = bool2char(mismatch)||' force: '||force);
DBGANY: 237 TEXTNOD = if mismatch and force = 0 then
DBGANY: 238 TEXTNOD = -- record information about mismatches for later retrieval
DBGANY: 239 TEXTNOD = krmicd.mismatchObj(obj_typen, handle);
DBGANY: 240 TEXTNOD = anymiss := TRUE;
DBGANY: 241 TEXTNOD = mcount := mcount + 1;
DBGANY: 242 TEXTNOD = goto next_object;
DBGANY: 243 TEXTNOD = end if;
DBGANY: 244 TEXTNOD = -- determine new_status
DBGANY: 245 TEXTNOD = if cmd in (krmiXCHECK, krmiAVAIL) then
DBGANY: 246 TEXTNOD = if found then
DBGANY: 247 TEXTNOD = new_status := 'A';
DBGANY: 248 TEXTNOD = else
DBGANY: 249 TEXTNOD = new_status := 'X';
DBGANY: 250 TEXTNOD = end if;
DBGANY: 251 TEXTNOD = elsif cmd in (krmiDEXPIRED, krmiDELETE) then
DBGANY: 252 TEXTNOD = new_status := 'D';
DBGANY: 253 TEXTNOD = elsif cmd = krmiUNCAT then
DBGANY: 254 TEXTNOD = new_status := 'R';
DBGANY: 255 TEXTNOD = elsif cmd = krmiUAVAIL then
DBGANY: 256 TEXTNOD = new_status := 'U';
DBGANY: 257 TEXTNOD = elsif cmd = krmiKEEP then
DBGANY: 258 TEXTNOD = -- we don't need status if change keep
DBGANY: 259 TEXTNOD = new_status := 'K';
DBGANY: 260 TEXTNOD = keep_until_d := stamp2date(keep_until);
DBGANY: 261 TEXTNOD = else
DBGANY: 262 TEXTNOD = krmicd.writeMsg(1005,'INTERNAL ERROR: unknown cmd='||to_char(cmd));
DBGANY: 263 TEXTNOD = raise internal_error;
DBGANY: 264 TEXTNOD = end if;
DBGANY: 265 TEXTNOD = -- call appropriate dbms_backup_restore change function based on
DBGANY: 266 TEXTNOD = -- object type, passing new status.
DBGANY: 267 TEXTNOD = if objectType = krmiBS then
DBGANY: 268 TEXTNOD = if dbnomount = 0 then
DBGANY: 269 TEXTNOD = sys.dbms_backup_restore.changeBackupSet(
DBGANY: 270 TEXTNOD = recid => recid,
DBGANY: 271 TEXTNOD = stamp => stamp,
DBGANY: 272 TEXTNOD = set_count => obj_key1,
DBGANY: 273 TEXTNOD = keep_options => keep_options,
DBGANY: 274 TEXTNOD = keep_until => keep_until);
DBGANY: 275 TEXTNOD = else
DBGANY: 276 TEXTNOD = dbms_rcvcat.changeBackupSet(
DBGANY: 277 TEXTNOD = recid => recid,
DBGANY: 278 TEXTNOD = stamp => stamp,
DBGANY: 279 TEXTNOD = keep_options => keep_options,
DBGANY: 280 TEXTNOD = keep_until => keep_until_d);
DBGANY: 281 TEXTNOD = end if;
DBGANY: 282 TEXTNOD = if cmd = krmiKEEP then
DBGANY: 283 TEXTNOD = if keep_options = 0 then
DBGANY: 284 TEXTNOD = -- write: keep is deleted
DBGANY: 285 TEXTNOD = krmicd.writeMsg(8121);
DBGANY: 286 TEXTNOD = else
DBGANY: 287 TEXTNOD = -- write: keep is changed
DBGANY: 288 TEXTNOD = krmicd.writeMsg(8122);
DBGANY: 289 TEXTNOD = if keep_until > 0 then
DBGANY: 290 TEXTNOD = krmicd.writeMsg(6518, to_char(keep_until_d));
DBGANY: 291 TEXTNOD = else
DBGANY: 292 TEXTNOD = krmicd.writeMsg(6519);
DBGANY: 293 TEXTNOD = end if;
DBGANY: 294 TEXTNOD = if (keep_options = KEEP_LOGS) then
DBGANY: 295 TEXTNOD = -- write: archive logs required to recover this
DBGANY: 296 TEXTNOD = -- backup will be kept
DBGANY: 297 TEXTNOD = krmicd.writeMsg(6521);
DBGANY: 298 TEXTNOD = elsif (keep_options = KEEP_NOLOGS) then
DBGANY: 299 TEXTNOD = -- write: archive logs required to recover this
DBGANY: 300 TEXTNOD = -- backup will expire when this backup exipres
DBGANY: 301 TEXTNOD = krmicd.writeMsg(6520);
DBGANY: 302 TEXTNOD = else
DBGANY: 303 TEXTNOD = krmicd.writeMsg(1005,
DBGANY: 304 TEXTNOD = 'INTERNAL ERROR: ' ||
DBGANY: 305 TEXTNOD = 'unexpected keep option for Backup Set');
DBGANY: 306 TEXTNOD = raise internal_error;
DBGANY: 307 TEXTNOD = end if;
DBGANY: 308 TEXTNOD = end if;
DBGANY: 309 TEXTNOD = else
DBGANY: 310 TEXTNOD = krmicd.writeMsg(1005,
DBGANY: 311 TEXTNOD = 'INTERNAL ERROR: unexpected cmd='||
DBGANY: 312 TEXTNOD = to_char(cmd)||' for Backup Set');
DBGANY: 313 TEXTNOD = raise internal_error;
DBGANY: 314 TEXTNOD = end if;
DBGANY: 315 TEXTNOD = krmicd.writeMsg(8539, to_char(obj_key2), -- set key
DBGANY: 316 TEXTNOD = to_char(recid), -- set recid
DBGANY: 317 TEXTNOD = to_char(stamp)); -- set stamp
DBGANY: 318 TEXTNOD = elsif objectType = krmiBPIECEX then
DBGANY: 319 TEXTNOD = if old_status != new_status then
DBGANY: 320 TEXTNOD = if dbnomount = 0 then
DBGANY: 321 TEXTNOD = sys.dbms_backup_restore.changeBackupPiece(
DBGANY: 322 TEXTNOD = recid => recid,
DBGANY: 323 TEXTNOD = stamp => stamp,
DBGANY: 324 TEXTNOD = handle => handle,
DBGANY: 325 TEXTNOD = set_stamp => obj_key2,
DBGANY: 326 TEXTNOD = set_count => obj_key1,
DBGANY: 327 TEXTNOD = pieceno => pieceno,
DBGANY: 328 TEXTNOD = status => new_status,
DBGANY: 329 TEXTNOD = force => force);
DBGANY: 330 TEXTNOD = else
DBGANY: 331 TEXTNOD = dbms_rcvcat.changeBackupPiece(
DBGANY: 332 TEXTNOD = bp_recid => recid,
DBGANY: 333 TEXTNOD = bp_stamp => stamp,
DBGANY: 334 TEXTNOD = status => new_status);
DBGANY: 335 TEXTNOD = end if;
DBGANY: 336 TEXTNOD = else
DBGANY: 337 TEXTNOD = deb('change', 'file '||handle||
DBGANY: 338 TEXTNOD = ' not updated on repository, old_status:'||old_status||
DBGANY: 339 TEXTNOD = ' same as new_status:'||new_status);
DBGANY: 340 TEXTNOD = end if;
DBGANY: 341 TEXTNOD = if cmd = krmiXCHECK then
DBGANY: 342 TEXTNOD = if found then
DBGANY: 343 TEXTNOD = krmicd.writeMsg(8074, 'AVAILABLE');
DBGANY: 344 TEXTNOD = else
DBGANY: 345 TEXTNOD = krmicd.writeMsg(8074, 'EXPIRED');
DBGANY: 346 TEXTNOD = end if;
DBGANY: 347 TEXTNOD = elsif cmd in (krmiDEXPIRED, krmiDELETE) then
DBGANY: 348 TEXTNOD = krmicd.writeMsg(8073);
DBGANY: 349 TEXTNOD = elsif cmd = krmiAVAIL then
DBGANY: 350 TEXTNOD = if found then
DBGANY: 351 TEXTNOD = krmicd.writeMsg(6115);
DBGANY: 352 TEXTNOD = else
DBGANY: 353 TEXTNOD = krmicd.writeMsg(6486);
DBGANY: 354 TEXTNOD = end if;
DBGANY: 355 TEXTNOD = elsif cmd = krmiUAVAIL then
DBGANY: 356 TEXTNOD = krmicd.writeMsg(6111);
DBGANY: 357 TEXTNOD = elsif cmd = krmiUNCAT then
DBGANY: 358 TEXTNOD = krmicd.writeMsg(8128);
DBGANY: 359 TEXTNOD = end if;
DBGANY: 360 TEXTNOD = krmicd.writeMsg(8517, handle, to_char(recid), to_char(stamp));
DBGANY: 361 TEXTNOD = ocount := ocount + 1;
DBGANY: 362 TEXTNOD = elsif objectType = krmiPC then
DBGANY: 363 TEXTNOD = if old_status != new_status then
DBGANY: 364 TEXTNOD = if dbnomount = 0 then
DBGANY: 365 TEXTNOD = sys.dbms_backup_restore.proxyChange(
DBGANY: 366 TEXTNOD = recid => recid,
DBGANY: 367 TEXTNOD = stamp => stamp,
DBGANY: 368 TEXTNOD = handle => handle,
DBGANY: 369 TEXTNOD = status => new_status,
DBGANY: 370 TEXTNOD = keep_options => keep_options,
DBGANY: 371 TEXTNOD = keep_until => keep_until,
DBGANY: 372 TEXTNOD = force => force);
DBGANY: 373 TEXTNOD = else
DBGANY: 374 TEXTNOD = dbms_rcvcat.changeProxyCopy(
DBGANY: 375 TEXTNOD = pc_recid => recid,
DBGANY: 376 TEXTNOD = pc_stamp => stamp,
DBGANY: 377 TEXTNOD = status => new_status,
DBGANY: 378 TEXTNOD = keep_options => keep_options,
DBGANY: 379 TEXTNOD = keep_until => keep_until_d);
DBGANY: 380 TEXTNOD = end if;
DBGANY: 381 TEXTNOD = else
DBGANY: 382 TEXTNOD = deb('change', 'file '||handle||
DBGANY: 383 TEXTNOD = ' not updated on repository, old_status:'||old_status||
DBGANY: 384 TEXTNOD = 'same as new_status:'||new_status);
DBGANY: 385 TEXTNOD = end if;
DBGANY: 386 TEXTNOD = if cmd = krmiXCHECK then
DBGANY: 387 TEXTNOD = if found then
DBGANY: 388 TEXTNOD = krmicd.writeMsg(6450, 'AVAILABLE');
DBGANY: 389 TEXTNOD = else
DBGANY: 390 TEXTNOD = krmicd.writeMsg(6450, 'EXPIRED');
DBGANY: 391 TEXTNOD = end if;
DBGANY: 392 TEXTNOD = elsif cmd in (krmiDEXPIRED, krmiDELETE) then
DBGANY: 393 TEXTNOD = krmicd.writeMsg(6449);
DBGANY: 394 TEXTNOD = elsif cmd = krmiAVAIL then
DBGANY: 395 TEXTNOD = if found then
DBGANY: 396 TEXTNOD = krmicd.writeMsg(6447);
DBGANY: 397 TEXTNOD = else
DBGANY: 398 TEXTNOD = krmicd.writeMsg(6487); |
Partager