Oracle Feature Usage Procedures
Version 12.1.0.2

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.
These procedures support Oracle's Feature Usage Reporting: See link at page bottom.
AUTHID DEFINER
First Available 11.2
Security Model Owned by SYS with no privileges granted
Source Code (not wrapped) {ORACLE_HOME}/rdbms/admin/catfusrg.sql
 
DBMS_FEATURE_ACTIVE_DATA_GUARD (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Active Data Guard dbms_feature_active_data_guard(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_active_data_guard(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Active Data Guard usage not detected
 
DBMS_FEATURE_ADAPTIVE_PLANS (new 12.1.0.2)
Data Dictionary Objects
DBMS_LOB V$SQL X$KSPPCV
SYS_STUB_FOR_PURITY_ANALYSIS V$SQLCOMMAND X$KSPPI
Tracks the usage of adaptive execution plans dbms_feature_adaptive_plans(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB)
DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_adaptive_plans(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2:
3: Total number of queries: 501
Number of queries with an adaptive plan: 35
Percentage of queries with an adaptive plan:
6.98602794411177644710578842315369261477
Are the queries running in reporting mode ? : No
 
DBMS_FEATURE_ADV_IDXCMP (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detect Advanced Index Compression usage dbms_feature_adv_idxcmp(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_adv_idxcmp(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: ADVANCED Index Compression not detected
 
DBMS_FEATURE_ADV_TABCMP (new 12.1.0.2)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detect advanced table compression usage dbms_feature_adv_tabcmp(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_adv_tabcmp(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: ADVANCED Table Compression Not Detected
 
DBMS_FEATURE_APEX
Data Dictionary Objects
DBA_REGISTRY DBMS_ASSERT SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of APEX dbms_feature_apex(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_apex(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: APEX usage not detected
 
DBMS_FEATURE_ASM
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$ASM_DISK V$ASM_DISKGROUP
V$ASM_CLIENT    
Detects usage of ASM dbms_feature_asm(
is_used              OUT NUMBER,
total_diskgroup_size OUT NUMBER,
summary              OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_asm(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2:
3:
 
DBMS_FEATURE_AUDIT_OPTIONS (new 12.1.0.1)
Data Dictionary Objects
AUDIT$ SYS_STUB_FOR_PURITY_ANALYSIS V$PARAMETER
DBA_OBJ_AUDIT_OPTS V$OPTION  
Detects audit trail type and the number of system and object audit options available dbms_feature_audit_options(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_audit_options(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 0
3: AUDIT_TRAIL=DB; Number of system audit options=234; Number of object audit options=254
 
DBMS_FEATURE_AUM
Data Dictionary Objects
DBA_DATA_FILES DBA_TABLESPACES V$SYSTEM_PARAMETER
DBA_FEATURE_USAGE_STATISTICS SYS_STUB_FOR_PURITY_ANALYSIS V$UNDOSTAT
Detects usage of Automatic Undo Management dbms_feature_aum(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_aum(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 1
3: (Retention: NOGUARANTEE, TS Count: 1, Size MB: 735) (Undo Blocks: 9470, Max Concurrency: 7) (Snapshot Old Info - Begin Time: 2012-10-29 22:11:08, End Time: 2012-11-01 16:54:59, SSOLD Error Count: 0)
 
DBMS_FEATURE_AUTOSTA
Data Dictionary Objects
DBA_ADVISOR_EXECUTIONS DBA_ADVISOR_OBJECTS DBA_SQL_PROFILES
DBA_ADVISOR_EXEC_PARAMETERS DBA_ADVISOR_RECOMMENDATIONS DBMS_LOB
DBA_ADVISOR_FINDINGS DBA_FEATURE_USAGE_STATISTICS SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of auto-implemented SQL profiles dbms_feature_autosta(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_autosta(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 1
3: Execution count so far: 8, Executions with auto-implement: 0, SQL profiles recommended so far: 1, Projected DB Time Saved Automatically (s): 0
 
DBMS_FEATURE_AUTO_MEM
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$MEMORY_TARGET_ADVICE V$SYSTEM_EVENT
V$MEMORY_DYNAMIC_COMPONENTS V$PGASTAT  
Detects usage of automatic memory management dbms_feature_auto_mem(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_auto_mem(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 0
3:
:memory_target:1291845632:sga_max_size:780140544:memory_max_target:1291845632:co
mp:shared pool:cur:369098752:min:369098752:max:369098752:usr:0:comp:large
pool:cur:8388608:min:8388608:max:8388608:usr:0:comp:java
pool:cur:25165824:min:8388608:max:25165824:usr:0:comp:streams
pool:cur:8388608:min:8388608:max:8388608:usr:0:comp:SGA
Target:cur:780140544:min:780140544:max:780140544:usr:0:comp:DEFAULT buffer
cache:cur:360710144:min:360710144:max:377487360:usr:0:comp:PGA
Target:cur:511705088:min:511705088:max:511705088:usr:0:mem tgt
adv::msz:616:sf:.5:time:941:tf:1.0053:msz:924:sf:.75:time:936:tf:1.0004:msz:1232
:sf:1:time:936:tf:1:msz:1540:sf:1.25:time:936:tf:1:msz:1848:sf:1.5:time:936:tf:1
:msz:2156:sf:1.75:time:936:tf:1:msz:2464:sf:2:time:936:tf:1:event:SGA:
allocation:waits:2:time:3
 
DBMS_FEATURE_AUTO_REOPT (new 12.1.0.2)
Data Dictionary Objects
DBMS_LOB V$SQL X$KSPPCV
SYS_STUB_FOR_PURITY_ANALYSIS V$SQLCOMMAND X$KSPPI
Track the use of adaptive reoptimization dbms_feature_auto_reopt(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_auto_reopt(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2:
3: Total number of queries: 563
Number of reoptimizable queries: 3
Percentage of reoptimizable queries:
.5328596802841918294849023090586145648313
 
DBMS_FEATURE_AUTO_SGA
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$MEMORY_DYNAMIC_COMPONENTS V$SYSTEM_EVENT
Detects usage of Automatic SGA Management dbms_feature_auto_sga(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_auto_sga(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Automatic SGA Tuning usage not detected
 
DBMS_FEATURE_AUTO_SSM
Data Dictionary Objects
DBA_DATA_FILES DBA_TABLESPACES SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of Automatic Segment Space Managed tablespaces dbms_feature_auto_ssm(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_auto_ssm(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 4
3: (Segment Space Management: AUTO, TS Count: 4, Size MB: 1320.625) (Segment Space Management: MANUAL, TS Count: 2, Size MB: 800)
 
DBMS_FEATURE_AWR
Data Dictionary Objects
DBA_HIST_SNAPSHOT WRH$_STAT_NAME WRI$_DBU_USAGE_SAMPLE
SYS_STUB_FOR_PURITY_ANALYSIS WRH$_SYS_TIME_MODEL WRM$_SNAPSHOT
V$DATABASE    
Counts snapshots since last sample also counts DB time and DB cpu over last 7 days dbms_feature_awr(
feature_boolean_out OUT NUMBER,
aux_count_out       OUT NUMBER,
feature_info_out    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_awr(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2:
3: DBtime:1703.45,DBcpu:794.72
 
DBMS_FEATURE_BACKUP_ENCRYPTION
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Counts usage of RMAN Backup Encryption dbms_feature_backup_encryption(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_backup_encryption(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_BA_OWNER (new 12.1.0.2)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of DBLRA dbms_feature_ba_owner(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
info            OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_ba_owner(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
DECLARE
*
ERROR at line 1:
ORA-06550: line 1, column 14:
PL/SQL: ORA-00904: "DBMS_BA_OWNER": invalid identifier
-- this looks to be an Oracle bug
ORA-06550: line 1, column 7:
PL/SQL: SQL Statement ignored
ORA-06512: at "SYS.DBMS_FEATURE_BA_OWNER", line 10
ORA-06512: at line 6
 
DBMS_FEATURE_CDC
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Counts usage of Control Data Capture dbms_feature_cdc(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_cdc(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: CDC usage not detected
 
DBMS_FEATURE_CONCURRENT_STATS (new 12.1.0.1)
Data Dictionary Objects
DBA_OPTSTAT_OPERATIONS DBMS_STATS SYS_STUB_FOR_PURITY_ANALYSIS
DBMS_LOG DUAL XMLTYPE
Track concurrent stats gathering usage dbms_feature_concurrent_stats(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_concurrent_stats(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Time interval covred by dba_optstat_operatoins: 07/03/2103 - 07/03/2013
Total Number of All Stats Operations: 136
Total Number of Gather Stats Operations: 134
Total Number of concurrent Operations: 0.
Type of concurrnet operations with their frequencies:
Current value of CONCURRENT preference: OFF
 
DBMS_FEATURE_DATABASE_ODM (new 12.1.0.2)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$OPTION  
Detects usage of Oracle Data Mining dbms_feature_database_odm(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_database_odm(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_DATABASE_VAULT
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS USER$ V$OPTION
Detects usage of Database Vault dbms_feature_database_vault(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_database_vault(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_DATA_GUARD
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Data Guard dbms_feature_data_guard(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_data_guard(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Data Guard usage not detected
 
DBMS_FEATURE_DATA_REDACTION (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Data Redaction dbms_feature_data_redaction(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_data_redaction(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Data Redaction usage not detected
 
DBMS_FEATURE_DBFS_CONTENT (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of DBFS_CONTENT to display the path items from all available content stores dbms_feature_dbfs_content(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_dbfs_content(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: DBFS Content feature not in use.
 
DBMS_FEATURE_DBFS_HS (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of DBMFS_HS (hierarchical) content stores dbms_feature_dbfs_hs(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_dbfs_hs(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: DBFS HS feature not in use.
 
DBMS_FEATURE_DBFS_SFS (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of DBFS content storage administration sample implemention dbms_feature_dbfs_sfs(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_dbfs_sfs(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: DBFS SFS feature is not in use.
 
DBMS_FEATURE_DEFERRED_SEG_CRT
Data Dictionary Objects
IND$ LOBFRAG$ TABPART$
INDPART$ SEG$ TABSUBPART$
INDSUBPART$ SYS_STUB_FOR_PURITY_ANALYSIS V$SYSTEM_PARAMETER
LOB$ TAB$  
Detects usage of Deferred Segment Creation dbms_feature_deferred_seg_crt(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_deferred_seg_crt(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 2
2: 1701
3: Deferred Segment Creation Parameter:1 Total Deferred Segments:1701 Total Created Segments:5965 Table Segments:434 Index Segments:1138 Lob Segments:129 Table Partition Segments:0 Index Partition Segments:0 Lob Partition Segments:0 Table SubPartition Segments:0 Index SubPartition Segments:0 Lob SubPartition Segments:0
 
DBMS_FEATURE_DMU
Data Dictionary Objects
PROPS$ SYS_STUB_FOR_PURITY_ANALYSIS WRI$_DBU_USAGE_SAMPLE
Reports usage of Oracle Database Migration Assistant for Unicode dbms_feature_dmu(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_dmu(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: DMU usage not detected
 
DBMS_FEATURE_DYN_SGA
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$MEMORY_DYNAMIC_COMPONENTS V$SYSTEM_EVENT
Detects usage of Dynamic SGA dbms_feature_dyn_sga(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_dyn_sga(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Dynamic SGA usage not detected
 
DBMS_FEATURE_EMX (new 12.1.0.2)
Data Dictionary Objects
DBA_FEATURE_USAGE_STATISTICS SYS_STUB_FOR_PURITY_ANALYSIS XMLTYPE
DUAL X$KEXSVFU  
Detects usage of EM Express dbms_feature_emx(
feature_boolean OUT NUMBER,
num_cells       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_emx(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: <emx_usage time_unit="us"></emx_usage>
 
DBMS_FEATURE_EXADATA
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Exadata storage dbms_feature_extadata(
feature_boolean OUT NUMBER,
num_cells       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_exadata(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: EXADATA usage not detected
 
DBMS_FEATURE_EXTENSIBILITY
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Extensibility Features dbms_feature_extensibility(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_extensibility(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: EXTENSIBILITY usage not detected
 
DBMS_FEATURE_FGA_AUDIT (new 12.1.0.1)
Data Dictionary Objects
DBA_AUDIT_POLICIES SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of Fine Grained Auditing dbms_feature_fga_audit(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_fga_audit(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Number of FGA policies=0; Number of Enabled FGA policies=0; Number of FGA policies with audit_condition=0; Number of FGA policies with column-level audit=0; Number of FGA policies with handler=0; Number of FGA policies with DB audit_trail=0; Number of FGA policies with XML audit_trail=0
 
DBMS_FEATURE_GATEWAYS (new 12.1.0.2)
Data Dictionary Objects
PLITBLM SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of Oracle database gateways dbms_feature_gateways(
feature_boolean OUT NUMBER,
num_cells       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_gateways(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: This feature is not used.
 
DBMS_FEATURE_GOLDENGATE (new 12.1.0.1)
Data Dictionary Objects
DBA_APPLY GV$GOLDENGATE_CAPABILITIES SYS_STUB_FOR_PURITY_ANALYSIS
DBA_CAPTURE    
Detects usage of Golden Gate Replication dbms_feature_goldengate(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_goldengate(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: tcap:0 dscap:0 app:0 dblogread:0 tdup:0 suptrig:0 dtrigopt:0
 
DBMS_FEATURE_HCC
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Hybrid Columnar Compression dbms_feature_hcc(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_hcc(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Hybrid Columnar Compression not detected
 
DBMS_FEATURE_HCCRLL (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detect usage of Hybrid Columnar Compression
Row Level Locking
dbms_feature_hccrll(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_hccrll(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Hybrid Columnar Compression Row Level Locking not detected
 
DBMS_FEATURE_HEATMAP (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Tracks heatmap feature usage dbms_feature_heatmap(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_heatmap(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 0
3: Number of Tablespaces Traced: 1, Number of Segments Tracked: 1, Number of Blocks Tracked in Memory: 0
 
DBMS_FEATURE_IDH (new 12.1.0.1)
Data Dictionary Objects
DBA_ROLE_PRIVS SYS_STUB_FOR_PURITY_ANALYSIS  
Detect In-Database Hadoop usage dbms_feature_idh(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_idh(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: In-Database Hadoop usage not detected
 
DBMS_FEATURE_ILM (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects Information Lifecycle Management usage dbms_feature_ilm(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_ilm(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Information Lifecycle Management not detected
 
DBMS_FEATURE_IMA (new 12.1.0.2)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects In-Memory Aggregation usage dbms_feature_ima(
feature_boolean OUT NUMBER,
num_cells       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_ima(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: In-Memory Aggregation Not Detected
 
DBMS_FEATURE_IMC (new 12.1.0.2)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects In-Memory Column Store usage dbms_feature_imc(
feature_boolean OUT NUMBER,
num_cells       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_imc(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: In-Memory Column Store Not Detected
 
DBMS_FEATURE_IOT (new 12.1.0.2)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects Index Organized Table usage dbms_feature_iot(
feature_boolean OUT NUMBER,
num_cells       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_iot(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Index Organized Tables Not Detected
 
DBMS_FEATURE_JOB_SCHEDULER
Data Dictionary Objects
ALL_SCHEDULER_DB_DESTS DBA_SCHEDULER_CHAIN_STEPS DBA_SCHEDULER_JOB_CLASSES
ALL_SCHEDULER_EXTERNAL_DESTS DBA_SCHEDULER_CREDENTIALS DBA_SCHEDULER_NOTIFICATIONS
ALL_SCHEDULER_GROUPS DBA_SCHEDULER_DB_DESTS DBA_SCHEDULER_PROGRAMS
ALL_SCHEDULER_JOBS DBA_SCHEDULER_DESTS DBA_SCHEDULER_PROGRAM_ARGS
ALL_SCHEDULER_PROGRAMS DBA_SCHEDULER_FILE_WATCHERS DBA_SCHEDULER_SCHEDULES
DBA_JOBS DBA_SCHEDULER_GROUPS DBA_SCHEDULER_WINDOWS
DBA_SCHEDULER_CHAINS DBA_SCHEDULER_JOBS SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of Job Scheduler dbms_feature_job_scheduler(
is_used    OUT NUMBER,
nr_of_jobs OUT NUMBER,
summary    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_job_scheduler(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 4
2: 4
3:
JNRA:26,JNRU:4,DJOBS:0,JTDPLS:12,JTDPRO:5,JTDSTO:9,JTIPLS:13,JTISTO:13,JDSCAL:17
,JDSNAM:5,JDSONC:1,JDSWGR:3,JISCAL:22,JISONC:1,JISWGR:3,JAC:1,JAA:4,JAM:4,JAX:4,
JSTREG:26,JRS:26,JMRD:0,JSL:0,JII:0,JAR:0,JFLW:0,JRE:0,JDIS:5,JPI:0,PRTPLS:2,PRT
STO:8,PAC:2,PAA:11,PAM:11,PAX:12,SSTCAL:4,PAN:8,PA_:14,PMJNA:1,PMJOW:1,JCNT:14,J
CSV:0,JCCG:9,LLFAI:2,LLFUL:9,LLOFF:1,LLRUN:2,WIPLO:9,WINR:2,SWTCA:9,CCNT:0,CEVI:
,CURS:,CNRR:,CNRS:,CAVS:,CMDS:,CMXS:,CSRD:0,CRNR:0,CRDB:,CSWD:,DSDN:0,FWNR:0,FWS
S:,FWDS:,FWMF,GWINN:4,GWINA:7,GWINX:7,GWINM:7,SCHNRA:4,SCHNNR:4,CAFD:6,CAFH:8,CA
FM:1,CAFMI:5,CAFW:1,CAOF:0,CASC:0,CABS:0,CAIC:0,CAEX:0,CAIS:0,SNNR:0
 
DBMS_FEATURE_JSON (new 12.1.0.2)
Data Dictionary Objects
DBA_IND_EXPRESSIONS DBMS_LOB SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of JSON dbms_feature_json(
feature_boolean OUT NUMBER,
num_cells       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_json(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: { "version":1, "jsonColumns": {"total":0 , "varchar2":0 , "clob":0 , "blob":0 , "raw":0 }, "rowCount": {"maxCount":0 , "minCount":0 ,
"avgCount":0 }, "views": {"total":0 , "jsonValue":0 , "jsonExists":0 , "jsonQuery":0 , "jsonTable":0 }, "funcIdx": {"jsonValue":0 ,
"jsonExists":0 , "jsonQuery":0 }, "ctxIdx": {"jsonCtxIdx":0 , "bsonCtxIdx":0 } }
 
DBMS_FEATURE_LABEL_SECURITY (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Label Security dbms_feature_label_security(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_label_security(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: No. of policies=0
 
DBMS_FEATURE_LMT
Data Dictionary Objects
DBA_DATA_FILES DBA_TABLESPACES SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of Locally Managed Tablespaces dbms_feature_lmt(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_lmt(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 4
3: (Extent Management: LOCAL, TS Count: 4, Size MB: 2400)
 
DBMS_FEATURE_MOVE_DATAFILE (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
detect Online Move Datafile usage dbms_feature_move_datafile(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_move_datafile(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Online Move Datafile usage not detected
 
DBMS_FEATURE_OBJECT
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects the use of Object Types dbms_feature_object(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_object(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: OBJECT usage not detected
 
DBMS_FEATURE_ONLINE_REDEF (new 12.1.0.1)
Data Dictionary Objects
REDEF$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects use of the DBMS_REDEFINITION package dbms_feature_online_redef(
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_object(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Online Redefinition usage not detected!
 
DBMS_FEATURE_PARTITION_SYSTEM
Data Dictionary Objects
IND$ OPQTYPE$ TABCOMPART$
INDCOMPART$ PARTOBJ$ TABPART$
INDPART$ SEG$ TABSUBPART$
INDSUBPART$ SYS_STUB_FOR_PURITY_ANALYSIS USER$
OBJ$    
Detects user usage of partitioning dbms_feature_partition_system(
is_used    OUT NUMBER,
data_ratio OUT NUMBER,
clob_rest  OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_partition_system(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 21.39
3:
1:T:INTERVAL::1048575-9::1::::|1:I:INTERVAL::1048575-9::1::L:NORMAL:NU|1:I:::::4::GNP:NORMAL:U|1:I:I
::LP:NORMAL:NU|2:T:INTERVAL::1048575-9::1::::|2:I:INTERVAL::1048575-9::1::LP:NORMAL:U|2:I:INTERVAL::
|2:I:INTERVAL::1048575-9::1::L:NORMAL:NU|2:I:::::::GNP:NORMAL:U|3:T:INTERVAL::1048575-9::1::::|4:T:H
ANGE::6::2::::|5:I:RANGE::6::2::LP:NORMAL:U|6:T:RANGE::6::2::::|6:I:RANGE::6::2::L:NORMAL:NU|6:I:RAN
|7:T:RANGE::6::2::::|7:I:RANGE::6::2::LP:NORMAL:U|8:T:RANGE::6::2::::|8:I:RANGE::6::2::LP:NORMAL:U|9
I:RANGE::6::2::LP:NORMAL:U|10:T:RANGE::2::2::::|10:I:RANGE::2::2::LP:NORMAL:U|11:T:RANGE::2::2::::|1
ORMAL:U|12:T:RANGE::6::2::::|12:I:RANGE::6::2::LP:NORMAL:U|13:T:RANGE::6::2::::|13:I:RANGE::6::2::LP
:6::2::::|14:I:RANGE::6::2::LP:NORMAL:U|15:T:RANGE::6::2::::|15:I:RANGE::6::2::LP:NORMAL:U|16:T:RANG
E::6::2::LP:NORMAL:U|17:T:RANGE::6::2::::|17:I:RANGE::6::2::LP:NORMAL:U|18:T:RANGE::6::2::::|18:I:RA
U|19:T:RANGE::6::2::::|19:I:RANGE::6::2::LP:NORMAL:U|20:T:RANGE::6::2::::|20:I:RANGE::6::2::LP:NORMA
:::|21:I:RANGE::6::2::LP:NORMAL:U|22:T:RANGE::6::2::::|22:I:RANGE::6::2::LP:NORMAL:U|23:T:RANGE::2::
2::LP:NORMAL:U|24:T:RANGE::2::2::::|24:I:RANGE::2::2::LP:NORMAL:U|25:T:RANGE::6::2::::|25:I:RANGE::6
:RANGE::6::2::::|26:I:RANGE::6::2::LP:NORMAL:U|27:T:RANGE::6::2::::|27:I:RANGE::6::2::LP:NORMAL:U|28
:I:RANGE::6::2::LP:NORMAL:U|29:T:RANGE::2::2::::|29:I:RANGE::2::2::LP:NORMAL:U|30:T:RANGE::1::1::::|
31:I:RANGE::1::1::LP:NORMAL:NU|31:I:RANGE::1::1::LP:NORMAL:NU|31:I:RANGE::1::1::LP:NORMAL:U|32:T:RAN
GE::1::1::LP:NORMAL:U|32:I:RANGE::1::1::LP:NORMAL:NU|33:T:RANGE::1::1::::|33:I:RANGE::1::1::LP:NORMA
::LP:NORMAL:U|34:T:RANGE::1::1::::|34:I:RANGE::1::1::LP:NORMAL:NU|34:I:RANGE::1::1::LP:NORMAL:NU|34:
MAL:U|35:T:RANGE::1::1::::|35:I:RANGE::1::1::LP:NORMAL:U|36:T:RANGE::1::1::::|36:I:RANGE::1::1::LP:N
::1::::|37:I:RANGE::1::1::LP:NORMAL:U|38:T:RANGE::1::1::::|38:I:RANGE::1::1::LP:NORMAL:NU|38:I:RANGE
39:T:RANGE::1::1::::|39:I:RANGE::1::1::LP:NORMAL:NU|40:T:RANGE::1::1::::|40:I:RANGE::1::1::LP:NORMAL
:LP:NORMAL:NU|41:T:RANGE::1::1::::|41:I:RANGE::1::1::LP:NORMAL:NU|41:I:RANGE::1::1::LP:NORMAL:NU|42:
I:RANGE::1::1::LP:NORMAL:NU|42:I:RANGE::1::1::LP:NORMAL:NU|42:I:RANGE::1::1::LP:NORMAL:NU|43:T:RANGE
::1::1::LP:NORMAL:NU|44:T:RANGE::1::1::::|44:I:RANGE::1::1::LP:NORMAL:NU|45:T:RANGE::1::1::::|45:I:R
:NU|45:I:RANGE::1::1::LP:NORMAL:NU|46:T:RANGE::1::1::::|46:I:RANGE::1::1::LP:NORMAL:NU|47:T:RANGE::1
::1::LP:NORMAL:NU|47:I:RANGE::1::1::LP:NORMAL:NU|48:T:RANGE::1::1::::|48:I:RANGE::1::1::LP:NORMAL:NU
:NORMAL:NU|49:T:RANGE::1::1::::|49:I:RANGE::1::1::LP:NORMAL:NU|49:I:RANGE::1::1::LP:NORMAL:NU|50:T:R
ANGE::1::1::LP:NORMAL:NU|51:T:RANGE::1::1::::|51:I:RANGE::1::1::LP:NORMAL:NU|52:T:RANGE::1::1::::|52
RMAL:NU|53:T:RANGE::1::1::::|53:I:RANGE::1::1::LP:NORMAL:NU|54:T:RANGE::1::1::::|54:I:RANGE::1::1::L
E::1::1::::|55:I:RANGE::1::1::LP:NORMAL:NU|56:T:RANGE::1::1::::|56:I:RANGE::1::1::LP:NORMAL:NU|57:T:
RANGE::1::1::LP:NORMAL:NU|58:T:RANGE::1::1::::|58:I:RANGE::1::1::LP:NORMAL:NU|58:I:RANGE::1::1::LP:N
1::1::::|59:I:RANGE::1::1::LP:NORMAL:NU|60:T:RANGE::1::1::::|60:I:RANGE::1::1::LP:NORMAL:NU|61:T:RAN
GE::1::1::LP:NORMAL:NU|62:T:RANGE::1::1::::|62:I:RANGE::1::1::LP:NORMAL:NU|62:I:RANGE::1::1::LP:NORM
1::::|63:I:RANGE::1::1::LP:NORMAL:NU|64:T:RANGE::1::1::::|64:I:RANGE::1::1::LP:NORMAL:NU|65:T:RANGE:
:1::1::LP:NORMAL:NU|66:T:RANGE::1::1::::|66:I:RANGE::1::1::LP:NORMAL:NU|67:T:RANGE::1::1::::|67:I:RA
NU|68:T:RANGE::1::1::::|68:I:RANGE::1::1::LP:NORMAL:NU|69:T:RANGE::1::1::::|69:I:RANGE::1::1::LP:NOR
:1::::|70:I:RANGE::1::1::LP:NORMAL:NU|70:I:RANGE::1::1::LP:NORMAL:U|71:T:LIST::1::1::::|71:I:LIST::1
:LIST:HASH:1:32-32:1:1:::|73:T:INTERVAL::1048575-9::1::::|73:I:INTERVAL::1048575-9::1::L:LOB:U|74:T:
1::::|75:T:RANGE::1::1::::|76:T:LIST::1::1::::|76:I:LIST::1::1::L:NORMAL:U|76:I:LIST::1::1::L:LOB:U|
77:I:RANGE::1::1::LP:NORMAL:NU|77:I:RANGE::1::1::L:NORMAL:NU|77:I:RANGE::1::1::L:NORMAL:NU|77:I:RANG
:XML-RANGE::3::1::::|78:I:RANGE::3::1::L:LOB:U|79:T:RANGE::1::1::::|79:I:RANGE::1::1::LP:NORMAL:NU|7
RMAL:NU|79:I:RANGE::1::1::L:NORMAL:NU|79:I:RANGE::1::1::L:LOB:U|
 
DBMS_FEATURE_PARTITION_USER
Data Dictionary Objects
CDC_CHANGE_TABLES$ OBJ$ TABCOMPART$
IND$ OPQTYPE$ TABPART$
INDCOMPART$ PARTOBJ$ TABSUBPART$
INDPART$ SEG$ USER$
INDSUBPART$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects user usage of partitioning dbms_feature_partition_user(
is_used    OUT NUMBER,
data_ratio OUT NUMBER,
clob_rest  OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_partition_user(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
SQL> DECLARE
2 i NUMBER;
3 j NUMBER;
4 k CLOB;
5 BEGIN
6 dbms_feature_partition_user(i, j, k);
7 dbms_output.put_line('1: ' || i);
8 dbms_output.put_line('2: ' || j);
9 dbms_output.put_line('3: ' || k);
10 END;
11 /
1: 1
2: 21.39
3:
1:T:RANGE::1::1::::|1:I:RANGE::1::1::L:NORMAL:NU|1:I:RANGE::1::1::L:LOB:U|1:I:RANGE::1::1::L:NORMAL:
P:NORMAL:NU|
 
DBMS_FEATURE_PILLAR_EHCC (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$SYSSTAT  
Detects usage of Pillar Hybrid Columnar Compression dbms_feature_pillar_ehcc(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_pillar_ehcc(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: EHCC on Pillar: 0
 
DBMS_FEATURE_PILLAR_STORAGE (new 12.1.0.1)
Data Dictionary Objects
KDZSTORAGETYPE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of Pillar Storage and returns the count and tablespace names dbms_feature_pillar_storage(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_pillar_storage(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: TS on Pillar: 0
 
DBMS_FEATURE_PLSQL_NATIVE
Data Dictionary Objects
NCOMP_DLL$ SYS_STUB_FOR_PURITY_ANALYSIS V$SYSAUX_OCCUPANTS
OBJ$ USER$  
Detects usage of PL/SQL native compilation dbms_feature_plsql_native(
o_is_used   OUT NUMBER,
o_aux_count OUT NUMBER,
o_report    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
k CLOB;
BEGIN
  dbms_feature_plsql_native(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: <plsqlNativeReport date ="01-nov-2012 18:22">
<owner name="97" interpreted="1009"/>
<owner name="CTXSYS"
interpreted="185"/>
<owner name="DBSNMP" interpreted="15"/>
<owner name="98" interpreted="19"/>
<owner name="1279990"
interpreted="124"/>
<owner name="EXFSYS" interpreted="112"/>
<owner name="93" interpreted="1"/>
<owner name="31"
interpreted="22"/>
<owner name="91" interpreted="93"/>
<owner name="MDSYS" interpreted="555"/>
<owner name="OLAPSYS"
interpreted="2"/>
<owner name="35" interpreted="6"/>
<owner name="ORDPLUGINS" interpreted="10"/>
<owner name="ORDSYS"
interpreted="552"/>
<owner name="13" interpreted="1"/>
<owner name="SYS" interpreted="3407"/>
<owner name="SYSTEM"
interpreted="6"/>
<owner name="WMSYS" interpreted="107"/>
<owner name="XDB" interpreted="206"/>
</plsqlNativeReport>
 
DBMS_FEATURE_PRIV_CAPTURE (new 12.1.0.1)
Data Dictionary Objects
CAPTURE_RUN_LOG$ PRIV_CAPTURE$ SYS_STUB_FOR_PURITY_ANALYSIS
Detects Privilege Capture usage dbms_feature_priv_capture(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_priv_capture(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 1
3:
 
DBMS_FEATURE_QOSM
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS X$KYWMPCTAB  
Detects usage of Oracle Quality of Service Manager dbms_feature_qosm(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_qosm(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2:
3:
 
DBMS_FEATURE_RAC
Data Dictionary Objects
GV$INSTANCE SYS_STUB_FOR_PURITY_ANALYSIS V$SYSTEM_PARAMETER
GV$LICENSE    
Detects whether the database is part of a RAC cluster dbms_feature_rac(
is_used   OUT NUMBER,
nodes     OUT NUMBER,
clob_rest OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rac(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2:
3:
 
DBMS_FEATURE_RAS (new 12.1.0.1)
Data Dictionary Objects
DBA_ROLE_PRIVS SYS_STUB_FOR_PURITY_ANALYSIS XS$OBJ
DBA_XS_APPLIED_POLICIES XS$ACE XS$PRIN
DBA_XS_ROLE_GRANTS XS$ACL XS$PRIV
RXS$SESSIONS XS$DSEC XS$SECCLS
Detects Real Application Security user dbms_feature_ras(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_ras(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 0
3: Real Application Security usage not detected
 
DBMS_FEATURE_REGISTER_ALLFEAT
Data Dictionary Objects
DBA_ADVISOR_DEFINITIONS DBMS_FEATURE_USAGE SYS_STUB_FOR_PURITY_ANALYSIS
Run during installation and registers all features dbms_feature_register_allfeat;
exec dbms_feature_register_allfeat;
 
DBMS_FEATURE_REGISTER_ALLHWM
Data Dictionary Objects
DBMS_FEATURE_USAGE SYS_STUB_FOR_PURITY_ANALYSIS  
Run during installation and registers all feature high water marks dbms_feature_register_allhwm;
exec dbms_feature_register_allhwm;
 
DBMS_FEATURE_RESOURCE_MANAGER
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of resource manager dbms_feature_resource_manager(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_resource_manager(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Resource Manager usage not detected
 
DBMS_FEATURE_RMAN_BACKUP
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of RMAN for backup dbms_feature_rman_backup(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rman_backup(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_RMAN_BASIC
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of RMAN BASIC compression dbms_feature_rman_basic(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rman_basic(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_RMAN_BZIP2
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of BZIP2 for Backup Compression dbms_feature_rman_bzip2(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rman_bzip2(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_RMAN_DISK_BACKUP
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of RMAN for disk backup dbms_feature_rman_disk_backup(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rman_disk_backup(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_RMAN_HIGH
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of RMAN HIGH compression dbms_feature_rman_high(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rman_high(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_RMAN_LOW
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of RMAN LOW compression dbms_feature_rman_low(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rman_low(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_RMAN_MEDIUM
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of RMAN MEDIUM compression dbms_feature_rman_medium(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rman_medium(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_RMAN_TAPE_BACKUP
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of RMAN for tape backup dbms_feature_rman_tape_backup(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rman_tape_backup(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_RMAN_ZLIB
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of ZLIB Compression dbms_feature_rman_zlib(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rman_zlib(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_ROND (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS X$KJIDT  
Detect RAC One Node usage dbms_feature_rond(
is_used      OUT NUMBER,
aux_count    OUT NUMBER,
feature_info OUT CLOB;
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rond(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Database type query returned warning
 
DBMS_FEATURE_RULESMANAGER
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Rules Manager and Expression Filters dbms_feature_rulesmanager(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_rulesmanager(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Rules Manager/Expression Filter usage not detected
 
DBMS_FEATURE_SECUREFILES_SYS
Data Dictionary Objects
LOB$ OBJ$ TAB$
LOBCOMPPART$ PARTLOB$ USER$
LOBFRAG$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of Oracle SecureFiles by SYS, SYSTEM, and XDB dbms_feature_securefiles_sys(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_securefiles_sys(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 402
2: 402
3:
 
DBMS_FEATURE_SECUREFILES_USR
Data Dictionary Objects
LOB$ OBJ$ TAB$
LOBCOMPPART$ PARTLOB$ USER$
LOBFRAG$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of Oracle SecureFiles by users other than SYS, SYSTEM, or XDB dbms_feature_securefiles_usr(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_securefiles_usr(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 327
2: 327
3:
 
DBMS_FEATURE_SEGADV_USER
Data Dictionary Objects
DBA_ADVISOR_EXECUTIONS DBMS_LOB WRI$_ADV_MESSAGE_GROUPS
DBA_ADVISOR_TASKS SYS_STUB_FOR_PURITY_ANALYSIS WRI$_ADV_RECOMMENDATIONS
DBA_FEATURE_USAGE_STATISTICS WRI$_ADV_FINDINGS  
Detects usage of Segment Advisor by tasks not named like 'SYS_AUTO_SPCADV%' dbms_feature_segadv_user(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_segadv_user(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Executions since last sample: 0, Total Executions: 0, Total Recommendations:
0, Projected Space saving (byte): 0
 
DBMS_FEATURE_SEG_MAIN_ONL_COMP (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS TABPART$ TABSUBPART$
Tracks the segments compressed as a result
of an online partition maintenance operation like MOVE
dbms_feature_seg_main_onl_comp(
isAnyFragCompressed OUT NUMBER,
numFragsCompressed  OUT NUMBER,
fragObjNumList      OUT CLOB)
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_seg_main_onl_comp(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
 
DBMS_FEATURE_SERVICES
Data Dictionary Objects
DBA_SERVICES SYS_STUB_FOR_PURITY_ANALYSIS V$PARAMETER
GV$ACTIVE_SERVICES    
Detects usage of Services dbms_feature_services(
is_used      OUT NUMBER,
hwm          OUT NUMBER,
feature_info OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_services(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Services usage not detected
 
DBMS_FEATURE_SFCOMPRESS_SYS
Data Dictionary Objects
LOB$ OBJ$ TAB$
LOBCOMPPART$ PARTLOB$ USER$
LOBFRAG$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of SecureFile Compression by SYS, SYSTEM, and XDB dbms_feature_sfcompress_sys(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_sfcompress_sys(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_SFCOMPRESS_USR
Data Dictionary Objects
LOB$ OBJ$ TAB$
LOBCOMPPART$ PARTLOB$ USER$
LOBFRAG$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of SecureFile Compression by a user other than SYS, SYSTEM, and XDB dbms_feature_sfcompress_usr(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_sfcompress_usr(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_SFDEDUP_SYS
Data Dictionary Objects
LOB$ OBJ$ TAB$
LOBCOMPPART$ PARTLOB$ USER$
LOBFRAG$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of SecureFile Deduplication by SYS, SYSTEM, and XDB dbms_feature_sfdedup_sys(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_sfdedup_sys(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_SFDEDUP_USR
Data Dictionary Objects
LOB$ OBJ$ TAB$
LOBCOMPPART$ PARTLOB$ USER$
LOBFRAG$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of SecureFile Deduplication by users other than SYS, SYSTEM, and XDB dbms_feature_sfdedup_usr(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_sfdedup_usr(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_SFENCRYPT_SYS
Data Dictionary Objects
LOB$ OBJ$ TAB$
LOBCOMPPART$ PARTLOB$ USER$
LOBFRAG$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of SecureFile Encryption by SYS, SYSTEM, and XDB dbms_feature_sfencrypt_sys(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_sfencrypt_sys(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_SFENCRYPT_USR
Data Dictionary Objects
LOB$ OBJ$ TAB$
LOBCOMPPART$ PARTLOB$ USER$
LOBFRAG$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of SecureFile Encryption by other than SYS, SYSTEM, and XDB dbms_feature_sfencrypt_usr(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_sfencrypt_usr(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_SPD (new 12.1.0.1)
Data Dictionary Objects
DBA_SQL_PLAN_DIRECTIVES DBMS_SPD X$KSPPCV
DBA_SQL_PLAN_DIR_OBJECTS DUAL X$KSPPI
DBMS_LOB SYS_STUB_FOR_PURITY_ANALYSIS  
Detect statistics incremental maintenance usage dbms_feature_spd(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_spd(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 3
2: 87
3: Number of directives with type, DYNAMIC_SAMPLING: 87
Number of Directives with reason, SINGLE TABLE CARDINALITY MISESTIMATE: 45
Number of Directives with reason, JOIN CARDINALITY MISESTIMATE: 36
Number of Directives with reason, GROUP BY CARDINALITY MISESTIMATE: 6
Number of Directives with state, PERMANENT: 16
Number of Directives with state, MISSING_STATS: 5
Number of Directives with state, HAS_STATS: 28
Number of Directives with state, NEW: 38
Number of Directive objects: 237, subobjects: 93
spd_retention_weeks: 53
_sql_plan_directive_mgmt_control: 3
_optimizer_dsdir_usage_control: 126
 
DBMS_FEATURE_STATS_INCREMENTAL
Data Dictionary Objects
ALL_TAB_STAT_PREFS DBMS_STATS SYS_STUB_FOR_PURITY_ANALYSIS
DBMS_LOB DUAL WRI$_OPTSTAT_SYNOPSIS_HEAD$
Use of incremental statistics collection dbms_feature_stats_incremental(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_stats_incremental(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Incremental global preference on : FALSE, Number of tables with table level
incremental maintenance preference turned on: 0, Number of tables with table
level incremental maintenance preference turned off: 0, Number of tables that
have had statistics gathered in incremental mode: 0
 
DBMS_FEATURE_STREAMS (new 12.1.0.1)
Data Dictionary Objects
DBA_APPLY DBA_PROPAGATION SYS_STUB_FOR_PURITY_ANALYSIS
DBA_CAPTURE    
Detects Streams use dbms_feature_streams(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_streams(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: tcap:0 dscap:0 app:0 prop:0
 
DBMS_FEATURE_TEST_PROC_1
Undocumented dbms_feature_test_proc_1(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_test_proc_1(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 12
3:
 
DBMS_FEATURE_TEST_PROC_2
Undocumented dbms_feature_test_proc_2(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_test_proc_2(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 33
3: Extra Feature Information for TEST_PROC_2
 
DBMS_FEATURE_TEST_PROC_3
Does nothing but return the value 101. Contains the following comment: "/* doesn't matter what I do here as long as the values get * returned correctly. */"

Well I hope someone was paid well for this amazing piece of engineering.
dbms_feature_test_proc_3(current_value OUT NUMBER);
set serveroutput on

DECLARE
 i NUMBER;
BEGIN
  dbms_feature_test_proc_3(i);
  dbms_output.put_line('1: ' || i);
END;
/
1: 101
 
DBMS_FEATURE_TEST_PROC_4
Data Dictionary Objects
DBMS_STANDARD    
Intentionally raises an error. Contains the following comment: "/* raise an application error to make sure the error is being * handled correctly */
raise_application_error(-20020, 'Error for Test Proc 4 ');"
dbms_feature_test_proc_4(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_test_proc_4(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
DECLARE
*
ERROR at line 1:
ORA-20020: Error for Test Proc 4
ORA-06512: at "SYS.DBMS_FEATURE_TEST_PROC_4", line 11
ORA-06512: at line 6
 
DBMS_FEATURE_TEST_PROC_5
Does nothing but contains the following comment: "/* What happens if values are not set? */"

Next time perhaps they will just "Ask Tom."
dbms_feature_test_proc_5(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_test_proc_5(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1:
2:
3: TEST PROC 5
 
DBMS_FEATURE_TSDP (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects Transparent Sensitive Data Protection Policy usage dbms_feature_tsdp(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_tsdp(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Transparent Sensitive Data Protection feature not used
 
DBMS_FEATURE_UNIFIED_AUDIT (new 12.1.0.1)
Data Dictionary Objects
AUDIT_NG$ AUD_CONTEXT$ SYS_STUB_FOR_PURITY_ANALYSIS
AUDIT_UNIFIED_POLICIES AUD_POLICY$ V$OPTION
Detects usage of Unified Audit dbms_feature_unified_audit(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_unified_audit(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 1
2: 0
3: Number of Unified Audit policies=7; Number of Enabled Unified Audit
policies=1; Number of Unified Audit policies with condition=0; Number of Unified
Audit policies on DV=0; Number of Unified Audit policies on OLS=0; Number of
Unified Audit policies on XS=4; Number of Unified Audit policies on DATAPUMP=0;
Number of Enabled Unified Audit Contexts=0
 
DBMS_FEATURE_USER_MVS
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Materialized Views dbms_feature_user_mvs(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_user_mvs(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: User MVs do not exist.
 
DBMS_FEATURE_UTILITIES1
Data Dictionary Objects
DBA_FEATURE_USAGE_STATISTICS KU_UTLUSE SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of DataPump Export and associated compression and encryption dbms_feature_utilities1(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_utilities1(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Oracle Utility Datapump (Export) invoked: 0 times, compression used: 0 times
(BASIC algorithm used: 0 times, LOW algorithm used: 0 times, MEDIUM algorithm
used: 0 times, HIGH algorithm used: 0 times), encryption used: 0 times (AES128
algorithm used: 0 times, AES192 algorithm used: 0 times, AES256 algorithm used:
0 times, PASSWORD mode used: 0 times, DUAL mode used: 0 times, TRANSPARENT mode
used: 0 times), parallel used: 0 times
 
DBMS_FEATURE_UTILITIES2
Data Dictionary Objects
DBA_FEATURE_USAGE_STATISTICS KU_UTLUSE SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of DataPump Import and associated compression and encryption dbms_feature_utilities2(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_utilities2(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Oracle Utility Datapump (Import) invoked: 0 times, parallel used: 0 times
 
DBMS_FEATURE_UTILITIES3
Data Dictionary Objects
DBA_FEATURE_USAGE_STATISTICS KU_UTLUSE SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of Metadata API and associated compression and encryption dbms_feature_utilities3(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_utilities3(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 6
2: 6
3:
 
DBMS_FEATURE_UTILITIES4
Data Dictionary Objects
DBA_FEATURE_USAGE_STATISTICS KU_UTLUSE SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of External Tables and associated compression and encryption dbms_feature_utilities4(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_utilities4(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: Oracle Utility External Table invoked: 0 times, compression used: 0 times
(BASIC algorithm used: 0 times, LOW algorithm used: 0 times, MEDIUM algorithm
used: 0 times, HIGH algorithm used: 0 times), encryption used: 0 times
 
DBMS_FEATURE_WCR_CAPTURE
Data Dictionary Objects
DBA_FEATURE_USAGE_STATISTICS DUAL V$DATABASE
DBA_WORKLOAD_CAPTURES SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage for Workload Capture dbms_feature_wcr_capture(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_wcr_capture(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_WCR_REPLAY
Data Dictionary Objects
DBA_FEATURE_USAGE_STATISTICS DUAL V$DATABASE
DBA_WORKLOAD_REPLAYS SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage for Workload Replay dbms_feature_wcr_replay(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_wcr_replay(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3:
 
DBMS_FEATURE_XDB
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage for XDB dbms_feature_xdb(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_xdb(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: <xdb_feature_usage>SYSTEM</xdb_feature_usage>
 
DBMS_FEATURE_XSTREAM_IN (new 12.1.0.1)
Data Dictionary Objects
DBA_APPLY SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of XStreams Input dbms_feature_xstream_in(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_xstream_in(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: app:0
 
DBMS_FEATURE_XSTREAM_OUT (new 12.1.0.1)
Data Dictionary Objects
DBA_APPLY DBA_CAPTURE SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of XStrems Output dbms_feature_xstream_out(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_xstream_out(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: tcap:0 dscap:0 app:0
 
DBMS_FEATURE_XSTREAM_STREAMS (new 12.1.0.1)
Data Dictionary Objects
DBA_APPLY DBA_PROPAGATION SYS_STUB_FOR_PURITY_ANALYSIS
DBA_CAPTURE    
Detects XStreams use dbms_feature_xstream_streams(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_xstream_streams(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: tcap:0 dscap:0 app:0 prop:0
 
DBMS_FEATURE_ZFS_EHCC (new 12.1.0.1)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of ZFS Hybrid Columnar Compression dbms_feature_zfs_ehcc(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_zfs_ehcc(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: EHCC on ZFS: 0
 
DBMS_FEATURE_ZFS_STORAGE (new 12.1.0.1)
Data Dictionary Objects
KDZSTORAGETYPE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects usage of ZFS Storage dbms_feature_zfs_storage(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_zfs_storage(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: TS on ZFS: 0
 
DBMS_FEATURE_ZMAP (new 12.1.0.2)
Data Dictionary Objects
CLST$ SEG$ SYS_STUB_FOR_PURITY_ANALYSIS
CLSTDIMENSION$ SUM$ TAB$
CLSTKEY$ SUMDETAIL$  
Detect usage of Zone maps dbms_feature_zmap(
feature_boolean OUT NUMBER,
num_cells       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  dbms_feature_zmap(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 0
2: 0
3: { "data": ] }

Related Topics
Active Data Guard
Auditing
AWR
Compresssion
DBMS_DATAPUMP
DBMS_DATA_REDACTION
DBMS_FEATURE_USAGE
DBMS_FEATURE_USAGE_REPORT
DBMS_RESOURCE_MANAGER
DBMS_STREAMS_ADMIN
DBMS_WORKLOAD_CAPTURE
DBMS_WORKLOAD_REPLAY
Exadata
In-Memory Database
SecureFiles
ZFS