ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
dbms_swat_mm_internal.dml_occurred(
load_rows IN NUMBER,
insert_rows IN NUMBER,
delete_rows IN NUMBER,
update_rows IN NUMBER,
partition_truncates IN NUMBER,
partition_creates IN NUMBER,
partition_drops IN NUMBER,
partition_moves IN NUMBER,
partition_splits IN NUMBER,
partition_merges IN NUMBER,
partition_coalesces IN NUMBER,
partition_exchanges IN NUMBER)
RETURN NUMBER;
SELECT dbms_swat_mm_internal.dml_occurred(12, 11, 10,9,8,7,6,5,4,3,2,1)
FROM dual;
Drops a materialized view ... and ... unfortunately ... drops ANY materialized view ... not just an Auto MV.
We understand that this is an internal package and not supposed to be [mis]used as we have just done but Oracle Corp. should harder to sanitize inputs: Something that clearly didn't happen here.
dbms_swat_mm_internal.drop_auto_mview(
mv_owner IN VARCHAR2,
mv_name IN VARCHAR2);
SELECT owner, mview_name, auto
FROM dba_mviews;
OWNER MVIEW_NAME AUT
------------------------- -------------------- ---
C##UWCLASS MV_SIMPLE NO
C##UWCLASS MV_DEMAND NO
dbms_swat_mm_internal.get_act_change_data(
in_mv_owner IN VARCHAR2,
in_mv_name IN VARCHAR2,
last_refresh_date IN DATE,
in_current_date IN DATE,
act_change_data OUT sys.dbms_swat_mm_internal.change_data_rec,
num_tables OUT NUMBER);
dbms_swat_mm_internal.get_canon_date_info(
curds IN DATE,
curde IN DATE,
snapshot_interval IN NUMBER,
real_snap_id IN NUMBER,
same_canon_snapshot_flag OUT BOOLEAN,
first_snapid OUT NUMBER,
first_snap_startdate OUT DATE,
first_snap_enddate OUT DATE,
first_fraction OUT NUMBER,
last_snapid OUT NUMBER,
last_snap_startdate OUT DATE,
last_snap_enddate OUT DATE,
last_fraction OUT NUMBER,
trace_flag IN BOOLEAN);
dbms_swat_mm_internal.get_mos_run_params(
in_current_date IN DATE,
current_dow OUT NUMBER,
current_snap OUT NUMBER,
starting_dow OUT NUMBER,
starting_snap OUT NUMBER,
ending_dow OUT NUMBER,
ending_snap OUT NUMBER,
prediction_window OUT NUMBER
mos_prob_method OUT VARCHAR2
mos_pred_window OUT NUMBER
tot_gen_days OUT NUMBER);
DECLARE
a NUMBER;
b NUMBER;
c NUMBER;
d NUMBER;
e NUMBER;
f NUMBER;
g NUMBER;
h dbms_id;
i NUMBER;
j NUMBER;
BEGIN
dbms_swat_mm_internal.get_mos_run_params(SYSDATE, a, b, c, d, e, f, g, h, i, j);
dbms_output.put_line(a);
dbms_output.put_line(b);
dbms_output.put_line(c);
dbms_output.put_line(d);
dbms_output.put_line(e);
dbms_output.put_line(f);
dbms_output.put_line(g);
dbms_output.put_line(h);
dbms_output.put_line(i);
dbms_output.put_line(j);
END;
/ 4
14
4
14
4
62
48
WEIGHTED
12
11
dbms_swat_mm_internal.get_num_days(
in_mv_owner IN VARCHAR2,
in_mv_name IN VARCHAR2,
in_current_date IN DATE,
min_canon_snap_id OUT NUMBER,
num_gen_days OUT NUMBER,
tot_dow_days OUT NUMBER,
num_dow_days OUT NUMBER);
DECLARE
a NUMBER;
b NUMBER;
c NUMBER;
d NUMBER;
BEGIN
dbms_swat_mm_internal.get_num_days('C##UWCLASS','MV_SIMPLE', SYSDATE, a, b, c, d);
dbms_output.put_line('MCSI: ' || TO_CHAR(a));
dbms_output.put_line('NGD: ' || TO_CHAR(b));
dbms_output.put_line('TDD: ' || TO_CHAR(c));
dbms_output.put_line('NDD: ' || TO_CHAR(d));
END;
/ MCSI:
NGD: 0
TDD: 1
NDD: 0
Returns TRUE if a materialized view is fast refreshable, else FALSE
dbms_swat_mm_internal.mview_fast_refreshable(qualified_mv_name IN VARCHAR2)
RETURN BOOLEAN;
BEGIN
IF dbms_swat_mm_internal.mview_fast_refreshable('LIBRARY') THEN
dbms_output.put_line('Fast Refreshable');
ELSE
dbms_output.put_line('Not Fast Refreshable');
END IF;
END;
/ Fast Refreshable
dbms_swat_mm_internal.next_quiet_window(
tabledmarray IN sys.dbms_swat_mm_internal.outputarray,
startsnapid IN NUMBER,
duration OUT NUMBER)
RETURN NUMBER;
dbms_swat_mm_internal.record_refresh_status(
in_swat_mm_start_time IN DATE,
in_refresh_id IN NUMBER,
in_mv_owner IN VARCHAR2,
in_mv_name IN VARCHAR2,
in_status IN NUMBER,
in_error IN NUMBER);