MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/admin/dsec.bsq

REM
REM $Header: rdbms/admin/dsec.bsq /main/170 2017/11/06 17:35:58 amunnoli Exp $
REM
REM dsec.sql
REM
REM Copyright (c) 1999, 2017, Oracle and/or its affiliates. 
REM All rights reserved.
REM
REM   NAME
REM     dsec.sql - Security-related data dictionary components.
REM
REM   DESCRIPTION
REM     Security-related data dictionary components (invoked by sql.bsq).
REM
REM   NOTES
REM
REM   MODIFIED  (MM/DD/YY)
REM   amunnoli  10/25/17 - Bug 26965236: Mark tables having sensitive columns
REM   anbhasu   04/12/17 - Bug 23012504: REMOVE EXEMPT DML/DDL REDACTION POLICY
REM   pyam      04/11/17 - Bug 25879441: make default_pwd$ data link
REM   snetrava  03/13/17 - 25266580: Text Datastore Access System Privilege
REM   rthatte   02/11/17 - Bug 25531793: lock user AUDSYS
REM   rthatte   01/18/17 - Bug 25406176: create AUDSYS with no authentication
REM   mdombros  01/03/17 - Project 70791 MD Caching new SYS privileges
REM   hosu      10/20/16 - Bug 24598595: mark hist_head$,histgrm$ sensitive
REM   sursridh  07/07/16 - Bug 23733162: Mark pdb_create$,sync$ cols sensitive
REM   rthammai  03/16/16 - Bug 22682473: grant minimum privileges on map_object
REM   pknaggs   01/26/16 - Bug #22153841: pname 128 in Data Redaction
REM   skayoor   01/21/16 - Bug 21814782: Remove WITH GRANT OPTION
REM   beiyu     12/23/15 - rti 18786806: rename hierarchy cube -> analytic view
REM   rajeekku  12/08/15 - Lrg 18778963: Restore changes to address 
REM                        incorrect merge conflict resolution
REM   rpang     12/01/15 - Bug 22294806: remove DEBUG CONNECT USER sys priv and
REM                        add DEBUG CONNECT to USER_PRIVILEGE_MAP
REM   rpang     11/30/15 - Bug 22275536: add DEBUG CONNECT stmt audit option
REM   rajeekku  10/30/15 - Lrg 18706934: Avoid audit# reuse
REM   mstasiew  10/19/15 - Bug 21984764: hcs object rename
REM   hmohanku  09/15/15 - bug 21787568: add AOPIRAD, AOPIWAD, AOPIEAD
REM   amunnoli  08/10/15 - Bug 13716158:Add current_user to aud$ and fga_log$
Rem   rajeeekku 08/06/15 - Proj 57189: Inherit Remote Privileges changes
REM   ghicks    06/19/15 - bugs 20481832, 20481863: HIER and HIER CUBE in
REM                        SYSTEM_PRIVILEGE_MAP and STMT_AUDIT_OPTION_MAP
Rem   beiyu     04/21/15 - Bug 20549214: remove SELECT ANY HIER DIM privilege
REM   ratakuma  04/07/15 - Bug 20756607:account for remoteowner in non-bootstrap
REM                        dictionary tables 
REM   amunnoli  03/20/15 - Bug 20598374:Update type col comment in aud_policy$
REM   hmohanku  03/19/15 - bug 20280545: increase size of job name in
REM                        dam_cleanup_jobs$
REM   pknaggs   03/10/15 - Bug #20511776: long identifier in Data Redaction
REM   msoudaga  01/17/15 - Bug 16028065: Remove role DELETE_CATALOG_ROLE
REM   nkgopal   01/12/15 - Bug 17900999: Increase size of auth$privileges in
REM                        AUD$
REM   beiyu     01/09/15 - Proj 47091: support auditing for new HCS objects
REM   rpang     12/17/14 - Project 47124 - enable debug connect user and any
REM   skayoor   11/30/14 - Proj 58196: Change Select priv to Read Priv
REM   pknaggs   11/21/14 - Lrg #14165401: radm_pe$.pe_version/compat NOT NULL.
REM   pknaggs   11/13/14 - Lrg #14081672: shorten PE_NAME for ORA-01450
REM   sankejai  09/12/14 - Create pdb_dba role
REM   prshanth  08/20/14 - Proj 47234: Lockdown profile - adding DDLs
REM   pknaggs   07/10/14 - Project #46864: add radm_pe$ for multiple policies.
REM   sanbhara  06/13/14 - Project 46816 - adding support for SYSRAC.
REM   nkgopal   04/15/14 - Proj# 35931: Add rls$info to aud$ and fga_log$
REM   skayoor   02/21/14 - Bug 18180897: Grant privilege to SYSTEM user
REM   skayoor   01/29/14 - Bug 18019880: Remove admin option
REM   jmuller   08/05/13 - Fix bug 17250794: rework of USE privilege on default
REM                        edition 
REM   sragarwa  10/10/13 - Bug 17303407: Do not grant delete privilege on aud$
REM                        and fga_log$ tables to DELETE_CATALOG_ROLE
REM   jibyun    10/03/13 - Bug 17554941: Lock and expire passwords when creating 
REM                        SYSBACKUP, SYSDG, and SYSKM
REM   amunnoli  09/15/13 - Bug 17459511: Mark pwd_verifier columns as sensitive
REM   nkgopal   07/16/13 - Bug 14168362:Add dbid, pdb guid to dam_last_arch_ts$
REM   mjungerm  05/20/13 - bug 16776681: Add CREATE JAVA privs
REM   minx      04/09/13 - bug 16369584: Add comment for new pv_type value (-1)
REM   pxwong    03/03/13 - re-enable project 25225
REM   minwei    03/01/13 - bug 13105099:Add acl_mview_obj# to i_aclmv$_1
REM   amunnoli  02/18/13 - Bug #16310544: Add PLUGGABLE DATABASE
REM                        to STMT_AUDIT_OPTION_MAP
REM   amunnoli  01/16/13 - Bug 16066652: add job_flags column for
REM                        dam_cleanup_jobs$
REM   skayoor   11/21/12 - Bug 15902408: sharing=object for map tables.
REM   akruglik  10/23/12 - (14759626) get rid of DROP PDB privilege
REM   akruglik  09/20/12 - replace CLONE PLUGGABLE DATABASE privilege with 
REM                        DROP PLUGGABLE DATABASE
REM   dgraj     08/30/12 - Bug #14355614: Mark sensitive dictionary columns.
REM   sanbhara  08/29/12 - Bug 14536759 - adding comment for DV flag in 
REM                        aud_policy$.
REM   nkgopal   08/27/12 - Bug #14362936: Grant AUDSYS with seeded privileges
REM   pstengar  08/15/12 - Bug 14498267: change SELECT MINING MODEL to 299
REM                        in STMT_AUDIT_OPTION_MAP
REM   cslink    07/31/12 - Bug #14285251: Add NCLOB column to radm_fptm_lob$
REM   sanbhara  07/17/12 - Bug #13785394: Add comp_info to sys.aud_object_opt$.
REM   ssonawan  07/12/12 - bug 13843068: make user_history$.password column
REM                        to varchar2(4000)
REM   byu       05/09/12 - Bug 13242046: add SELECT and ALTER system privilege
REM                        for measure folder and build process
REM   cslink    05/31/12 - Bug #14151458: Add new table radm_fptm_lob$
REM   cslink    05/29/12 - Bug #14133343: Add radm_td$ and radm_cd$ tables.
REM   skayoor   04/06/12 - Bug 13077185: WITH GRANT OPTION for ON USER
REM   pknaggs   04/05/12 - Bug #13932111: Add EXEMPT DML/DDL REDACTION POLICY.
REM   skayoor   03/25/12 - Bug 13850182 - Insert record for PUBLIC
REM   pxwong    03/19/12 - temporarily disable project 25225 and 25227
REM   sanbhara  02/17/12 - Bug 13643954 - adding more types to aud_object_opt$.
REM   ssonawan  01/13/12 - Bug 11883154: Remove handler column from aud_policy$
REM   cslink    01/25/12 - Bug #12885283: remove columns from radm_mc$
REM   nkgopal   06/01/12 - Bug 13561170: Move Audit Mgmt table creation
REM   nijacob   01/06/12 - Bug#13485488: Add REDEFINE ANY TABLE privilege
REM   nkgopal   01/06/12 - Bug 13561170: Move Audit Mgmt table creation
REM   dgraj     10/10/11 - Project 32079: Add tsdp_sensitive_data$
REM   nalamand  10/10/11 - Bug-13001661: Make Default Auditing a 
REM                        per-container feature
REM   ssonawan  09/12/11 - bug 12844480:remove flags column from audit$
REM   nkgopal   08/21/11 - Bug 12794380: AUDITOR to AUDIT_VIEWER
REM   evoss     08/21/11 - Proj 25225: add use any job resource sys priv
REM   rpang     08/06/11 - 12843424: add translate any sql privilege
REM   rpang     07/21/11 - Proj 32719: grant inherit any privileges to sys
REM   svivian   07/19/11 - Porj 33052: Add LOGMINING privilege
REM   aramappa  07/18/11 - Project 31942: New OLS policy type - update
REM                        comments for rls$.stmt_type
REM   ssonawan  07/04/11 - proj 16531: add role auditng support
REM   bhristov  06/28/11 - Update PDB Privileges
REM   skayoor   06/27/11 - Project 32719 - Add INHERIT PRIVILEGES
REM   dahlim    06/27/11 - Proj 32006: RADM, change radm_mc$ for performance.
REM   dahlim    06/20/11 - Proj 32006: RADM add EXEMPT REDACTION POLICY
REM   nalamand  03/11/11 - Proj-32480: Accommodate Common Audit Configuration.
REM                        Make STMT_AUDIT_OPTION_MAP object-linked.
REM   jheng     03/14/11 - Proj 32973: Add new role PROF_ADMIN
REM   weihwang  06/01/11 - prj# 23920: add codeauth$
REM   jibyun    05/18/11 - Project 5687: Add PURGE DBA_RECYCLEBIN system
REM                        privilege
REM   yxie      05/19/11 - Add EM Express Connect privilege
REM   dahlim    05/03/11 - Project 32006: RADM, create radm_fptm$ table
REM   hohung    05/01/11 - Add KEEP DATE TIME, KEEP SYSGUID system privileges
REM   nalamand  04/27/11 - Bug-8356107: Add product column to default_pwd$. 
REM                        Also populate default_pwd$ only in catdef.sql
REM   bhristov  04/10/11 - DBConsolidation: Add new pdb privileges
REM   rpang     04/02/11 - Add SQL translation profile audit options
REM   aamirish  03/26/11 - Project 35490: Create RLS_CSA$ to store attribute
REM                        associations of VPD policies
REM   traney    03/21/11 - 35209: long identifiers dictionary upgrade
REM   rmir      02/16/11 - Proj 32008, add ADMINISTER KEY MANAGEMENT system 
REM                        privilege & audit option
REM   jibyun    03/14/11 - Project 5687: Add new administrative privileges
REM                        and users: SYSBACKUP, SYSDG, and SYSKM
REM   amunnoli  02/24/11 - Proj 26873:Create new user 'AUDSYS' and insert
REM                        an entry into default_pwd$. Also create two new
REM                        roles AUDIT_ADMIN and AUDITOR
REM   ssonawan  01/14/11 - proj 16531: new dictinary tables for audit policy
REM   rpang     12/28/10 - Add SQL translation profile privileges
REM   nalamand  12/26/10 - Bug-10396290: Add missing default password from 
REM                        phase forward acquisition
REM   mjungerm  11/08/10 - OJVMSYS changes
REM   nalamand  07/26/10 - Bug-8720888: Add missing default passwords
REM   nalamand  06/03/10 - Bug-9765326, 9747794: Add missing default passwords
REM   apsrivas  07/01/10 - Bug 9148218, add def pwds for APR_USER and ARGUSUSER
REM   msakayed  10/12/09 - Bug #5842629: auditing for direct path loading
REM   rkgautam  07/15/09 - Bug 8675976, adding another def pwds for ORACLE_OCM
REM   rkgautam  06/22/09 - Bug 8617056, adding another def pwds for EXFSYS
REM   rkgautam  06/06/09 - Bug 8569337,adding def pwds for EUL4_US, EUL5_US
REM   rkgautam  01/04/09 - Bug 8399691,adding default pwds for AIA, JMSUSER
Rem   rkgautam  03/26/09 - Bug 8339992,8356126,8351767 more default accounts
REM   sarchak   03/02/09 - Bug 7829203,default_pwd$ should not be recreated
REM   apsrivas  11/04/08 - Bug 6755639: Update comment for dbid 
REM   ssonawan  09/29/08 - Bug 7295457: Add missing audit options in 
REM                        stmt_audit_option_map
REM   nkgopal   09/17/08 - Bug 6856975: Add ALL STATEMENTS to 
REM                        STMT_AUDIT_OPTION_MAP
REM   srtata    06/17/08 - Add attr_defaul_value in xs$session_appns
REM   ssonawan  03/27/07 - bug 5921164: add column powner to fga$ 
REM   mjgreave  05/12/08 - Add OUTLINE to STMT_AUDIT_OPTION_MAP. #6845085
REM   nkgopal   03/06/08 - Bug 6810355: Add back plhol column to fga_log$ 
REM                        since it breaks Logical Standby code
REM   srtata    01/16/08 - Remove xs$session_hws
REM   nkgopal   01/11/08 - drop PLHOL column from FGA_LOG$
REM   rbhatti   01/08/08 - added effective date columns in xs$session_roles
REM   srtata    22/05/07 - proxyid change in xs$sessions
REM   snadhika  10/15/07 - added unique index on sessions table
REM   achoi     06/11/07 - PUBLIC is non-versionable
REM   srtata    05/09/07 - add modtime to xs$session_appns
REM   sfeinste  04/09/07 - rename build process to cube build process
REM   wechen    03/18/07 - rename primary dimension to cube dimension,
REM                        rename interaction to build process
REM   hosu      02/20/07 - support administer sql management object
REM                        privilege
REM   jnarasin  01/23/07 - Change authtimeout to sessize
REM   mhho      12/19/06 - made change to xs$sessions to fix bug 5567978 
REM   wechen    12/14/06 - change xs$sessions userid column to NUMBER
REM   liaguo    11/16/06 - flashback archive privilege
REM   wechen    11/15/06 - Add "update any primary dimension"
REM   jaeblee   08/10/06 - set spare1 field for PUBLIC in user$
REM   gviswana  06/22/06 - Add edition name to aud$, fga_log$
REM   wechen    06/21/06 - Add OLAP API system privileges
REM   ciyer     05/22/06 - grant use on edition ora$base to public
REM   rdecker   03/15/06 - Add .NET assemblies
REM   jnarasin  03/13/06 - Change size of cookie column in lwts table
REM   suelee    02/16/06 - bug 4956995 - moved objauth$ et al to dcore.bsq
REM   jnarasin  02/14/06 - Add Application Namespace tables for LWT Session
REM   jnarasin  01/31/06 - Add LWT Session tables
REM   jklein    08/01/05 - creation
REM
REM Note that there is a dependency between this file and obj_dict_sql.bsq due
REM to the aud$ table use of a CLOB column.
REM

REM
REM codeauth$ is used to store the roles attached to program units. 
REM The attached roles will be enabled during the execution.
REM

create table codeauth$
( obj# number not null,                                     /* object number */
  privilege# number not null                 /* roles attached to the object */
)
/
create unique index i_codeauth1 on codeauth$(obj#, privilege#)
/


create sequence object_grant                 /* object grant sequence number */
  start with 1
  increment by 1
  minvalue 1
  nomaxvalue
  cache 20
  order
  nocycle
/
create sequence system_grant                 /* system grant sequence number */
  start with 1
  increment by 1
  minvalue 1
  nomaxvalue
  cache 20
  order
  nocycle
/
create sequence user_grant                 /* user grant sequence number */
  start with 1
  increment by 1
  minvalue 1
  nomaxvalue
  cache 20
  order
  nocycle
/
create user sys identified by "D_SYSPW" 
/
grant inherit any privileges to sys
/
create role public enable editions for synonym
/
insert into user_editioning$ values (1, 5)
/
insert into user_editioning$ values (1, 10)
/
commit
/
grant select on dual to public with grant option
/
insert into userauth$ values (1,1,1,0,0,NULL,0)
/
create role connect
/
grant create session to connect
/
create role resource
/
grant create table,create cluster,create sequence,create trigger,
 create procedure, create type, create indextype, create operator
 to resource
/
create role dba
/
grant all privileges, select any dictionary, analyze any dictionary
  to dba
/
create role pdb_dba
/
create role AUDIT_ADMIN
/
create role AUDIT_VIEWER
/
create user AUDSYS no authentication account lock
/ 
revoke inherit privileges on user AUDSYS from PUBLIC
/
alter user AUDSYS quota unlimited on SYSAUX
/
grant create table to AUDSYS
/
create user system identified by "D_SYSTPW" 
/
grant dba to system
/
revoke inherit privileges on user system from public
/
grant enqueue any queue to system with admin option
/
grant dequeue any queue to system with admin option
/
grant manage any queue to system with admin option
/
create role select_catalog_role
/
create role execute_catalog_role
/
grant select_catalog_role to dba
/
grant execute_catalog_role to dba
/
create role CAPTURE_ADMIN
/
GRANT CAPTURE_ADMIN TO DBA
/
create user sysbackup identified by "D_SYSBKPW" account lock password expire
/
revoke inherit privileges on user sysbackup from public
/
create user sysdg identified by "D_SYSDGPW" account lock password expire
/
revoke inherit privileges on user sysdg from public
/
create user syskm identified by "D_SYSKMPW" account lock password expire
/
revoke inherit privileges on user syskm from public
/
create user sysrac identified by "D_SYSRACPW" account lock password expire
/
revoke inherit privileges on user sysrac from public
/
create table "_default_auditing_options_"   /* default auditing option table */
sharing = none ( a             varchar2(1))               /* auditing option */
/
create sequence audses$                               /* auditing session id */
  start with 1
  increment by 1
  minvalue 1
  maxvalue 2E9                                     /* maxvalue fits in a ub4 */
  cycle
  cache 10000
  noorder
/
create table audit$                                 /* auditing option table */
( user#         number not null,                   /* user identifier number */
  proxy#        number, /* UID of the proxy user.
                        ** Special values:
                        ** NULL = no proxy authentication
                        ** 0 = all proxies may authenticate the user
                        */
  option#       number not null,                   /* auditing option number */
  success       number,                                 /* audit on success? */
  failure       number)                                 /* audit on failure? */
                        /* for success and failure columns, 
                        ** null = no audit, 1 = audit by session, 
                        ** 2 = audit by access 
                        */
/
create unique index i_audit on audit$(user#, proxy#, option#)
                       /* this index is more for uniqueness than performance */
/
create table aud_policy$ (
  policy#         number not null,
  type            number not null, /*     0 - Invalid
                                    *  0x01 - System Privilgege options
                                    *  0x02 - System Action options
                                    *  0x04 - Object Action options
                                    *  0x08 - Local Audit Policy in case of 
                                    *         Consolidated Database
                                    *  0x10 - Common Audit Policy in case of 
                                    *         Consolidated Database
                                    *  0x20 - Role Privilege options 
                                    *  0x40 - DV Object Audit options 
                                    *  0x80 - Federation Common Audit Policy
                                    */
  syspriv         varchar2(2000),
  sysactn         varchar2(2000),
  condition       varchar2("M_VCSZ"),
  condition_eval  number)
/
create table aud_object_opt$ (
  object#         number not null,
  policy#         number not null,
  action#         varchar2(100),
  type            number not null,  /*   1 - Role audit options
                                     *   2 - Schema object audit options
                                     *   3 - DV Realm option
                                     *   4 - DV Rule set option
                                     *   5 - DV Factor option
                                     */
  comp_info       varchar2("M_IDEN_128"))
                                    /* For DV objects, this column will
                                     * be used to store the names of
                                     * realms, rule sets or factors.
                                     */
/
create table audit_ng$ (
  user#           number, /* -1    - ALL
                           *  0    - SYS
                           *  1    - PUBLIC(SYSOPER)
                           */
  policy#         number,
  when            number, /* 1 - Success, 2 - Failure, 3 - Both */
  how             number) /* 1 - By, 2 - Except */
/
create table aud_context$ (
  namespace      varchar2("M_IDEN")  NOT NULL,
  attribute      varchar2("M_IDEN")  NOT NULL,
  user#          number)
/
create unique index i_aud_context on aud_context$(namespace, attribute, user#)
                       /* this index is more for uniqueness than performance */
/
rem
rem  FAMILY "PRIVILEGE MAP"
rem  Tables for mapping privilege numbers to privilege names.
rem
rem  SYSTEM_PRIVILEGE_MAP maps a system privilege  number
rem  to the name.
rem
create table SYSTEM_PRIVILEGE_MAP sharing=object (
        PRIVILEGE     number not null,
        NAME          varchar2(40) not null,
        PROPERTY      number not null /* 0x01 = do not export this privilege */
                                      /* using sql statements */
        )
/
comment on table SYSTEM_PRIVILEGE_MAP is
'Description table for privilege type codes.  Maps privilege  type numbers to type names'
/
comment on column SYSTEM_PRIVILEGE_MAP.PRIVILEGE is
'Numeric privilege type code'
/
comment on column SYSTEM_PRIVILEGE_MAP.NAME is
'Name of the type of privilege'
/
comment on column SYSTEM_PRIVILEGE_MAP.PROPERTY is
'Property flag of privilege like not export this privilege, etc'
/
insert into SYSTEM_PRIVILEGE_MAP values (-3, 'ALTER SYSTEM', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-4, 'AUDIT SYSTEM', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-5, 'CREATE SESSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-6, 'ALTER SESSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-7, 'RESTRICTED SESSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-10, 'CREATE TABLESPACE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-11, 'ALTER TABLESPACE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-12, 'MANAGE TABLESPACE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-13, 'DROP TABLESPACE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-15, 'UNLIMITED TABLESPACE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-20, 'CREATE USER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-21, 'BECOME USER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-22, 'ALTER USER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-23, 'DROP USER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-30, 'CREATE ROLLBACK SEGMENT', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-31, 'ALTER ROLLBACK SEGMENT', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-32, 'DROP ROLLBACK SEGMENT', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-40, 'CREATE TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-41, 'CREATE ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-42, 'ALTER ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-43, 'BACKUP ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-44, 'DROP ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-45, 'LOCK ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-46, 'COMMENT ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-47, 'SELECT ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-48, 'INSERT ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-49, 'UPDATE ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-50, 'DELETE ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-56, 'REDEFINE ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-60, 'CREATE CLUSTER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-61, 'CREATE ANY CLUSTER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-62, 'ALTER ANY CLUSTER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-63, 'DROP ANY CLUSTER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-71, 'CREATE ANY INDEX', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-72, 'ALTER ANY INDEX', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-73, 'DROP ANY INDEX', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-80, 'CREATE SYNONYM', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-81, 'CREATE ANY SYNONYM', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-82, 'DROP ANY SYNONYM', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-83, 'SYSDBA', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-84, 'SYSOPER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-85, 'CREATE PUBLIC SYNONYM', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-86, 'DROP PUBLIC SYNONYM', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-90, 'CREATE VIEW', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-91, 'CREATE ANY VIEW', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-92, 'DROP ANY VIEW', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-105, 'CREATE SEQUENCE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-106, 'CREATE ANY SEQUENCE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-107, 'ALTER ANY SEQUENCE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-108, 'DROP ANY SEQUENCE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-109, 'SELECT ANY SEQUENCE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-115, 'CREATE DATABASE LINK', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-120, 'CREATE PUBLIC DATABASE LINK', 
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-121, 'DROP PUBLIC DATABASE LINK', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-125, 'CREATE ROLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-126, 'DROP ANY ROLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-127, 'GRANT ANY ROLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-128, 'ALTER ANY ROLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-130, 'AUDIT ANY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-135, 'ALTER DATABASE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-138, 'FORCE TRANSACTION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-139, 'FORCE ANY TRANSACTION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-140, 'CREATE PROCEDURE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-141, 'CREATE ANY PROCEDURE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-142, 'ALTER ANY PROCEDURE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-143, 'DROP ANY PROCEDURE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-144, 'EXECUTE ANY PROCEDURE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-151, 'CREATE TRIGGER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-152, 'CREATE ANY TRIGGER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-153, 'ALTER ANY TRIGGER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-154, 'DROP ANY TRIGGER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-160, 'CREATE PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-161, 'ALTER PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-162, 'DROP PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-163, 'ALTER RESOURCE COST', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-165, 'ANALYZE ANY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-167, 'GRANT ANY PRIVILEGE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-172, 'CREATE MATERIALIZED VIEW', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-173, 'CREATE ANY MATERIALIZED VIEW', 
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-174, 'ALTER ANY MATERIALIZED VIEW', 
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-175, 'DROP ANY MATERIALIZED VIEW', 
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-177, 'CREATE ANY DIRECTORY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-178, 'DROP ANY DIRECTORY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-180, 'CREATE TYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-181, 'CREATE ANY TYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-182, 'ALTER ANY TYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-183, 'DROP ANY TYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-184, 'EXECUTE ANY TYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-186, 'UNDER ANY TYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-188, 'CREATE LIBRARY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-189, 'CREATE ANY LIBRARY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-190, 'ALTER ANY LIBRARY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-191, 'DROP ANY LIBRARY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-192, 'EXECUTE ANY LIBRARY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-200, 'CREATE OPERATOR', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-201, 'CREATE ANY OPERATOR', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-202, 'ALTER ANY OPERATOR', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-203, 'DROP ANY OPERATOR', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-204, 'EXECUTE ANY OPERATOR', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-205, 'CREATE INDEXTYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-206, 'CREATE ANY INDEXTYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-207, 'ALTER ANY INDEXTYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-208, 'DROP ANY INDEXTYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-209, 'UNDER ANY VIEW', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-210, 'QUERY REWRITE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-211, 'GLOBAL QUERY REWRITE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-212, 'EXECUTE ANY INDEXTYPE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-213, 'UNDER ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-214, 'CREATE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-215, 'CREATE ANY DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-216, 'ALTER ANY DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-217, 'DROP ANY DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-218, 'MANAGE ANY QUEUE', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-219, 'ENQUEUE ANY QUEUE', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-220, 'DEQUEUE ANY QUEUE', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-222, 'CREATE ANY CONTEXT', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-223, 'DROP ANY CONTEXT', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-224, 'CREATE ANY OUTLINE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-225, 'ALTER ANY OUTLINE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-226, 'DROP ANY OUTLINE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-227, 'ADMINISTER RESOURCE MANAGER', 
                                         1);
insert into SYSTEM_PRIVILEGE_MAP values (-228, 'ADMINISTER DATABASE TRIGGER',
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-233, 'MERGE ANY VIEW', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-234, 'ON COMMIT REFRESH', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-235, 'EXEMPT ACCESS POLICY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-236, 'RESUMABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-237, 'SELECT ANY DICTIONARY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-238, 'DEBUG CONNECT SESSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-240, 'DEBUG CONNECT ANY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-241, 'DEBUG ANY PROCEDURE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-243, 'FLASHBACK ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-244, 'GRANT ANY OBJECT PRIVILEGE', 
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-245, 'CREATE EVALUATION CONTEXT', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-246, 'CREATE ANY EVALUATION CONTEXT',
                                         1);
insert into SYSTEM_PRIVILEGE_MAP values (-247, 'ALTER ANY EVALUATION CONTEXT',
                                         1);
insert into SYSTEM_PRIVILEGE_MAP values (-248, 'DROP ANY EVALUATION CONTEXT',
                                         1);
insert into SYSTEM_PRIVILEGE_MAP values (-249, 
                                         'EXECUTE ANY EVALUATION CONTEXT', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-250, 'CREATE RULE SET', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-251, 'CREATE ANY RULE SET', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-252, 'ALTER ANY RULE SET', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-253, 'DROP ANY RULE SET', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-254, 'EXECUTE ANY RULE SET', 1);

insert into SYSTEM_PRIVILEGE_MAP values (-255, 'EXPORT FULL DATABASE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-256, 'IMPORT FULL DATABASE', 0);

insert into SYSTEM_PRIVILEGE_MAP values (-257, 'CREATE RULE', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-258, 'CREATE ANY RULE', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-259, 'ALTER ANY RULE', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-260, 'DROP ANY RULE', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-261, 'EXECUTE ANY RULE', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-262, 'ANALYZE ANY DICTIONARY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-263, 'ADVISOR', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-264, 'CREATE JOB', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-265, 'CREATE ANY JOB', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-266, 'EXECUTE ANY PROGRAM', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-267, 'EXECUTE ANY CLASS', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-268, 'MANAGE SCHEDULER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-269, 'SELECT ANY TRANSACTION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-270, 'DROP ANY SQL PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-271, 'ALTER ANY SQL PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-272, 'ADMINISTER SQL TUNING SET', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-273,
                                         'ADMINISTER ANY SQL TUNING SET', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-274, 'CREATE ANY SQL PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-275, 'EXEMPT IDENTITY POLICY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-276, 'MANAGE FILE GROUP', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-277, 'MANAGE ANY FILE GROUP', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-278, 'READ ANY FILE GROUP', 1);
insert into SYSTEM_PRIVILEGE_MAP values (-279, 'CHANGE NOTIFICATION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-280, 'CREATE EXTERNAL JOB',0);
insert into SYSTEM_PRIVILEGE_MAP values (-281, 'CREATE ANY EDITION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-282, 'DROP ANY EDITION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-283, 'ALTER ANY EDITION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-284, 'CREATE ASSEMBLY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-285, 'CREATE ANY ASSEMBLY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-286, 'ALTER ANY ASSEMBLY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-287, 'DROP ANY ASSEMBLY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-288, 'EXECUTE ANY ASSEMBLY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-289, 'EXECUTE ASSEMBLY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-290, 'CREATE MINING MODEL', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-291, 'CREATE ANY MINING MODEL', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-292, 'DROP ANY MINING MODEL', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-293, 'SELECT ANY MINING MODEL', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-294, 'ALTER ANY MINING MODEL', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-295, 'COMMENT ANY MINING MODEL', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-301, 'CREATE CUBE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-302, 'ALTER ANY CUBE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-303, 'CREATE ANY CUBE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-304, 'DELETE ANY CUBE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-305, 'DROP ANY CUBE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-306, 'INSERT ANY CUBE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-307, 'SELECT ANY CUBE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-308, 'CREATE CUBE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-309, 'ALTER ANY CUBE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-310, 'CREATE ANY CUBE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-311, 'DROP ANY CUBE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-312, 'SELECT ANY CUBE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-313, 'UPDATE ANY CUBE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-314, 'CREATE MEASURE FOLDER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-315, 'CREATE ANY MEASURE FOLDER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-316, 'DELETE ANY MEASURE FOLDER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-317, 'DROP ANY MEASURE FOLDER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-318, 'INSERT ANY MEASURE FOLDER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-319, 'CREATE CUBE BUILD PROCESS', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-320, 'CREATE ANY CUBE BUILD PROCESS',
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-321, 'DROP ANY CUBE BUILD PROCESS', 
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-322, 'UPDATE ANY CUBE BUILD PROCESS',
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-326, 'UPDATE ANY CUBE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-327,
                                         'ADMINISTER SQL MANAGEMENT OBJECT', 
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-328,
                                         'ALTER PUBLIC DATABASE LINK', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-329,
                                         'ALTER DATABASE LINK', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-334,
                                         'CREATE SQL TRANSLATION PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-335,
                                     'CREATE ANY SQL TRANSLATION PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-336,
                                      'ALTER ANY SQL TRANSLATION PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-337,
                                        'USE ANY SQL TRANSLATION PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-338,
                                       'DROP ANY SQL TRANSLATION PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-340, 'SYSBACKUP', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-341, 'SYSDG', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-342, 'SYSKM', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-343,
                                         'ADMINISTER KEY MANAGEMENT', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-344, 'KEEP DATE TIME', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-345, 'KEEP SYSGUID', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-346, 'EM EXPRESS CONNECT', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-347, 'PURGE DBA_RECYCLEBIN', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-350, 'FLASHBACK ARCHIVE ADMINISTER', 
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-351, 'EXEMPT REDACTION POLICY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-352, 'INHERIT ANY PRIVILEGES', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-355, 'TRANSLATE ANY SQL', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-365, 'INHERIT ANY REMOTE PRIVILEGES',
                                         0);
insert into SYSTEM_PRIVILEGE_MAP values (-375, 'CREATE PLUGGABLE DATABASE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-377, 'SET CONTAINER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-378, 'CREATE LOCKDOWN PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-379, 'DROP LOCKDOWN PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-380, 'ALTER LOCKDOWN PROFILE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-387, 'CREATE CREDENTIAL', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-388, 'CREATE ANY CREDENTIAL', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-389, 'LOGMINING', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-390, 'USE ANY JOB RESOURCE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-393, 'SELECT ANY MEASURE FOLDER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-394, 'ALTER ANY MEASURE FOLDER', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-395, 'SELECT ANY CUBE BUILD PROCESS', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-396, 'ALTER ANY CUBE BUILD PROCESS', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-397, 'READ ANY TABLE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-398, 'SYSRAC', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-399, 'CREATE ATTRIBUTE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-400, 'CREATE ANY ATTRIBUTE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-401, 'ALTER ANY ATTRIBUTE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-402, 'DROP ANY ATTRIBUTE DIMENSION', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-403, 'CREATE HIERARCHY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-404, 'CREATE ANY HIERARCHY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-405, 'ALTER ANY HIERARCHY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-406, 'DROP ANY HIERARCHY', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-407, 'CREATE ANALYTIC VIEW', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-408, 'CREATE ANY ANALYTIC VIEW', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-409, 'ALTER ANY ANALYTIC VIEW', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-410, 'DROP ANY ANALYTIC VIEW', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-411, 'READ ANY ANALYTIC VIEW CACHE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-412, 'WRITE ANY ANALYTIC VIEW CACHE', 0);
insert into SYSTEM_PRIVILEGE_MAP values (-414, 'TEXT DATASTORE ACCESS', 0);

Rem NOTE - Whenever a new system privilege is introduced, please add the 
Rem        corresponding entry to STMT_AUDIT_OPTION_MAP as well.

create unique index I_SYSTEM_PRIVILEGE_MAP
        on SYSTEM_PRIVILEGE_MAP (PRIVILEGE, NAME)
/
create public synonym SYSTEM_PRIVILEGE_MAP for SYSTEM_PRIVILEGE_MAP
/
grant read on SYSTEM_PRIVILEGE_MAP to public
/
rem
rem  TABLE_PRIVILEGE_MAP maps a table privilege (auditing option) number
rem  to the name.
rem
create table TABLE_PRIVILEGE_MAP sharing=object (
        PRIVILEGE       number not null,
        NAME            varchar2(40) not null)
/
comment on table TABLE_PRIVILEGE_MAP is
'Description table for privilege (auditing option) type codes.  Maps privilege (auditing option) type numbers to type names'
/
comment on column TABLE_PRIVILEGE_MAP.PRIVILEGE is
'Numeric privilege (auditing option) type code'
/
comment on column TABLE_PRIVILEGE_MAP.NAME is
'Name of the type of privilege (auditing option)'
/
insert into TABLE_PRIVILEGE_MAP values (0, 'ALTER');
insert into TABLE_PRIVILEGE_MAP values (1, 'AUDIT');
insert into TABLE_PRIVILEGE_MAP values (2, 'COMMENT');
insert into TABLE_PRIVILEGE_MAP values (3, 'DELETE');
insert into TABLE_PRIVILEGE_MAP values (4, 'GRANT');
insert into TABLE_PRIVILEGE_MAP values (5, 'INDEX');
insert into TABLE_PRIVILEGE_MAP values (6, 'INSERT');
insert into TABLE_PRIVILEGE_MAP values (7, 'LOCK');
insert into TABLE_PRIVILEGE_MAP values (8, 'RENAME');
insert into TABLE_PRIVILEGE_MAP values (9, 'SELECT');
insert into TABLE_PRIVILEGE_MAP values (10, 'UPDATE');
insert into TABLE_PRIVILEGE_MAP values (11, 'REFERENCES');
insert into TABLE_PRIVILEGE_MAP values (12, 'EXECUTE');
insert into TABLE_PRIVILEGE_MAP values (16, 'CREATE');
insert into TABLE_PRIVILEGE_MAP values (17, 'READ');
insert into TABLE_PRIVILEGE_MAP values (18, 'WRITE');
insert into TABLE_PRIVILEGE_MAP values (20, 'ENQUEUE');
insert into TABLE_PRIVILEGE_MAP values (21, 'DEQUEUE');
insert into TABLE_PRIVILEGE_MAP values (22, 'UNDER');
insert into TABLE_PRIVILEGE_MAP values (23, 'ON COMMIT REFRESH');
insert into TABLE_PRIVILEGE_MAP values (24, 'QUERY REWRITE');
rem ?? UPSERT missing?
insert into TABLE_PRIVILEGE_MAP values (26, 'DEBUG');
insert into TABLE_PRIVILEGE_MAP values (27, 'FLASHBACK');
insert into TABLE_PRIVILEGE_MAP values (28, 'MERGE VIEW');
insert into TABLE_PRIVILEGE_MAP values (29, 'USE');
insert into TABLE_PRIVILEGE_MAP values (30, 'FLASHBACK ARCHIVE');

create unique index I_TABLE_PRIVILEGE_MAP
        on TABLE_PRIVILEGE_MAP (PRIVILEGE, NAME)
/
create public synonym TABLE_PRIVILEGE_MAP for TABLE_PRIVILEGE_MAP
/
grant read on TABLE_PRIVILEGE_MAP to public
/
rem
rem  USER_PRIVILEGE_MAP maps a user privilege (auditing option) number
rem  to the name.
rem
create table USER_PRIVILEGE_MAP sharing=object (
        PRIVILEGE       number not null,
        NAME            varchar2(40) not null)
/
comment on table USER_PRIVILEGE_MAP is
'Description table for user privilege (auditing option) type codes.  Maps privilege (auditing option) type numbers to type names'
/
comment on column USER_PRIVILEGE_MAP.PRIVILEGE is
'Numeric privilege (auditing option) type code'
/
comment on column USER_PRIVILEGE_MAP.NAME is
'Name of the type of privilege (auditing option)'
/
insert into USER_PRIVILEGE_MAP values (0, 'INHERIT PRIVILEGES');
insert into USER_PRIVILEGE_MAP values (1, 'TRANSLATE SQL');
insert into USER_PRIVILEGE_MAP values (2, 'INHERIT REMOTE PRIVILEGES');
insert into USER_PRIVILEGE_MAP values (3, 'DEBUG CONNECT');

create unique index I_USER_PRIVILEGE_MAP
        on USER_PRIVILEGE_MAP (PRIVILEGE)
/
create public synonym USER_PRIVILEGE_MAP for USER_PRIVILEGE_MAP
/
grant read on USER_PRIVILEGE_MAP to public
/
rem
rem  FAMILY "OPTION MAP"
rem     Tables for mapping auditing option numbers to auditing 
rem  the name.
rem
rem  STMT_AUDIT_OPTION_MAP maps a auditing option number to the name.
rem
create table STMT_AUDIT_OPTION_MAP sharing=object (
        OPTION#         number not null,
        NAME            varchar2(40) not null,
        PROPERTY        number not null  /* 0x01 = do not export this audit */
                                         /* option using sql statements */
)
/
comment on table STMT_AUDIT_OPTION_MAP is
'Description table for auditing option type codes.  Maps auditing option type numbers to type names'
/
comment on column STMT_AUDIT_OPTION_MAP.OPTION# is
'Numeric auditing option type code'
/
comment on column STMT_AUDIT_OPTION_MAP.NAME is
'Name of the type of auditing option'
/
comment on column STMT_AUDIT_OPTION_MAP.PROPERTY is
'Property flag of auditing option'
/
insert into STMT_AUDIT_OPTION_MAP values (  3, 'ALTER SYSTEM', 0);
insert into STMT_AUDIT_OPTION_MAP values (  4, 'SYSTEM AUDIT', 0);
insert into STMT_AUDIT_OPTION_MAP values (  5, 'CREATE SESSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (  6, 'ALTER SESSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (  7, 'RESTRICTED SESSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (  8, 'TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values (  9, 'CLUSTER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 10, 'CREATE TABLESPACE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 11, 'ALTER TABLESPACE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 12, 'MANAGE TABLESPACE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 13, 'DROP TABLESPACE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 14, 'TABLESPACE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 15, 'UNLIMITED TABLESPACE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 16, 'USER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 17, 'ROLLBACK SEGMENT', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 18, 'TYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 20, 'CREATE USER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 21, 'BECOME USER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 22, 'ALTER USER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 23, 'DROP USER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 24, 'SYNONYM', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 25, 'PUBLIC SYNONYM', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 26, 'VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 27, 'SEQUENCE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 28, 'DATABASE LINK', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 29, 'PUBLIC DATABASE LINK', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 30, 'CREATE ROLLBACK SEGMENT', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 31, 'ALTER ROLLBACK SEGMENT', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 32, 'DROP ROLLBACK SEGMENT', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 33, 'ROLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 34, 'DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 35, 'PROCEDURE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 36, 'TRIGGER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 37, 'PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 38, 'DIRECTORY', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 39, 'MATERIALIZED VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 40, 'CREATE TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 41, 'CREATE ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 42, 'ALTER ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 43, 'BACKUP ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 44, 'DROP ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 45, 'LOCK ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 46, 'COMMENT ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 47, 'SELECT ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 48, 'INSERT ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 49, 'UPDATE ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 50, 'DELETE ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 51, 'OUTLINE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 52, 'MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 53, 'INDEX', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 56, 'REDEFINE ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 60, 'CREATE CLUSTER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 61, 'CREATE ANY CLUSTER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 62, 'ALTER ANY CLUSTER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 63, 'DROP ANY CLUSTER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 71, 'CREATE ANY INDEX', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 72, 'ALTER ANY INDEX', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 73, 'DROP ANY INDEX', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 78, 'ALL STATEMENTS', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 80, 'CREATE SYNONYM', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 81, 'CREATE ANY SYNONYM', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 82, 'DROP ANY SYNONYM', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 83, 'SYSDBA', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 84, 'SYSOPER', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 85, 'CREATE PUBLIC SYNONYM', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 86, 'DROP PUBLIC SYNONYM', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 90, 'CREATE VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 91, 'CREATE ANY VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 92, 'DROP ANY VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values (105, 'CREATE SEQUENCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (106, 'CREATE ANY SEQUENCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (107, 'ALTER ANY SEQUENCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (108, 'DROP ANY SEQUENCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (109, 'SELECT ANY SEQUENCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (111, 'GRANT SEQUENCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (115, 'CREATE DATABASE LINK', 0);
insert into STMT_AUDIT_OPTION_MAP values (120, 'CREATE PUBLIC DATABASE LINK', 
                                          0);
insert into STMT_AUDIT_OPTION_MAP values (121, 'DROP PUBLIC DATABASE LINK', 0);
insert into STMT_AUDIT_OPTION_MAP values (125, 'CREATE ROLE', 0);
insert into STMT_AUDIT_OPTION_MAP values (126, 'DROP ANY ROLE', 0);
insert into STMT_AUDIT_OPTION_MAP values (127, 'GRANT ANY ROLE', 0);
insert into STMT_AUDIT_OPTION_MAP values (128, 'ALTER ANY ROLE', 0);
insert into STMT_AUDIT_OPTION_MAP values (130, 'AUDIT ANY', 0);
insert into STMT_AUDIT_OPTION_MAP values (131, 'SYSTEM GRANT', 0);
insert into STMT_AUDIT_OPTION_MAP values (135, 'ALTER DATABASE', 0);
insert into STMT_AUDIT_OPTION_MAP values (138, 'FORCE TRANSACTION', 0);
insert into STMT_AUDIT_OPTION_MAP values (139, 'FORCE ANY TRANSACTION', 0);
insert into STMT_AUDIT_OPTION_MAP values (140, 'CREATE PROCEDURE', 0);
insert into STMT_AUDIT_OPTION_MAP values (141, 'CREATE ANY PROCEDURE', 0);
insert into STMT_AUDIT_OPTION_MAP values (142, 'ALTER ANY PROCEDURE', 0);
insert into STMT_AUDIT_OPTION_MAP values (143, 'DROP ANY PROCEDURE', 0);
insert into STMT_AUDIT_OPTION_MAP values (144, 'EXECUTE ANY PROCEDURE', 0);
insert into STMT_AUDIT_OPTION_MAP values (146, 'EXECUTE PROCEDURE', 0);
insert into STMT_AUDIT_OPTION_MAP values (147, 'GRANT PROCEDURE', 0);
insert into STMT_AUDIT_OPTION_MAP values (151, 'CREATE TRIGGER', 0);
insert into STMT_AUDIT_OPTION_MAP values (152, 'CREATE ANY TRIGGER', 0);
insert into STMT_AUDIT_OPTION_MAP values (153, 'ALTER ANY TRIGGER', 0);
insert into STMT_AUDIT_OPTION_MAP values (154, 'DROP ANY TRIGGER', 0);
insert into STMT_AUDIT_OPTION_MAP values (160, 'CREATE PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (161, 'ALTER PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (162, 'DROP PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (163, 'ALTER RESOURCE COST', 0);
insert into STMT_AUDIT_OPTION_MAP values (165, 'ANALYZE ANY', 0);
insert into STMT_AUDIT_OPTION_MAP values (167, 'GRANT ANY PRIVILEGE', 0);
insert into STMT_AUDIT_OPTION_MAP values (172, 'CREATE MATERIALIZED VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values (173, 'CREATE ANY MATERIALIZED VIEW',
                                          0);
insert into STMT_AUDIT_OPTION_MAP values (174, 'ALTER ANY MATERIALIZED VIEW', 
                                          0);
insert into STMT_AUDIT_OPTION_MAP values (175, 'DROP ANY MATERIALIZED VIEW', 
                                          0);
insert into STMT_AUDIT_OPTION_MAP values (176, 'NETWORK', 0);
insert into STMT_AUDIT_OPTION_MAP values (177, 'CREATE ANY DIRECTORY', 0);
insert into STMT_AUDIT_OPTION_MAP values (178, 'DROP ANY DIRECTORY', 0);
insert into STMT_AUDIT_OPTION_MAP values (179, 'GRANT DIRECTORY', 0);
insert into STMT_AUDIT_OPTION_MAP values (180, 'CREATE TYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (181, 'CREATE ANY TYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (182, 'ALTER ANY TYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (183, 'DROP ANY TYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (184, 'EXECUTE ANY TYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (186, 'UNDER ANY TYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (187, 'GRANT TYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (188, 'CREATE LIBRARY', 0);
insert into STMT_AUDIT_OPTION_MAP values (189, 'CREATE ANY LIBRARY', 0);
insert into STMT_AUDIT_OPTION_MAP values (190, 'ALTER ANY LIBRARY', 0);
insert into STMT_AUDIT_OPTION_MAP values (191, 'DROP ANY LIBRARY', 0);
insert into STMT_AUDIT_OPTION_MAP values (192, 'EXECUTE ANY LIBRARY', 0);
insert into STMT_AUDIT_OPTION_MAP values (193, 'EXECUTE LIBRARY', 0);
insert into STMT_AUDIT_OPTION_MAP values (200, 'CREATE OPERATOR', 0);
insert into STMT_AUDIT_OPTION_MAP values (201, 'CREATE ANY OPERATOR', 0);
insert into STMT_AUDIT_OPTION_MAP values (202, 'ALTER ANY OPERATOR', 0);
insert into STMT_AUDIT_OPTION_MAP values (203, 'DROP ANY OPERATOR', 0);
insert into STMT_AUDIT_OPTION_MAP values (204, 'EXECUTE ANY OPERATOR', 0);
insert into STMT_AUDIT_OPTION_MAP values (205, 'CREATE INDEXTYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (206, 'CREATE ANY INDEXTYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (207, 'ALTER ANY INDEXTYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (208, 'DROP ANY INDEXTYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (209, 'UNDER ANY VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values (210, 'QUERY REWRITE', 0);
insert into STMT_AUDIT_OPTION_MAP values (211, 'GLOBAL QUERY REWRITE', 0);
insert into STMT_AUDIT_OPTION_MAP values (212, 'EXECUTE ANY INDEXTYPE', 0);
insert into STMT_AUDIT_OPTION_MAP values (213, 'UNDER ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values (214, 'CREATE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (215, 'CREATE ANY DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (216, 'ALTER ANY DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (217, 'DROP ANY DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (218, 'MANAGE ANY QUEUE', 0);
insert into STMT_AUDIT_OPTION_MAP values (219, 'ENQUEUE ANY QUEUE', 0);
insert into STMT_AUDIT_OPTION_MAP values (220, 'DEQUEUE ANY QUEUE', 0);
insert into STMT_AUDIT_OPTION_MAP values (222, 'CREATE ANY CONTEXT', 0);
insert into STMT_AUDIT_OPTION_MAP values (223, 'DROP ANY CONTEXT', 0);
insert into STMT_AUDIT_OPTION_MAP values (224, 'CREATE ANY OUTLINE', 0);
insert into STMT_AUDIT_OPTION_MAP values (225, 'ALTER ANY OUTLINE', 0);
insert into STMT_AUDIT_OPTION_MAP values (226, 'DROP ANY OUTLINE', 0);
insert into STMT_AUDIT_OPTION_MAP values (227, 'ADMINISTER RESOURCE MANAGER', 
                                          1);
insert into STMT_AUDIT_OPTION_MAP values (228, 'ADMINISTER DATABASE TRIGGER',
                                          0);
insert into STMT_AUDIT_OPTION_MAP values ( 77, 'NOT EXISTS', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 54, 'ALTER TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 57, 'LOCK TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 58, 'COMMENT TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 65, 'SELECT TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 66, 'INSERT TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 67, 'UPDATE TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 68, 'DELETE TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values ( 69, 'GRANT TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values (103, 'ALTER SEQUENCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (104, 'SELECT SEQUENCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (221, 'CONTEXT', 0);
insert into STMT_AUDIT_OPTION_MAP values (233, 'MERGE ANY VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values (234, 'ON COMMIT REFRESH', 0);
insert into STMT_AUDIT_OPTION_MAP values (235, 'EXEMPT ACCESS POLICY', 0);
insert into STMT_AUDIT_OPTION_MAP values (236, 'RESUMABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values (237, 'SELECT ANY DICTIONARY', 0);
insert into STMT_AUDIT_OPTION_MAP values (238, 'DEBUG CONNECT SESSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (240, 'DEBUG CONNECT ANY', 0);
insert into STMT_AUDIT_OPTION_MAP values (241, 'DEBUG ANY PROCEDURE', 0);
insert into STMT_AUDIT_OPTION_MAP values (242, 'DEBUG PROCEDURE', 0);
insert into STMT_AUDIT_OPTION_MAP values (243, 'FLASHBACK ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values (244, 'GRANT ANY OBJECT PRIVILEGE',0);
insert into STMT_AUDIT_OPTION_MAP values (245, 'CREATE EVALUATION CONTEXT', 0);
insert into STMT_AUDIT_OPTION_MAP
   values (246, 'CREATE ANY EVALUATION CONTEXT', 0);
insert into STMT_AUDIT_OPTION_MAP
   values (247, 'ALTER ANY EVALUATION CONTEXT', 0);
insert into STMT_AUDIT_OPTION_MAP
   values (248, 'DROP ANY EVALUATION CONTEXT', 0);
insert into STMT_AUDIT_OPTION_MAP
   values (249, 'EXECUTE ANY EVALUATION CONTEXT', 0);
insert into STMT_AUDIT_OPTION_MAP values (250, 'CREATE RULE SET', 0);
insert into STMT_AUDIT_OPTION_MAP values (251, 'CREATE ANY RULE SET', 0);
insert into STMT_AUDIT_OPTION_MAP values (252, 'ALTER ANY RULE SET', 0);
insert into STMT_AUDIT_OPTION_MAP values (253, 'DROP ANY RULE SET', 0);
insert into STMT_AUDIT_OPTION_MAP values (254, 'EXECUTE ANY RULE SET', 0);
insert into STMT_AUDIT_OPTION_MAP values (255, 'EXPORT FULL DATABASE',0);
insert into STMT_AUDIT_OPTION_MAP values (256, 'IMPORT FULL DATABASE',0);
insert into STMT_AUDIT_OPTION_MAP values (257, 'CREATE RULE', 0);
insert into STMT_AUDIT_OPTION_MAP values (258, 'CREATE ANY RULE', 0);
insert into STMT_AUDIT_OPTION_MAP values (259, 'ALTER ANY RULE', 0);
insert into STMT_AUDIT_OPTION_MAP values (260, 'DROP ANY RULE', 0);
insert into STMT_AUDIT_OPTION_MAP values (261, 'EXECUTE ANY RULE', 0);
insert into STMT_AUDIT_OPTION_MAP values (262, 'ANALYZE ANY DICTIONARY', 0);
insert into STMT_AUDIT_OPTION_MAP values (263, 'ADVISOR',0);
insert into STMT_AUDIT_OPTION_MAP values (264, 'CREATE JOB', 0);
insert into STMT_AUDIT_OPTION_MAP values (265, 'CREATE ANY JOB', 0);
insert into STMT_AUDIT_OPTION_MAP values (266, 'EXECUTE ANY PROGRAM', 0);
insert into STMT_AUDIT_OPTION_MAP values (267, 'EXECUTE ANY CLASS', 0);
insert into STMT_AUDIT_OPTION_MAP values (268, 'MANAGE SCHEDULER', 0);
insert into STMT_AUDIT_OPTION_MAP values (269, 'SELECT ANY TRANSACTION', 0);
insert into STMT_AUDIT_OPTION_MAP values (270, 'DROP ANY SQL PROFILE',0);
insert into STMT_AUDIT_OPTION_MAP values (271, 'ALTER ANY SQL PROFILE',0);
insert into STMT_AUDIT_OPTION_MAP values (272, 'ADMINISTER SQL TUNING SET', 0);
insert into STMT_AUDIT_OPTION_MAP values (273,
                                          'ADMINISTER ANY SQL TUNING SET', 0);
insert into STMT_AUDIT_OPTION_MAP values (274, 'CREATE ANY SQL PROFILE',0);
insert into STMT_AUDIT_OPTION_MAP values (275, 'EXEMPT IDENTITY POLICY', 0);
insert into STMT_AUDIT_OPTION_MAP values (276, 'MANAGE FILE GROUP', 0);
insert into STMT_AUDIT_OPTION_MAP values (277, 'MANAGE ANY FILE GROUP', 0);
insert into STMT_AUDIT_OPTION_MAP values (278, 'READ ANY FILE GROUP', 0);
insert into STMT_AUDIT_OPTION_MAP values (279, 'CHANGE NOTIFICATION', 0);
insert into STMT_AUDIT_OPTION_MAP values (280, 'CREATE EXTERNAL JOB', 0);
insert into STMT_AUDIT_OPTION_MAP values (281, 'CREATE ANY EDITION', 0);
insert into STMT_AUDIT_OPTION_MAP values (282, 'DROP ANY EDITION', 0);
insert into STMT_AUDIT_OPTION_MAP values (283, 'ALTER ANY EDITION', 0);
insert into STMT_AUDIT_OPTION_MAP values (284, 'CREATE ASSEMBLY', 0);
insert into STMT_AUDIT_OPTION_MAP values (285, 'CREATE ANY ASSEMBLY', 0);
insert into STMT_AUDIT_OPTION_MAP values (286, 'ALTER ANY ASSEMBLY', 0);
insert into STMT_AUDIT_OPTION_MAP values (287, 'DROP ANY ASSEMBLY', 0);
insert into STMT_AUDIT_OPTION_MAP values (288, 'EXECUTE ANY ASSEMBLY', 0);
insert into STMT_AUDIT_OPTION_MAP values (289, 'EXECUTE ASSEMBLY', 0);
insert into STMT_AUDIT_OPTION_MAP values (290, 'CREATE MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values (291, 'CREATE ANY MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values (292, 'DROP ANY MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values (293, 'SELECT ANY MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values (294, 'ALTER ANY MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values (295, 'COMMENT ANY MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values (296, 'ALTER MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values (297, 'COMMENT MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values (298, 'GRANT MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values (299, 'SELECT MINING MODEL', 0);
insert into STMT_AUDIT_OPTION_MAP values (93, 'CREATE JAVA SOURCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (94, 'CREATE JAVA CLASS', 0);
insert into STMT_AUDIT_OPTION_MAP values (95, 'CREATE JAVA RESOURCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (96, 'ALTER JAVA SOURCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (97, 'ALTER JAVA CLASS', 0);
insert into STMT_AUDIT_OPTION_MAP values (98, 'ALTER JAVA RESOURCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (99, 'DROP JAVA SOURCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (100, 'DROP JAVA CLASS', 0);
insert into STMT_AUDIT_OPTION_MAP values (101, 'DROP JAVA RESOURCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (301, 'CREATE CUBE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (302, 'ALTER ANY CUBE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (303, 'CREATE ANY CUBE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (304, 'DELETE ANY CUBE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (305, 'DROP ANY CUBE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (306, 'INSERT ANY CUBE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (307, 'SELECT ANY CUBE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (308, 'CREATE CUBE', 0);
insert into STMT_AUDIT_OPTION_MAP values (309, 'ALTER ANY CUBE', 0);
insert into STMT_AUDIT_OPTION_MAP values (310, 'CREATE ANY CUBE', 0);
insert into STMT_AUDIT_OPTION_MAP values (311, 'DROP ANY CUBE', 0);
insert into STMT_AUDIT_OPTION_MAP values (312, 'SELECT ANY CUBE', 0);
insert into STMT_AUDIT_OPTION_MAP values (313, 'UPDATE ANY CUBE', 0);
insert into STMT_AUDIT_OPTION_MAP values (314, 'CREATE MEASURE FOLDER', 0);
insert into STMT_AUDIT_OPTION_MAP values (315, 'CREATE ANY MEASURE FOLDER', 0);
insert into STMT_AUDIT_OPTION_MAP values (316, 'DELETE ANY MEASURE FOLDER', 0);
insert into STMT_AUDIT_OPTION_MAP values (317, 'DROP ANY MEASURE FOLDER', 0);
insert into STMT_AUDIT_OPTION_MAP values (318, 'INSERT ANY MEASURE FOLDER', 0);
insert into STMT_AUDIT_OPTION_MAP values (319, 'CREATE CUBE BUILD PROCESS', 0);
insert into STMT_AUDIT_OPTION_MAP values (320, 'CREATE ANY CUBE BUILD PROCESS',
                                          0);
insert into STMT_AUDIT_OPTION_MAP values (321, 'DROP ANY CUBE BUILD PROCESS', 
                                          0);
insert into STMT_AUDIT_OPTION_MAP values (322, 'UPDATE ANY CUBE BUILD PROCESS',
                                          0);
insert into STMT_AUDIT_OPTION_MAP values (323, 'COMMENT EDITION', 0);
insert into STMT_AUDIT_OPTION_MAP values (324, 'GRANT EDITION', 0);
insert into STMT_AUDIT_OPTION_MAP values (325, 'USE EDITION', 0);
insert into STMT_AUDIT_OPTION_MAP values (326, 'UPDATE ANY CUBE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (327, 
                                          'ADMINISTER SQL MANAGEMENT OBJECT',
                                          0);
insert into STMT_AUDIT_OPTION_MAP values (328,
                                          'ALTER PUBLIC DATABASE LINK', 0);
insert into STMT_AUDIT_OPTION_MAP values (329,
                                          'ALTER DATABASE LINK', 0);
insert into STMT_AUDIT_OPTION_MAP values (330, 'DIRECT_PATH LOAD', 0);
insert into STMT_AUDIT_OPTION_MAP values (331, 'DIRECT_PATH UNLOAD', 0);
/* Schema Synonyms got postponed to 12g */
/* insert into STMT_AUDIT_OPTION_MAP values (332, 'CREATE SCHEMA SYNONYM',0);*/
/* insert into STMT_AUDIT_OPTION_MAP values (333, 'DROP SCHEMA SYNONYM', 0); */
insert into STMT_AUDIT_OPTION_MAP values (334,
                                         'CREATE SQL TRANSLATION PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (335,
                                     'CREATE ANY SQL TRANSLATION PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (336,
                                      'ALTER ANY SQL TRANSLATION PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (337,
                                        'USE ANY SQL TRANSLATION PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (338,
                                       'DROP ANY SQL TRANSLATION PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (339, 'SQL TRANSLATION PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (340, 'SYSBACKUP', 0);
insert into STMT_AUDIT_OPTION_MAP values (341, 'SYSDG', 0);
insert into STMT_AUDIT_OPTION_MAP values (342, 'SYSKM', 0);
insert into STMT_AUDIT_OPTION_MAP values (343, 'ADMINISTER KEY MANAGEMENT', 0);
insert into STMT_AUDIT_OPTION_MAP values (344, 'KEEP DATE TIME', 0);
insert into STMT_AUDIT_OPTION_MAP values (345, 'KEEP SYSGUID', 0);
insert into STMT_AUDIT_OPTION_MAP values (346, 'EM EXPRESS CONNECT', 0);
insert into STMT_AUDIT_OPTION_MAP values (347, 'PURGE DBA_RECYCLEBIN', 0);
insert into STMT_AUDIT_OPTION_MAP values (348,
                                          'ALTER SQL TRANSLATION PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (349,
                                          'GRANT SQL TRANSLATION PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (350, 'FLASHBACK ARCHIVE ADMINISTER',
                                          0);
insert into STMT_AUDIT_OPTION_MAP values (351, 'EXEMPT REDACTION POLICY', 0);
insert into STMT_AUDIT_OPTION_MAP values (352, 'INHERIT ANY PRIVILEGES', 0);
insert into STMT_AUDIT_OPTION_MAP values (353, 'INHERIT PRIVILEGES', 0);
insert into STMT_AUDIT_OPTION_MAP values (354, 'GRANT USER', 0);
insert into STMT_AUDIT_OPTION_MAP values (355, 'TRANSLATE ANY SQL', 0);
insert into STMT_AUDIT_OPTION_MAP values (356, 'TRANSLATE SQL', 0);
insert into STMT_AUDIT_OPTION_MAP values (357, 'PLUGGABLE DATABASE', 0);
insert into STMT_AUDIT_OPTION_MAP values (358, 'LOCKDOWN PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (359, 'ATTRIBUTE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (360, 'HIERARCHY', 0);
insert into STMT_AUDIT_OPTION_MAP values (361, 'ANALYTIC VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values (362, 'READ DIRECTORY', 0);
insert into STMT_AUDIT_OPTION_MAP values (363, 'WRITE DIRECTORY', 0);
insert into STMT_AUDIT_OPTION_MAP values (364, 'EXECUTE DIRECTORY', 0);
insert into STMT_AUDIT_OPTION_MAP values (365, 'INHERIT ANY REMOTE PRIVILEGES',
                                          0);
insert into STMT_AUDIT_OPTION_MAP values (366, 'INHERIT REMOTE PRIVILEGES', 0);
insert into STMT_AUDIT_OPTION_MAP values (367, 'DEBUG CONNECT', 0);
insert into STMT_AUDIT_OPTION_MAP values (375, 'CREATE PLUGGABLE DATABASE', 0);
insert into STMT_AUDIT_OPTION_MAP values (377, 'SET CONTAINER', 0);
insert into STMT_AUDIT_OPTION_MAP values (378, 'CREATE LOCKDOWN PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (379, 'DROP LOCKDOWN PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (380, 'ALTER LOCKDOWN PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (385,
                                            'USE SQL TRANSLATION PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (386,
                                           'DROP SQL TRANSLATION PROFILE', 0);
insert into STMT_AUDIT_OPTION_MAP values (387, 'CREATE CREDENTIAL', 0);
insert into STMT_AUDIT_OPTION_MAP values (388, 'CREATE ANY CREDENTIAL', 0);
insert into STMT_AUDIT_OPTION_MAP values (389, 'LOGMINING', 0);
insert into STMT_AUDIT_OPTION_MAP values (390, 'USE ANY JOB RESOURCE', 0);
insert into STMT_AUDIT_OPTION_MAP values (393, 'SELECT ANY MEASURE FOLDER', 0);
insert into STMT_AUDIT_OPTION_MAP values (394, 'ALTER ANY MEASURE FOLDER', 0);
insert into STMT_AUDIT_OPTION_MAP values (395, 'SELECT ANY CUBE BUILD PROCESS', 0);
insert into STMT_AUDIT_OPTION_MAP values (396, 'ALTER ANY CUBE BUILD PROCESS', 0);
insert into STMT_AUDIT_OPTION_MAP values (397, 'READ ANY TABLE', 0);
insert into STMT_AUDIT_OPTION_MAP values (398, 'SYSRAC', 0);
insert into STMT_AUDIT_OPTION_MAP values (399, 'CREATE ATTRIBUTE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (400, 'CREATE ANY ATTRIBUTE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (401, 'ALTER ANY ATTRIBUTE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (402, 'DROP ANY ATTRIBUTE DIMENSION', 0);
insert into STMT_AUDIT_OPTION_MAP values (403, 'CREATE HIERARCHY', 0);
insert into STMT_AUDIT_OPTION_MAP values (404, 'CREATE ANY HIERARCHY', 0);
insert into STMT_AUDIT_OPTION_MAP values (405, 'ALTER ANY HIERARCHY', 0);
insert into STMT_AUDIT_OPTION_MAP values (406, 'DROP ANY HIERARCHY', 0);
insert into STMT_AUDIT_OPTION_MAP values (407, 'CREATE ANALYTIC VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values (408, 'CREATE ANY ANALYTIC VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values (409, 'ALTER ANY ANALYTIC VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values (410, 'DROP ANY ANALYTIC VIEW', 0);
insert into STMT_AUDIT_OPTION_MAP values (411, 'READ ANY ANALYTIC VIEW CACHE', 0);
insert into STMT_AUDIT_OPTION_MAP values (412, 'WRITE ANY ANALYTIC VIEW CACHE', 0);
insert into STMT_AUDIT_OPTION_MAP values (414, 'TEXT DATASTORE ACCESS', 0);

create unique index I_STMT_AUDIT_OPTION_MAP
        on STMT_AUDIT_OPTION_MAP (OPTION#, NAME)
/
create public synonym  STMT_AUDIT_OPTION_MAP for STMT_AUDIT_OPTION_MAP
/
grant read on STMT_AUDIT_OPTION_MAP to public
/
create table user_history$ 
( user# number not null,   /* user number; this mapping is for (user$.user#) */
  password  varchar2(4000),                          /* password of the user */
  password_date date                        /* date the password was entered */
)
/
create table rls$                                      /* Row Level Security */
(
  obj#            NUMBER NOT NULL,       /* synonym/table/view object number */
  gname           VARCHAR2("M_IDEN") NOT NULL,       /* name of policy group */
  pname           VARCHAR2("M_IDEN") NOT NULL,             /* name of policy */
  stmt_type       NUMBER NOT NULL,             /* statement and policy types */
                                   /* 0x0001 SELECT statement policy */
                                   /* 0x0002 INSERT statement policy */
                                   /* 0x0004 UPDATE statement policy */
                                   /* 0x0008 DELETE statement policy */
                                   /* 0x0010 static policy */
                                   /* 0x0020 policy associated with synonym */
                                   /* 0x0040 shared static policy */
                                   /* 0x0080 context sensitive policy */
                                   /* 0x0100 shared context sensitive policy */
                                   /* 0x0200 4000 bytes max predicate length */
                                   /* 0x0400 security relevant column policy */
                                   /* 0x80000 OLS policy                     */
  check_opt       NUMBER NOT NULL,                      /* with check option */
                                            /* 0 = no checking, 1 = checking */
  enable_flag     NUMBER NOT NULL,              /* 0 = disabled, 1 = enabled */
  pfschma         VARCHAR2("M_IDEN") NOT NULL,  /* schema of policy function */
  ppname          VARCHAR2("M_IDEN"),                 /* policy package name */
  pfname          VARCHAR2("M_IDEN") NOT NULL,       /* policy function name */
  ptype           NUMBER                                         /* obsolete */
)
/
create index i_rls on rls$(obj#, gname, pname)
/
create index i_rls2 on rls$(obj#)
/
create table rls_sc$                       /* RLS secrurity relevant columns */
(
  obj#            NUMBER NOT NULL,        /* parent table/view object number */
  gname           VARCHAR2("M_IDEN") NOT NULL,       /* name of policy group */
  pname           VARCHAR2("M_IDEN") NOT NULL,             /* name of policy */
  intcol#         NUMBER                      /* security relevant column ID */
)
/
create index i_rls_sc on rls_sc$(obj#, gname, pname)
/

create table rls_grp$
(
  obj#            NUMBER NOT NULL,                   /* parent object number */
  gname           VARCHAR2("M_IDEN") NOT NULL,       /* name of policy group */
  synid           NUMBER                                         /* obsolete */
)
/
create index i_rls_grp on rls_grp$(obj#)
/
create table rls_ctx$
(
  obj#            NUMBER NOT NULL,                   /* parent object number */
  ns              VARCHAR2("M_IDEN") NOT NULL,                  /* namespace */
  attr            VARCHAR2("M_IDEN") NOT NULL,                  /* attribute */
  synid           NUMBER                                         /* obsolete */
)
/
create index i_rls_ctx on rls_ctx$(obj#)
/
create table rls_csa$                              /* Attribute Associations */
(
  obj#          NUMBER NOT NULL,         /* synonym/table/view object number */
  gname         VARCHAR2("M_IDEN_128") NOT NULL,     /* name of policy group */
  pname         VARCHAR2("M_IDEN_128") NOT NULL,           /* name of policy */
  ns            VARCHAR2("M_IDEN_128") NOT NULL,        /* context namespace */
  attr          VARCHAR2("M_IDEN_128") NOT NULL                 /* attribute */
)
/
create index i_rls_csa on rls_csa$(obj#, gname, pname);
/


Rem
Rem  Create the RADM dictionary tables radm$, radm_mc$, radm_fptm$, 
Rem  radm_fptm_lob$, radm_td$, and radm_cd$
Rem
create table radm$ /* Real-time Application-controlled Data Masking policies */
(
  obj#        NUMBER NOT NULL,             /* object number of table or view */
  pname       VARCHAR2("M_IDEN") NOT NULL,               /* RADM policy name */
  pexpr       VARCHAR2(4000),  /* Unused. Previously: RADM Policy Expression */
  enable_flag NUMBER NOT NULL     /* Policy State: 0 = disabled, 1 = enabled */
)
/
create index i_radm1 on radm$(obj#)
/
create index i_radm2 on radm$(obj#, pname)
/
create table radm_mc$                      /* RADM policies - Masked Columns */
(
  obj#                   NUMBER NOT NULL,             /* table object number */
  intcol#                NUMBER NOT NULL,                   /* column number */
  mfunc                  NUMBER NOT NULL,           /* RADM Masking Function */
  mparams                VARCHAR2(1000),          /* RADM Masking Parameters */
  regexp_pattern         VARCHAR2(512),        /* Regular Expression pattern */
  regexp_replace_string  VARCHAR2(4000),               /* Replacement string */
  regexp_position        NUMBER,                 /* Position to begin search */
  regexp_occurrence      NUMBER,    /* Replace specified or every occurrence */
  regexp_match_parameter VARCHAR2(10),          /* Control matching behavior */
  mp_iformat_start_byte  INTEGER,         /* starting byte # of INPUT FORMAT */
  mp_iformat_end_byte    INTEGER,           /* ending byte # of INPUT FORMAT */
  mp_oformat_start_byte  INTEGER,        /* starting byte # of OUTPUT FORMAT */
  mp_oformat_end_byte    INTEGER,          /* ending byte # of OUTPUT FORMAT */
  mp_maskchar_start_byte INTEGER,            /* starting byte # of MASK CHAR */
  mp_maskchar_end_byte   INTEGER,              /* ending byte # of MASK CHAR */
  mp_maskfrom            INTEGER,         /* MASK FROM, converted to integer */
  mp_maskto              INTEGER,           /* MASK TO, converted to integer */
  mp_datmask_Mo          INTEGER,                     /* date mask for Month */
  mp_datmask_D           INTEGER,                       /* date mask for Day */
  mp_datmask_Y           INTEGER,                      /* date mask for Year */
  mp_datmask_H           INTEGER,                      /* date mask for Hour */
  mp_datmask_Mi          INTEGER,                    /* date mask for Minute */
  mp_datmask_S           INTEGER,                    /* date mask for Second */
  pe#                    NUMBER NOT NULL, /* Foreign key: refs radm_pe$(pe#) */
  regexp_charset         NUMBER      /* NLS character set for regexp_pattern */
)
/
create index i_radm_mc1 on radm_mc$(obj#)
/
create index i_radm_mc2 on radm_mc$(obj#, intcol#)
/
create index i_radm_mc3 on radm_mc$(pe#)
/
Rem
Rem Lrg #14081672: shorten pe_name to 256 to avoid ORA-01450 on 2K block size.
Rem
create table radm_pe$                    /* Data Redaction Policy Expression */
(
  pe#        number primary key,                 /* Policy Expression number */
  pe_obj#    number,      /* Object number of default Policy Expr, else NULL */
  pe_name    varchar2(256),    /* Policy Expression name (NULL: use pe_obj#) */
  pe_pexpr   varchar2(4000) not null,                   /* Policy Expression */
  pe_version varchar2(30) not null,      /* Version that created Policy Expr */
  pe_descrip varchar2(4000),             /* Description of Policy Expression */
  pe_compat  varchar2(30) not null,  /* Value of COMPATIBLE at creation time */
  pe_spare1  varchar2(1000),
  pe_spare2  date,
  pe_spare3  timestamp,
  pe_spare4  number,
  pe_spare5  number,
  pe_spare6  number
)
/
create unique index i_radm_pe1 on sys.radm_pe$(pe_name)
/
create index i_radm_pe2 on sys.radm_pe$(pe_obj#, pe_name)
/
alter table sys.radm_mc$ add constraint radm_mc_pe_number
foreign key(pe#) references sys.radm_pe$(pe#)
/
Rem
Rem We need to now modify the radm_mc_pe_number
Rem constraint on the sys.radm_mc$ table to enable and validate
Rem the radm_mc_pe_number constraint.
Rem
alter table sys.radm_mc$ modify constraint radm_mc_pe_number enable validate
/
create sequence radm_pe$_seq
start with 5000 increment by 1 nocache nocycle order
/
create table radm_fptm$ /* RADM Fixed PoinT Masking values */
(
  numbercol    NUMBER NOT NULL,
  binfloatcol  BINARY_FLOAT NOT NULL,
  bindoublecol BINARY_DOUBLE NOT NULL,
  charcol      CHAR(1),
  varcharcol   VARCHAR2(1),
  ncharcol     NCHAR(1),
  nvarcharcol  NVARCHAR2(1),
  datecol      DATE NOT NULL,
  ts_col       TIMESTAMP NOT NULL,
  tswtz_col    TIMESTAMP WITH TIME ZONE NOT NULL,
  fpver        NUMBER NOT NULL
)
/
create unique index i_radm_fptm on radm_fptm$(fpver)
/
insert into radm_fptm$ values 
(
  0,
  0,
  0,
  ' ',
  ' ',
  N' ',
  N' ',
  TO_DATE('01-JAN-01','DD-MON-YY','NLS_DATE_LANGUAGE = AMERICAN'),
  TO_TIMESTAMP('01-JAN-2001 01.00.00.000000AM','DD-MON-YYYY HH.MI.SS.FF6AM',
               'NLS_DATE_LANGUAGE = AMERICAN'),
  TO_TIMESTAMP_TZ('01-JAN-2001 01.00.00.000000AM +00:00',
                  'DD-MON-YYYY HH.MI.SS.FF6AM TZH:TZM',
                  'NLS_DATE_LANGUAGE = AMERICAN'),
  1
)
/
create table radm_fptm_lob$ /* RADM Fixed PoinT Masking values for LOBs*/
(
  blobcol      BLOB,
  clobcol      CLOB,
  nclobcol     NCLOB,
  fpver        NUMBER NOT NULL
)
tablespace SYSAUX
/
create unique index i_radm_fptm_lob on radm_fptm_lob$(fpver)
tablespace SYSAUX
/
insert into radm_fptm_lob$ values 
(
  NULL,
  NULL,
  NULL,
  0
)
/
create table radm_td$
(
  obj#        NUMBER NOT NULL,             /* object number of table or view */
  pname       VARCHAR2("M_IDEN") NOT NULL,               /* RADM policy name */
  pdesc       VARCHAR2(4000)                      /* RADM policy description */
)
/
create index i_radm_td1 on radm_td$(obj#)
/
create index i_radm_td2 on radm_td$(obj#, pname)
/
create table radm_cd$
(
  obj#        NUMBER NOT NULL,             /* object number of table or view */
  intcol#     NUMBER NOT NULL,                              /* column number */
  pname       VARCHAR2("M_IDEN") NOT NULL,               /* RADM policy name */
  cdesc       VARCHAR2(4000)         /* column level RADM policy description */
)
/
create index i_radm_cd1 on radm_cd$(obj#)
/
create index i_radm_cd2 on radm_cd$(obj#, intcol#)
/
create index i_radm_cd3 on radm_cd$(obj#, intcol#, pname)
/
Rem  Creation of AUD$ is moved here because of new CLOB type columns.
Rem    We can define CLOB columns only after LOB$ table is defined.
Rem 
create table aud$                                       /* audit trail table */
( sessionid     number not null,                        /* server session id */
  entryid       number not null,           /* serial number to audit records */
  statement     number not null,                     /* sql statement number */
  timestamp#    date,            /* OBSOLETE: 10iR1 and above: time of query */
  userid        varchar2("M_IDEN"),                     /* database username */
  userhost      varchar2("M_HOST"),              /* client host machine name */
  terminal      varchar2("M_TERM"),                    /* client terminal id */
  action#       number not null,          /* action responsible for auditing */
  returncode    number not null,               /* return code for the action */
  obj$creator   varchar2("M_IDEN"),           /* schema where object resides */
  obj$name      varchar2("M_XDBI"),                    /* name of the object */
  auth$privileges varchar2(32),                        /* granted privileges */
  auth$grantee  varchar2("M_IDEN"),                      /* grantee username */
  new$owner     varchar2("M_IDEN"),        /* schema of the dependent object */
  new$name      varchar2("M_XDBI"),          /* name of the dependent object */
  ses$actions   varchar2("S_ACFL"),        /* success/failure of each action */
  ses$tid       number,                                         /* object id */
  logoff$lread  number,            /* number of logical reads in the session */
  logoff$pread  number,           /* number of physical reads in the session */
  logoff$lwrite number,           /* number of logical writes in the session */
  logoff$dead   number,                /* number of deadlocks in the session */
  logoff$time   date,                                    /* session duration */
  comment$text  varchar2("M_VCSZ"),  /* type authentication/trigger/protocol */
  clientid      varchar2(128),             /* user defined client identifier */
  spare1        varchar2(255),                               /* OS user name */
  spare2        number,             /* whether this table (aud$) is modified */
  obj$label     raw(255),                         /* OBSOLETE: 8.0 and above */
  ses$label     raw(255),                         /* OBSOLETE: 8.0 and above */
  priv$used     number,                              /* system privlege used */
  sessioncpu    number,                    /* total cpu time for the session */
  ntimestamp#   timestamp,                /* new timestamp (in UTC) of query */
  proxy$sid     number,                       /* proxy session serial number */
  user$guid     varchar2(32),                      /* global user identifier */
  instance#     number,                                   /* instance number */
  process#      varchar2("M_PIDL"),                         /* OS process id */
  xid           raw(8),                            /* transaction identifier */
  auditid       varchar2(64),                          /* audit operation id */
  scn           number,                                  /* SCN of the query */
  dbid          number,                 /* database identifier for source db */
  sqlbind       clob,                        /* bind variables for the query */
  sqltext       clob,                               /* sql text of the query */
  obj$edition   varchar2("M_IDEN"),                   /* Object edition name */
  rls$info      clob,                                    /* RLS related info */
  current_user  varchar2("M_IDEN")                           /* Current User */
)
/
create table fga$
(
  obj#            NUMBER NOT NULL,                   /* parent object number */
  pname           VARCHAR2("M_IDEN") NOT NULL,             /* name of policy */
  ptxt            VARCHAR2("M_VCSZ"),                    /* policy predicate */
  pfschma         VARCHAR2("M_IDEN"),             /* schema of event handler */
  ppname          VARCHAR2("M_IDEN"),                  /* event package name */
  pfname          VARCHAR2("M_IDEN"),                 /* event function name */
  pcol            VARCHAR2("M_IDEN"),                     /* relevant column */
  enable_flag     NUMBER NOT NULL,              /* 0 = disabled, 1 = enabled */
  stmt_type       NUMBER default 1 NOT NULL,               /* statement type */
  powner#         NUMBER NOT NULL                         /* owner of policy */
)
/
create index i_fga on fga$(obj#)
/
create unique index i_fgap on fga$(obj#, pname)
/
create table fgacol$
(
  obj#            NUMBER NOT NULL,                   /* parent object number */
  pname           VARCHAR2("M_IDEN") NOT NULL,             /* name of policy */
  intcol#         NUMBER NOT NULL                           /* column number */
)
/
create unique index i_fgacol on fgacol$(obj#, pname, intcol#)
/
create table fga_log$
(
  sessionid     number not null,                               /* session id */
  timestamp#    date,            /* OBSOLETE: 10iR1 and above: time of query */
  dbuid         varchar2("M_IDEN"),                     /* database username */
  osuid         varchar2(255),                                  /* OS userid */
  oshst         varchar2("M_HOST"),                           /* client host */
  clientid      varchar2(128),                          /* client identifier */
  extid         varchar2("M_VCSZ"),                    /* external user name */
  obj$schema    varchar2("M_IDEN"),                         /* object schema */
  obj$name      varchar2("M_XDBI"),                           /* object name */
  policyname    varchar2("M_IDEN"),             /* fine grained audit policy */
  scn           number,                                  /* SCN of the query */
  sqltext       varchar2("M_VCSZ"),                       /* only used in 9i */
  lsqltext      clob,                               /* sql text of the query */
  sqlbind       varchar2("M_VCSZ"),                  /* only used until 9iR2 */
  comment$text  varchar2("M_VCSZ"),
  plhol         long,                        /* place holder for int. values */
  stmt_type     number,                                    /* statement type */
  ntimestamp#   timestamp,                /* new timestamp (in UTC) of query */
  proxy$sid     number,                       /* proxy session serial number */
  user$guid     varchar2(32),                      /* global user identifier */
  instance#     number,                                /* db instance number */
  process#      varchar2("M_PIDL"),                         /* OS process id */
  xid           raw(8),                  /* modifying transaction identifier */
  auditid       varchar2(64),                     /* user defined audit info */
  statement     number,                              /* sql statement number */
  entryid       number,                    /* serial number to audit records */
  dbid          number,          /* null or remote dbid. for Logical Standby */
  lsqlbind      clob,                        /* bind variables for the query */
  obj$edition   varchar2("M_IDEN"),                   /* Object edition name */
  rls$info      clob,                                    /* RLS related info */
  current_user  varchar2("M_IDEN")                           /* Current User */
)
/
create table approle$                                    /* Application Role */
(
  role#           NUMBER NOT NULL,                                  /* role# */
  schema          VARCHAR2("M_IDEN") NOT NULL,  /* schema of policy function */
  package         VARCHAR2("M_IDEN") NOT NULL         /* policy package name */
)
/
create unique index i_approle on approle$(role#)
/
create table enc$ (
  obj#    number,                                     /* table object number */
  owner#  number,                         /* user id of the master key owner */
  mkeyid  varchar2(64),                           /* global id of master key */
  encalg  number,                                 /* encryption algorithm id */
  intalg  number,                                  /* integrity algorithm id */
  colklc  raw(2000),                                   /* column key locator */
  klclen  number,                                   /* length of key locator */
  flag    number,                                                    /* flag */
  supplemental log group enc$_log_grp (obj#, owner#) always
)
/
create unique index enc_idx on enc$(obj#, owner#)
/
create table proxy_info$
( client#            NUMBER NOT NULL,                      /* client user ID */
  proxy#             NUMBER NOT NULL,                       /* proxy user ID */
  credential_type#   NUMBER NOT NULL,  /* Type of credential passed by proxy */
                   /*
                    * Values
                    * 0 = No Authentication
                    * 5 = Authentication
                    */
  flags               NUMBER NOT NULL /* Mask flags of associated with entry */
             /* Flags values:
              * 1 = proxy can activate all client roles
              * 2 = proxy can activate no client roles
              * 4 = role can be activated by proxy,
              * 8 = role cannot be activated by proxy
              */
)
/
create unique index i_proxy_info$ on proxy_info$(client#, proxy#)
/
create table proxy_role_info$
( client#       NUMBER NOT NULL,                           /* client user ID */
  proxy#        NUMBER NOT NULL,                            /* proxy user ID */
  role#         NUMBER NOT NULL                                   /* role ID */
)
/
create index i_proxy_role_info$_1 on
  proxy_role_info$(client#, proxy#)
/
create unique index i_proxy_role_info$_2 on
  proxy_role_info$(client#, proxy#, role#)
/
create table xs$verifiers
( user#       NUMBER        NOT NULL,             /* light weight user's UID */
  verifier    VARCHAR2(256) NOT NULL,                   /* password verifier */
  type#       NUMBER                                        /* verifier type */
)
/
create unique index i_xs$verifiers1 on xs$verifiers(user#)
/

create table xs$parameters
(
  name                  varchar2(256)  not null ,          /* Parameter Name */
  value                 varchar2(4000) not null ,         /* Parameter Value */
  description           varchar2(4000) not null ,   /* Parameter Description */
  registration_sequence number         not null , /* Parameter Reg. Sequence */
  flags                 number         not null           /* Parameter flags */
)
/
create sequence xsparam_reg_sequence$  /* XS parameter registration sequence */
  start with 1
  increment by 1
  minvalue 1
  nomaxvalue
  cache 20
  order
  nocycle
/
grant select on map_object to select_catalog_role
/
grant select, insert, update, delete on map_object to dba
/
grant all privileges to sys
/
insert into props$ values ('TDE_MASTER_KEY_ID', NULL, NULL) 
/

Rem Table for lightweight proxy

create table XSDB$SCHEMA_ACL(
  schema_name varchar2("M_IDEN") primary key,
  acl_path    varchar2(4000) not null
);
comment on table XSDB$SCHEMA_ACL is
'Table to hold schema name and their protecting ACL path'
/
comment on column XSDB$SCHEMA_ACL.SCHEMA_NAME is
'Schema name'
/
comment on column XSDB$SCHEMA_ACL.ACL_PATH is
'Path of ACL protecting the schema'
/
grant insert, update, select on xsdb$schema_acl to dba;

Rem
Rem [17250794] With the new requirement that a user must have USE privilege WITH
Rem GRANT OPTION on an edition in order to make it the default edition, we grant
Rem this privilege to SYSTEM for edition ora$base.
Rem
grant use on edition ora$base to system with grant option
/


---------------------------

-- Aclmv tables


create table aclmv$                  /* the acl mvs used by fusion security */
( table_obj#       number,           /* object# of table */
  acl_mview_obj#   number,           /* object# of mview */
  refresh_mode     number,           /* ON COMMIT, SCHEDULED or ON DEMAND */
  job_name         varchar2(128),    /* the job-name if SCHEDULED */  
  trace_level      number            /* the tracing-level, default 0 => off */
)
/
create unique index i_aclmv$_1 on aclmv$(table_obj#, acl_mview_obj#)
/


create table aclmvsubtbl$
( acl_mview_obj#  number,            /* foreign key to aclmv$ table */
  subtable_obj#   number             /* object number of a subtable */
)
/
create index i_aclmvsubtbl$_1 on aclmvsubtbl$(acl_mview_obj#)
/

create table aclmvrefstat$                    /* the acl mvs refresh status */
( acl_mview_obj#      number,           /* object# of table */ 
  job_start_time       timestamp with time zone,      
  job_end_time         timestamp with time zone,      
  total_inserts        number,
  total_deletes        number,
  total_updates        number,
  row_update_count     number,
  status               number,
  error_message        varchar2(4000)
)
/
create index i_aclmvrefstat$_1 on aclmvrefstat$(acl_mview_obj#)
/

create table aclmv$_reflog(rtime timestamp,
                           schema_name varchar2("M_IDEN"),
                           table_name  varchar2("M_IDEN"),
                           mview_name  varchar2("M_IDEN"),
                           job_name    varchar2(128),
                           acl_status  varchar2(128),
                           status      number, 
                           errmsg      varchar2(256)
)
/


Rem BEGIN: BUG 7829203, DEFAULT_PWD$ CHANGES

Rem
Rem Default_pwd$ is part of the Oracle Default Password Scanner tool.
Rem It stores the verifiers of default passwords and is used to generate the
Rem list (SYS.DBA_USERS_WITH_DEFPWD) of users still using default passwords.
Rem
Rem  user_name    :  A user name
Rem  pwd_verifier :  The default password verifier
Rem  pv_type      :  Password verifier type
Rem                    0 - O3logon or O4logon verifier. i.e. password 
Rem                        verifier is stored in password column of user$ table
Rem                    1 - SHA-1 hash  
Rem                   -1 - default accounts do not have default passwords
Rem  product      :  Product to which the user belongs

create table default_pwd$ sharing=data
(  user_name       varchar2(128),                                /* Username */
   pwd_verifier    varchar2(512),           /* Verifier for default password */
   pv_type         number default 0,               /* Password verifier type */
   product         varchar2(4000) default NULL        /* product information */
) 
/
create unique index i_default_pwd on default_pwd$(user_name,pwd_verifier)
/
rem 
rem tables for dbms_audit_mgmt - begin
rem
create table dam_param_tab$
(
  parameter#           number            primary key,
  parameter_name       varchar2(1024)    not null
)
/
comment on table dam_param_tab$ is
'audit trail properties id to name mapping'
/
comment on column dam_param_tab$.parameter# is
'numerical id of the audit trail property that can be configured'
/
comment on column dam_param_tab$.parameter_name is
'name of the audit trail property that can be configured'
/
rem audit trail type will be identified using numerical code as given below
rem 1  - 'standard db audit trail'
rem 2  - 'fga db audit trail'
rem 3  - 'standard and fga db audit trails'
rem 4  - 'os audit trail'
rem 8  - 'xml audit trail'
rem 12 - 'os and xml audit trails'
rem 15 - 'all audit trails'
rem 51 - 'unified audit trail'
rem
rem audit trail property units
rem os_file_max_size is measured in kb units
rem os_file_max_age is measured in days
rem clean_up_interval is measured in hours
create table dam_config_param$
(
  param_id             number not null,
  audit_trail_type#    number not null,
  number_value         number,
  string_value         varchar2(4000),
  constraint dam_config_param_fk1 
    foreign key (param_id) references dam_param_tab$(parameter#)
)
/
create unique index i_dam_config_param$ on dam_config_param$
(param_id,audit_trail_type#)
/
comment on table dam_config_param$ is
'audit trail properties configured for a given audit trail type'
/
comment on column dam_config_param$.param_id is
'numerical id of the audit trail property that can be configured'
/
comment on column dam_config_param$.audit_trail_type# is
'the audit trail type for which property is configured'
/
comment on column dam_config_param$.number_value is
'the number value for the audit trail property'
/
comment on column dam_config_param$.string_value is
'the string value for the audit trail property'
/
rem last archive timestamp: external archival systems are provided a facility 
rem to indicate which audit records are securely archived. this can be set via 
rem dbms_audit_mgmt.set_last_archive_timestamp. this timestamp would typically 
rem be the timestamp of the last audit record archived.
rem
rem last archive timestamp is given in utc for db audit trail types
rem and is given in local timezone for os/xml audit trail types
create table dam_last_arch_ts$
(
  audit_trail_type#       number       not null,
  rac_instance#           number       not null,
  last_archive_timestamp  timestamp    not null,
  database_id             number       not null,
  container_guid          varchar2(33) not null
)
/
create unique index i_dam_last_arch_ts$ on dam_last_arch_ts$
(audit_trail_type#, rac_instance#, database_id, container_guid)
/
comment on table dam_last_arch_ts$ is
'last archive timestamps set for the audit trail types'
/
comment on column dam_last_arch_ts$.audit_trail_type# is
'the audit trail type for which last archive timestamp is set'
/
comment on column dam_last_arch_ts$.rac_instance# is
'the rac instance number for which last archive timestamp is set'
/
comment on column dam_last_arch_ts$.last_archive_timestamp is
'the last archive timestamp for the audit trail type'
/
comment on column dam_last_arch_ts$.database_id is
'the database id of the audit records, if purging old data'
/
comment on column dam_last_arch_ts$.last_archive_timestamp is
'the container GUID of the audit records, if purging old data'
/
create table dam_cleanup_jobs$
(
  job_name             varchar2(128)     primary key,
  job_status           number,
  audit_trail_type#    number            not null,
  job_interval         number            not null,
  job_frequency        varchar2(100),
  job_flags            number
)
/
comment on table dam_cleanup_jobs$ is
'purge jobs configured for the audit trail types'
/
comment on column dam_cleanup_jobs$.job_name is
'name to identify the purge job'
/
comment on column dam_cleanup_jobs$.job_status is
'status of the purge job'
/
comment on column dam_cleanup_jobs$.audit_trail_type# is
'the audit trail type for which last archive timestamp is set'
/
comment on column dam_cleanup_jobs$.job_interval is
'time between the purge job runs'
/
comment on column dam_cleanup_jobs$.job_frequency is
'the repeat interval of the purge job'
/
comment on column dam_cleanup_jobs$.job_flags is
'to store the properties about cleanup job'
/
create table dam_cleanup_events$
(
  serial#              number            primary key,
  audit_trail_type#    number            not null,
  rac_instance#        number            not null,
  cleanup_time         timestamp         not null, 
  delete_count         number,
  was_forced           number
)
/
comment on table dam_cleanup_events$ is
'the history of audit trail cleanup events'
/
comment on column dam_cleanup_events$.serial# is
'a serial number associated with the cleanup event'
/
comment on column dam_cleanup_events$.audit_trail_type# is
'the audit trail type which was cleaned during the event'
/
comment on column dam_cleanup_events$.rac_instance# is
'the rac instance number which was cleaned during the event'
/
comment on column dam_cleanup_events$.cleanup_time is
'the timestamp when the cleanup event completed'
/
comment on column dam_cleanup_events$.delete_count is
'the number of audit records/files that was cleaned up during the event'
/
comment on column dam_cleanup_events$.was_forced is
'was the cleanup done without considering last archive timestamp'
/
create sequence dam_cleanup_seq$
start with    1
increment by  1
nocycle
/
rem 
rem tables for dbms_audit_mgmt - end
rem

Rem
Rem tsdp_sensitive_data$ table stores the list of sensitive columns
Rem in the database as identified using TSDP.
Rem sensitive#    : Unique TSDP ID for the sensitive column
Rem obj#          : The object number of the table having the column
Rem col_argument# : The intcol# of the column
Rem procedure#    : procedure# (for future use)
Rem sensitive_type: the sensitive type of the column
Rem user_comment  : user comment on the sensitive column
Rem source#       : the source# (tsdp_source$) of the column
Rem ts            : timestamp when the column was identified
Rem                 as sensitive in the db
Rem property      : flag used for internal purpose(future use)
Rem

create table tsdp_sensitive_data$ ( 
  sensitive#                    number not null,
  obj#                          number not null,
  col_argument#                 number not null,
  procedure#                    number,
  sensitive_type                varchar2(128),
  user_comment                  varchar2(4000),
  source#                       number,
  ts                            timestamp,
  property                      number,
  constraint tsdp_sensitive_data$pk primary key (sensitive#),
  constraint tsdp_sensitive_data$uk unique (obj#,col_argument#,procedure#)
)
/

Rem
Rem Bug 14355614: Mark sensitive columns of non-bootstrap dictionary tables.
Rem Column is marked as sensitive by setting the 'sensitive column' bit
Rem (i.e, KQLDCOP2_SEN which has decimal value 8796093022208) in col$.property.
Rem Sensitive columns from non-bootstrap dictionary tables are:
Rem XS$VERIFIERS.VERIFIER
Rem LINK$.PASSWORDX, LINK$.AUTHPWDX, LINK$.PASSWORD
Rem LINK$.AUTHPWD
Rem ENC$.COLKLC
Rem USER_HISTORY$.PASSWORD
Rem CDB_LOCAL_ADMINAUTH$.PASSWD
Rem

update col$ set property = property + 8796093022208 - bitand(property, 8796093022208) where name = 'VERIFIER' and obj# = (select obj# from obj$ where name = 'XS$VERIFIERS' and owner# = (select user# from user$ where name = 'SYS') and remoteowner is NULL)
/

update col$ set property = property + 8796093022208 - bitand(property, 8796093022208) where name in ('PASSWORDX', 'AUTHPWDX', 'PASSWORD', 'AUTHPWD') and obj# = (select obj# from obj$ where name = 'LINK$' and owner# = (select user# from user$ where name = 'SYS') and remoteowner is NULL)
/

update col$ set property = property + 8796093022208 - bitand(property, 8796093022208) where name = 'COLKLC' and obj# = (select obj# from obj$ where name = 'ENC$' and owner# = (select user# from user$ where name = 'SYS') and remoteowner is NULL)
/

update col$ set property = property + 8796093022208 - bitand(property, 8796093022208) where name = 'PASSWORD' and obj# = (select obj# from obj$ where name = 'USER_HISTORY$' and owner# = (select user# from user$ where name = 'SYS') and remoteowner is NULL)
/

update col$ set property = property + 8796093022208 - bitand(property, 8796093022208) where name = 'PASSWD' and obj# = (select obj# from obj$ where name = 'CDB_LOCAL_ADMINAUTH$' and owner# = (select user# from user$ where name = 'SYS') and remoteowner is NULL)
/

Rem Bug 17459511: Mark pwd_verifier column of default_pwd$ as sensitive

update col$ set property = property + 8796093022208 - bitand(property, 8796093022208) where name = 'PWD_VERIFIER' and obj# = (select obj# from obj$ where name = 'DEFAULT_PWD$' and owner# = (select user# from user$ where name = 'SYS') and remoteowner is NULL)
/

Rem Bug 23733162: Mark PDB_CREATE$.SQLSTMT as sensitive.
Rem This may contain the admin user password verifiers.

update col$ set property = property + 8796093022208 - bitand(property, 8796093022208)
where name = 'SQLSTMT' and obj# =
(select obj# from obj$ where name = 'PDB_CREATE$'
 and owner# = (select user# from user$ where name = 'SYS')
 and remoteowner is NULL)
/

Rem Bug 23733162: Mark PDB_SYNC$.SQLSTMT,LONGSQLTXT as sensitive.
Rem These may contain user password verifiers.

update col$ set property = property + 8796093022208 - bitand(property, 8796093022208)
where name in ('SQLSTMT', 'LONGSQLTXT') and obj# =
(select obj# from obj$ where name = 'PDB_SYNC$'
 and owner# = (select user# from user$ where name = 'SYS')
 and remoteowner is NULL)
/

Rem Bug 24598595: Mark hist_head$, histgrm$ columns as sensitive.

update col$ set property = property + 8796093022208 - bitand(property, 8796093022208)
where name in ('MINIMUM', 'MAXIMUM', 'LOWVAL', 'HIVAL') 
  and obj# =
        (select obj# from obj$ 
         where name = 'HIST_HEAD$'
           and owner# = (select user# from user$ where name = 'SYS')
           and remoteowner is NULL)
/

update col$ set property = property + 8796093022208 - bitand(property, 8796093022208)
where name in ('ENDPOINT', 'EPVALUE', 'EPVALUE_RAW') 
 and obj# =
       (select obj# from obj$ 
        where name = 'HISTGRM$'
          and owner# = (select user# from user$ where name = 'SYS')
          and remoteowner is NULL)
/

Rem ====================== IMPORTANT =====================================

Rem Please make sure to mark the table's columns as sensitive before the 
Rem below update statement. Marking the table's column as sensitive
Rem after the below update statement will not set the tab$ property indicating
Rem that contains the sentivive column(s).

Rem Bug 26965236: Mark tables with sensitivity bit if one of their columns
Rem are marked as sensitive. 

update sys.tab$ set
property = property + (power(2,89))
where (bitand(property, power(2,89)) = 0) and obj# in
(select distinct o.obj# from sys.obj$ o, sys.col$ c
 where c.obj# = o.obj# and bitand(c.property, 8796093022208) = 8796093022208)
/

OHA YOOOO