39: ret boolean := TRUE;
40: redundancy number;
41: recovery_window number;
42: untilTime date;
43: lbRec sys.dbms_rcvman.lbrec_t;
44: lbCursor sys.dbms_rcvman.lbCursor_t;
45: lbState sys.dbms_rcvman.lbState_t;
46: begin
47: objSet:=v_lbRecSet_t();
40: redundancy number;
41: recovery_window number;
42: untilTime date;
43: lbRec sys.dbms_rcvman.lbrec_t;
44: lbCursor sys.dbms_rcvman.lbCursor_t;
45: lbState sys.dbms_rcvman.lbState_t;
46: begin
47: objSet:=v_lbRecSet_t();
48:
41: recovery_window number;
42: untilTime date;
43: lbRec sys.dbms_rcvman.lbrec_t;
44: lbCursor sys.dbms_rcvman.lbCursor_t;
45: lbState sys.dbms_rcvman.lbState_t;
46: begin
47: objSet:=v_lbRecSet_t();
48:
49: -- reset package state
46: begin
47: objSet:=v_lbRecSet_t();
48:
49: -- reset package state
50: sys.dbms_rcvman.resetAll;
51: -- Set database so that user does not need to care
52: sys.dbms_rcvman.setDatabase(NULL, NULL, NULL, NULL);
53:
54: redundancy := 1;
48:
49: -- reset package state
50: sys.dbms_rcvman.resetAll;
51: -- Set database so that user does not need to care
52: sys.dbms_rcvman.setDatabase(NULL, NULL, NULL, NULL);
53:
54: redundancy := 1;
55: recovery_window := 0;
56:
56:
57: -- We need to get the retention policy, and to set untilTime if
58: -- retention policy is recovery_window.
59: -- Get retention policy (recovery window and redunadcy).
60: sys.dbms_rcvman.getRetentionPolicy(recovery_window, redundancy);
61:
62: -- Always work with all incarnations.
63: sys.dbms_rcvman.setAllIncarnations(TRUE);
64:
59: -- Get retention policy (recovery window and redunadcy).
60: sys.dbms_rcvman.getRetentionPolicy(recovery_window, redundancy);
61:
62: -- Always work with all incarnations.
63: sys.dbms_rcvman.setAllIncarnations(TRUE);
64:
65: -- Set untilTime and untilSCN for recovery window (if any).
66: if (recovery_window > 0)
67: then
65: -- Set untilTime and untilSCN for recovery window (if any).
66: if (recovery_window > 0)
67: then
68: select (sysdate-recovery_window) into untilTime from dual;
69: sys.dbms_rcvman.setUntilTime(untilTime);
70: end if;
71:
72: sys.dbms_rcvman.setDeviceTypeAny;
73:
68: select (sysdate-recovery_window) into untilTime from dual;
69: sys.dbms_rcvman.setUntilTime(untilTime);
70: end if;
71:
72: sys.dbms_rcvman.setDeviceTypeAny;
73:
74: if (recovery_window = 0 and redundancy = 0) then
75: -- don't need obsolete data if there the policy is NONE
76: sys.dbms_rcvman.setNeedObsoleteData(false);
72: sys.dbms_rcvman.setDeviceTypeAny;
73:
74: if (recovery_window = 0 and redundancy = 0) then
75: -- don't need obsolete data if there the policy is NONE
76: sys.dbms_rcvman.setNeedObsoleteData(false);
77: else
78: if self.needobsolete = 1 then
79: sys.dbms_rcvman.setNeedObsoleteData(true);
80: else
75: -- don't need obsolete data if there the policy is NONE
76: sys.dbms_rcvman.setNeedObsoleteData(false);
77: else
78: if self.needobsolete = 1 then
79: sys.dbms_rcvman.setNeedObsoleteData(true);
80: else
81: sys.dbms_rcvman.setNeedObsoleteData(false);
82: end if;
83: end if;
77: else
78: if self.needobsolete = 1 then
79: sys.dbms_rcvman.setNeedObsoleteData(true);
80: else
81: sys.dbms_rcvman.setNeedObsoleteData(false);
82: end if;
83: end if;
84:
85: while ret and self.done = 0 loop
82: end if;
83: end if;
84:
85: while ret and self.done = 0 loop
86: ret := sys.dbms_rcvman.listBackup(lbRec, firstCall, FALSE,
87: redundancy,
88: TRUE, lbCursor, lbState, null);
89: if (lbRec.pkey is not null)
90: then