Oracle DBMS_TSDP_MANAGE
Version 12.1.0.1

General Information
Library Note Morgan's Library Page Footer
The Library is currently in the process of being upgraded from Oracle Database Version 11.2.0.3 to 12.1.0.1. Demos are being upgraded to reflect the new Container paradigm as well as EBR (Edition Based Redefinition) and may contain references to CDBs, PDBs, and other objects you may not be familiar with such as CDB_OBJECTS_AE: Welcome to 12c.
Purpose Provides an interface to import and manage sensitive columns and sensitive column types in the database, and is used in conjunction with the DBMS_TSDP_PROTECT package with regard to transparent sensitive data protection (TSDP) policies.
AUTHID CURRENT_USER
Constants
Name Data Type Value
DB INTEGER 1
ADM INTEGER 2
CUSTOM INTEGER 3
Dependencies
DBA_TSDP_IMPORT_ERRORS DBA_TSDP_POLICY_TYPE TSDP_POLICY$
DBA_TSDP_POLICY_CONDITION DBMS_STANDARD TSDP_PROTECTION$
DBA_TSDP_POLICY_FEATURE DBMS_TSDP_LIB TSDP_SUBPOL$
DBA_TSDP_POLICY_PARAMETER TSDP$VALIDATION_CHECK TSDP_SENSITIVE_DATA$
DBA_TSDP_POLICY_PROTECTION TSDP_FEATURE_POLICY$ XMLTYPE
Documented Yes
Exceptions
Error Code Reason
ORA-45602 Schema <schema_name> does not exist.
ORA-45605 Invalid sensitive type <type_name_string>
First Available 12.1.0
Security Model Owned by SYS with no privileges granted
Source {ORACLE_HOME}/rdbms/admin/dbmstsdpm.sql
Subprograms
 
ADD_SENSITIVE_COLUMN
Used to add a Column to the Sensitive Column List dbms_tsdp_manage.add_sensitive_column(
schema_name    IN VARCHAR2,
table_name     IN VARCHAR2,
column_name    IN VARCHAR2,
sensitive_type IN VARCHAR2,
user_comment   IN VARCHAR2 DEFAULT NULL);
conn / as sysdba

ALTER SESSION SET CONTAINER = PDBORCL;

exec dbms_tsdp_manage.add_sensitive_type('FIN_TYPE', 'Finanical Information');

col policy_name format a30
col sensitive_type format a30

SELECT *
FROM dba_tsdp_policy_type;

exec dbms_tsdp_manage.add_sensitive_column('SCOTT', 'EMP', 'SAL', 'FIN_TYPE', 'Personal Financial Info.');

col schema_name format a12
col tsdp_policy format a20
col security_feature_policy format a20
col table_name format a11
col column_name format a11

SELECT *
FROM dba_tsdp_policy_protection;
 
ADD_SENSITIVE_TYPE
Used to create and add a Sensitive Column Type to the list Sensitive Column Types in the database dbms_tsdp_manage.add_sensitive_type(
sensitive_type IN VARCHAR2,
user_comment   IN VARCHAR2 DEFAULT NULL);
See ADD_SENSITIVE_COLUMN Demo Above
 
ALTER_SENSITIVE_COLUMN
Used to alter the Sensitive Type and/or the Comment of a Column in the Sensitive Column List dbms_tsdp_manage.alter_sensitive_column(
schema_name    IN VARCHAR2,
table_name     IN VARCHAR2,
column_name    IN VARCHAR2,
sensitive_type IN VARCHAR2,
user_comment   IN VARCHAR2 DEFAULT NULL);
exec dbms_tsdp_manage.alter_sensitive_column('SCOTT', 'EMP', 'SAL', 'SAL_TYPE');
 
DROP_SENSITIVE_COLUMN
Used to remove a Column from the Sensitive Column List dbms_tsdp_manage.drop_sensitive_column(
schema_name IN VARCHAR2 DEFAULT '%',
table_name  IN VARCHAR2 DEFAULT '%',
column_name IN VARCHAR2 DEFAULT '%');
exec dbms_tsdp_manage.drop_sensitive_column('SCOTT', 'EMP', 'SAL');
 
DROP_SENSITIVE_TYPE
Used to drop a Sensitive Column Type from the list Sensitive Column Types in the database dbms_tsdp_manage.drop_sensitive_type(sensitive_type IN VARCHAR2);
exec dbms_tsdp_manage.drop_sensitive_type('FIN_TYPE');
 
DROP_SENSITIVE_TYPE_SOURCE
Used to drop Sensitive Column Types corresponding to a Source from the list Sensitive Column Types in the database. dbms_tsdp_manage.drop_sensitive_type_source(source IN VARCHAR2);
See IMPORT_DISCOVERY_RESULT Demo Below
 
IMPORT_DISCOVERY_RESULT
Used to import Sensitive Columns for an ADM instance as a CLOB

Overload 1
dbms_tsdp_manage.import_discovery_result(
discovery_result IN CLOB,
discovery_source IN VARCHAR2,
force            IN BOOLEAN DEFAULT FALSE);
exec dbms_tsdp_manage.import_discovery_result('CLOB_SRC', UW_DRIMPORT_DEMO');

exec dbms_tsdp_manage.drop sensitive_type_source(UW_DRIMPORT_DEMO');
Used to import Sensitive Columns for an ADM instance as XMLType

Overload 2
dbms_tsdp_manage.import_discovery_result(
discovery_result IN XMLTYPE,
discovery_source IN VARCHAR2,
force            IN BOOLEAN DEFAULT FALSE);
exec dbms_tsdp_manage.import_discovery_result('XML_SRC', UW_DRIMPORT_DEMO', TRUE);

exec dbms_tsdp_manage.drop sensitive_type_source(UW_DRIMPORT_DEMO');
 
IMPORT_SENSITIVE_TYPES
Used to import a list of Sensitive Column Types from a source as a CLOB

Overload 1
dbms_tsdp_manage.import_sensitive_types(
sensitive_types IN CLOB,
source          IN VARCHAR2);
exec dbms_tsdp_manage.import_sensitive_types('CLOB_SRC', UW_TIMPORT_DEMO');
Used to import a list of Sensitive Column Types from a source as XMLType

Overload 2
dbms_tsdp_manage.import_sensitive_types(
sensitive_types IN XMLTYPE,
source          IN VARCHAR2);
exec dbms_tsdp_manage.import_discovery_result('XML_SRC', UW_TIMPORT_DEMO');
 
REMOVE_DISCOVERY_RESULT
Used to remove Sensitive Columns corresponding to an ADM instance dbms_tsdp_manage.remove_discovery_result(discovery_source IN VARCHAR2);
exec dbms_tsdp_manage.remove_discovery_result('UW_DRIMPORT_DEMO');

Related Topics
Data Masking
DBMS_TSDP_PROTECT
Packages
PSTDY_DATAPUMP_SUPPORT
Security
TSDP$DATAPUMP

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2014 Daniel A. Morgan All Rights Reserved