Rem drv: Rem Rem $Header: emdb/source/oracle/sysman/emdrep/sql/db/11.2.0.0/masking/dm_schema_upgrade.sql /st_emdbsa_11.2/1 2009/01/29 14:28:58 kmckeen Exp $ Rem Rem dm_schema_upgrade.sql Rem Rem Copyright (c) 2009, Oracle and/or its affiliates.All rights reserved. Rem Rem NAME Rem dm_schema_upgrade.sql - Data Masking schema definition. Rem Rem DESCRIPTION Rem This is a copy of the entries in dm_types.sql and dm_tables.sql, Rem which are both located in ../../latest/masking/. This is used Rem when the database is upgraded to 11.2. Rem Rem NOTES Rem Rem Rem MODIFIED (MM/DD/YY) Rem kmckeen 01/23/09 - Created Rem -- DROP TYPE mgmt_dm_rule_sets; -- DROP TYPE mgmt_dm_rule_entry; -- DROP TYPE mgmt_dm_array_list; CREATE OR REPLACE TYPE mgmt_dm_array_list AS TABLE OF VARCHAR2(128); / CREATE OR REPLACE TYPE mgmt_dm_rule_entry AS OBJECT ( rule_type VARCHAR2(30), rule_option VARCHAR2(2), rule_low NUMBER, rule_high NUMBER, start_date DATE, end_date DATE, fixed_string VARCHAR2(30), fixed_number NUMBER, table_schema VARCHAR2(30), table_name VARCHAR2(30), column_name VARCHAR2(30), udf_name VARCHAR2(512), arr_list mgmt_dm_array_list); / CREATE OR REPLACE TYPE mgmt_dm_rule_sets AS TABLE OF mgmt_dm_rule_entry; / -- -- ER diagram for 10.2.0.5 GC and 11GC -- -- MGMT_DM_SCOPESPECS(SS_GUID) <---* MGMT_DM_SS_COLUMNS -- MGMT_DM_SS_COLUMNS(SS_GUID,SCHEMA,TABLE,COLUMN)) <---* MGMT_DM_COLUMN_RULES *---> MGMT_DM_RULETEMPLATES(RULE_GUID) -- MGMT_DM_RULETEMPLATES(RULE_GUID) <---* MGMT_DM_RULEENTRY(RULE_GUID) -- MGMT_DM_SS_COLUMNS <---* MGMT_DM_INFCONS_COLUMNS -- MGMT_DM_RULEENTRY <---* MGMT_DM_ALITEMS -- MGMT_DM_SCOPESPECS(SS_GUID) <---* MGMT_DM_JOB_EXECUTIONS -- /************************************* drop sequence dm_maptbl_seq; drop sequence dm_rule_name_seq; drop sequence dm_column_group_seq; drop table MGMT_DM_COLUMN_RULES; drop table MGMT_DM_INFCONS_COLUMNS; drop table MGMT_DM_SS_COLUMNS; drop table MGMT_DM_ALITEMS; drop table MGMT_DM_RULEENTRY; drop table MGMT_DM_RULETEMPLATES; drop table MGMT_DM_JOB_EXECUTIONS; drop table MGMT_DM_SCOPESPECS; **************************************/ CREATE TABLE MGMT_DM_SCOPESPECS ( SS_GUID RAW(16) DEFAULT SYS_GUID(), SS_OWNER VARCHAR2(30) NOT NULL, SS_NAME VARCHAR2(40) NOT NULL, SOURCE_ID RAW(16) NOT NULL, -- Target GUID of database SOURCE_NAME VARCHAR2(256) NOT NULL, -- Name of database DESCRIPTION VARCHAR2(2000), -- description of DM scope MODIFY_DATE DATE DEFAULT SYSDATE, -- mask defn last modified date SCRIPT_DATE DATE DEFAULT SYSDATE, -- script generation date DISABLE_LOGS VARCHAR2(1) DEFAULT 'Y' NOT NULL, -- disable logging during masking ('Y' or 'N') REFRESH_STATS VARCHAR2(1) DEFAULT 'Y' NOT NULL, -- refresh stats after masing ('Y' or 'N') DROP_TEMP_TABLES VARCHAR2(1) DEFAULT 'Y' NOT NULL, -- drop temp tables ('Y' or 'N') PARALLEL_DEGREE VARCHAR2(10), -- parallel execution (DEFAULT, -1=>disabled, nn) DM_FLAGS NUMBER DEFAULT 0, -- reserved for future use POST_MASK_SCRIPT CLOB, FULL_SCRIPT CLOB, CONSTRAINT MGMT_DM_SCOPESPECS_PK PRIMARY KEY (SS_GUID), CONSTRAINT MGMT_DM_SCOPESPECS_UC UNIQUE (SS_OWNER,SS_NAME) ) MONITORING LOB (POST_MASK_SCRIPT) STORE AS ( DISABLE STORAGE IN ROW CHUNK 8192 ) LOB (FULL_SCRIPT) STORE AS ( DISABLE STORAGE IN ROW CHUNK 8192 ); CREATE TABLE MGMT_DM_RULETEMPLATES ( RULE_GUID RAW(16) DEFAULT SYS_GUID(), RULE_OWNER VARCHAR2(30) NOT NULL, RULE_NAME VARCHAR2(40) NOT NULL, DESCRIPTION VARCHAR2(2000), -- description of DM rule template OUTPUT_TYPE NUMBER DEFAULT 0 NOT NULL, -- column data type of masked col IS_LIBRARY NUMBER DEFAULT 0 NOT NULL, -- if the rule is a library template RULE_ORDER NUMBER, -- Support conditional masking RULE_CONDITION VARCHAR2(2000), -- Support conditional masking CONSTRAINT MGMT_DM_RULETEMPLATES_PK PRIMARY KEY (RULE_GUID), CONSTRAINT MGMT_DM_RULETEMPLATES_UC UNIQUE (RULE_OWNER, RULE_NAME) ) MONITORING; -- In 11g the rules are seperately stored hence two parent tables for FK. CREATE TABLE MGMT_DM_RULEENTRY ( RULE_GUID RAW(16) NOT NULL, ENTRY_ORDER NUMBER NOT NULL, RULE_TYPE VARCHAR2(30), RULE_OPTION VARCHAR2(2), RULE_LOW NUMBER, RULE_HIGH NUMBER, START_DATE DATE, END_DATE DATE, FIXED_STRING VARCHAR2(30), FIXED_NUMBER NUMBER, TABLE_SCHEMA VARCHAR2(30), TABLE_NAME VARCHAR2(30), COLUMN_NAME VARCHAR2(30), UDF_NAME VARCHAR2(512), -- user defined func name CONSTRAINT MGMT_DM_RULEENTRY_PK PRIMARY KEY (RULE_GUID, ENTRY_ORDER), CONSTRAINT MGMT_DM_RULEENTRY_FK FOREIGN KEY (RULE_GUID) REFERENCES MGMT_DM_RULETEMPLATES (RULE_GUID) ON DELETE CASCADE ) MONITORING; CREATE TABLE MGMT_DM_SS_COLUMNS ( SS_GUID RAW(16) NOT NULL, RULE_GUID RAW(16), -- Deprecated in 11g. Use MGMT_DM_COLUMN_RULES.RULE_GUID TABLE_SCHEMA VARCHAR2(30) NOT NULL, TABLE_NAME VARCHAR2(128) NOT NULL, -- Do we handle long name??? COLUMN_NAME VARCHAR2(128) NOT NULL, COLUMN_GROUP VARCHAR2(30), CONSTRAINT MGMT_DM_SS_COLUMNS_FK1 FOREIGN KEY (SS_GUID) REFERENCES MGMT_DM_SCOPESPECS (SS_GUID) ON DELETE CASCADE, CONSTRAINT MGMT_DM_SS_COLUMNS_UC UNIQUE (SS_GUID, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME) ) MONITORING; -- This table is for rules that used for columns, not library CREATE TABLE MGMT_DM_COLUMN_RULES ( SS_GUID RAW(16) NOT NULL, TABLE_SCHEMA VARCHAR2(30) NOT NULL, TABLE_NAME VARCHAR2(128) NOT NULL, -- Do we handle long name??? COLUMN_NAME VARCHAR2(128) NOT NULL, RULE_GUID RAW(16) NOT NULL, CONSTRAINT MGMT_DM_COLUMN_RULES_FK FOREIGN KEY (SS_GUID,TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME) REFERENCES MGMT_DM_SS_COLUMNS (SS_GUID,TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME) ON DELETE CASCADE, CONSTRAINT MGMT_DM_COLUMN_RULES_FK2 FOREIGN KEY (RULE_GUID) REFERENCES MGMT_DM_RULETEMPLATES (RULE_GUID) ON DELETE CASCADE ) MONITORING; CREATE INDEX MGMT_DM_COLUMN_RULES_IX1 on MGMT_DM_COLUMN_RULES(SS_GUID); CREATE INDEX MGMT_DM_COLUMN_RULES_IX2 on MGMT_DM_COLUMN_RULES(RULE_GUID); CREATE TABLE MGMT_DM_INFCONS_COLUMNS ( SS_GUID RAW(16) NOT NULL, TABLE_SCHEMA VARCHAR2(30) NOT NULL, TABLE_NAME VARCHAR2(128) NOT NULL, COLUMN_NAME VARCHAR2(128) NOT NULL, PARENT_SCHEMA VARCHAR2(30) NOT NULL, PARENT_TABLE VARCHAR2(128) NOT NULL, PARENT_COLUMN VARCHAR2(128) NOT NULL, CONSTRAINT MGMT_DM_INFCONS_COLUMNS_FK1 FOREIGN KEY (SS_GUID,PARENT_SCHEMA,PARENT_TABLE,PARENT_COLUMN) REFERENCES MGMT_DM_SS_COLUMNS (SS_GUID,TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME) ON DELETE CASCADE, CONSTRAINT MGMT_DM_INFCONS_COLUMNS_UC UNIQUE (SS_GUID,TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME) ) MONITORING; CREATE TABLE MGMT_DM_ALITEMS ( RULE_GUID RAW(16) NOT NULL, ENTRY_ORDER NUMBER NOT NULL, ARRAYLIST_ITEM VARCHAR2(128), -- do we store array list item order? CONSTRAINT MGMT_DM_ALITEMS_PK PRIMARY KEY (RULE_GUID, ENTRY_ORDER, ARRAYLIST_ITEM), CONSTRAINT MGMT_DM_ALITEMS_FK FOREIGN KEY (RULE_GUID, ENTRY_ORDER) REFERENCES MGMT_DM_RULEENTRY (RULE_GUID, ENTRY_ORDER) ON DELETE CASCADE ) MONITORING; CREATE TABLE MGMT_DM_JOB_EXECUTIONS ( SS_GUID RAW(16), EXECUTION_ID RAW(16), SUBMISSION_TS DATE DEFAULT SYSDATE, CONSTRAINT MGMT_DM_JOB_EXEC_PK PRIMARY KEY (SS_GUID,EXECUTION_ID), CONSTRAINT MGMT_DM_JOB_EXEC_FK1 FOREIGN KEY (SS_GUID) REFERENCES MGMT_DM_SCOPESPECS (SS_GUID) ON DELETE CASCADE ) MONITORING; CREATE SEQUENCE dm_maptbl_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE; CREATE SEQUENCE dm_rule_name_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE; CREATE SEQUENCE dm_column_group_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;