Oracle Feature Usage Procedures
Version 21c

General Information
Library Note Morgan's Library Page Header
ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling complimentary technical Workshops on Database Security for the first 30 Oracle Database customers located anywhere in North America, EMEA, LATAM, or APAC that send an email to asra_us@oracle.com. Request a Workshop for your organization today.
Purpose 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 {ORACLE_HOME}/rdbms/admin/catfusrg.sql
{ORACLE_HOME}/rdbms/admin/catsnmp.sql
 
DBMS_FEATURE_ACFS
Data Dictionary Objects
DUAL GV$ASM_FILESYSTEM SYS_STUB_FOR_PURITY_ANALYSIS
Detects ACFS usage dbms_feature_acfs(
is_used      OUT NUMBER,
aux_count    OUT NUMBER,
feature_info OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_acfs(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: :num_filesystems:0
 
DBMS_FEATURE_ACFS_ENCR
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$ASM_ACFS_ENCRYPTION_INFO  
Detects ACFS Encryption usage dbms_feature_acfs_encr(
is_used      OUT NUMBER,
aux_count    OUT NUMBER,
feature_info OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_acfs_encr(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_ACFS_SNAPSHOT
Data Dictionary Objects
V$ASM_ACFSSNAPSHOTS SYS_STUB_FOR_PURITY_ANALYSIS  
Detects ACFS Snapshots usage dbms_feature_acfs_snapshot(
is_used      OUT NUMBER,
aux_count    OUT NUMBER,
feature_info OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_acfs_snapshot(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: :num_snapshots:0
 
DBMS_FEATURE_ACTIVE_DATA_GUARD
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects Active Data Guard usage 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
  sys.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
Data Dictionary Objects
DBMS_LOB V$SQL X$KSPPCV
SYS_STUB_FOR_PURITY_ANALYSIS V$SQLCOMMAND X$KSPPI
Tracks Adaptive Execution Plan usage dbms_feature_adaptive_plans(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.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: 15691
Number of queries with an adaptive plan: 1512
Percentage of queries with an adaptive plan: 9.63609712574087056274297367917914728188
Are the queries
running in reporting mode ? : No

PL/SQL procedure successfully completed.
 
DBMS_FEATURE_ADV_IDXCMP
Data Dictionary Objects
PRVT_COMPRESSION 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
  sys.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
Data Dictionary Objects
PRVT_COMPRESSION 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
  sys.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_AFD
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$ASM_DISK  
Detects ASM Filter Driver usage dbms_feature_afd(
is_used      OUT NUMBER,
aux_count    OUT NUMBER,
feature_info OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_afd(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_APEX
Data Dictionary Objects
DBA_REGISTRY DBMS_STANDARD SYS_STUB_FOR_PURITY_ANALYSIS
DBMS_ASSERT    
Detects APEX usage 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
  sys.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_APPROX_QP (new 20c)
Data Dictionary Objects
GV$SQL_PLAN SYS_STUB_FOR_PURITY_ANALYSIS  
Detects Approximate Query Processing dbms_feature_approx_qp(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_approx_qp(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: approx_count_distinct: USED
 
DBMS_FEATURE_ASM
Data Dictionary Objects
DUAL V$ASM_CLIENT V$ASM_DISKGROUP
SYS_STUB_FOR_PURITY_ANALYSIS V$ASM_DISK  
Detects ASM usage 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
  sys.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
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
  sys.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 Automatic Undo Management usage 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
  sys.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: 25) (Undo Blocks: 62345, Max Concurrency: 6) (Snapshot Old Info - Begin Time: 2020-12-03 18:43:59, End Time: 2020-12-07 18:41:11,
SSOLD Error Count: 0)
 
DBMS_FEATURE_AUTOSTA
Data Dictionary Objects
DBA_ADVISOR_EXECUTIONS DBA_ADVISOR_RECOMMENDATIONS DBMS_LOB
DBA_ADVISOR_EXEC_PARAMETERS DBA_FEATURE_USAGE_STATISTICS DBMS_STANDARD
DBA_ADVISOR_FINDINGS DBA_SQL_PROFILES SYS_STUB_FOR_PURITY_ANALYSIS
DBA_ADVISOR_OBJECTS    
Detects auto-implemented SQL profiles usage 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
  sys.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 Automatic Memory Management usage 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
  sys.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
Data Dictionary Objects
DBMS_LOB V$SQL X$KSPPCV
SYS_STUB_FOR_PURITY_ANALYSIS V$SQLCOMMAND X$KSPPI
Track Adaptive Reoptimization usage 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
  sys.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: 15694
Number of reoptimizable queries: 7
Percentage of reoptimizable queries: .0446030330062444246208742194469223907226
 
DBMS_FEATURE_AUTO_SGA
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$MEMORY_DYNAMIC_COMPONENTS V$SYSTEM_EVENT
Detects Automatic SGA Management usage 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
  sys.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 Automatic Segment Space Managed tablespaces usage 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
  sys.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: MANUAL, TS Count: 2, Size MB: 955) (Segment Space Management: AUTO, TS Count: 2, Size MB: 1315)
 
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
  sys.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:1736.79,DBcpu:1454.66
 
DBMS_FEATURE_BACKUP_ENCRYPTION
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Counts RMAN Backup Encryption usage 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
  sys.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
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of the Oracle Database Logging Recovery Appliance (DBLRA - see link at page bottom) 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
  sys.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_CLOUD_EHCC
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects EHCC in Cloud Database usage dbms_feature_cloud_ehcc(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_cloud_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 in Cloud Database: 0
 
DBMS_FEATURE_CONCURRENT_STATS
Data Dictionary Objects
DBA_OPTSTAT_OPERATIONS DBMS_STATS SYS_STUB_FOR_PURITY_ANALYSIS
DBMS_LOB 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
  sys.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 covered by dba_optstat_operations: 11/17/2020 - 12/06/2020
Total Number of All Stats Operations: 297
Total Number of Gather Stats Operations: 209
Total Number of
Concurrent Operations: 0.
Types of concurrent operations with their frequencies:
Current value of CONCURRENT preference: OFF
 
DBMS_FEATURE_DATABASE_ODM
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$OPTION  
Detects Oracle Data Mining usage 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
  sys.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 Database Vault usage 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
  sys.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 Data Guard usage 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
  sys.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
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects Data Redaction usage 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
  sys.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
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
  sys.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
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of DBFS_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
  sys.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
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of DBFS content storage administration sample implementation 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
  sys.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
  sys.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: 783
3: Deferred Segment Creation Parameter:1 Total Deferred Segments:783 Total Created Segments:7673 Table Segments:294 Index Segments:399 Lob Segments:82 Table Partition Segments:2
Index Partition Segments:3 Lob Partition Segments:3 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
  sys.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
  sys.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
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
  sys.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
DBMS_REGISTRY 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
  sys.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
  sys.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
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
  sys.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_FLEX_ASM
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Flex ASM dbms_feature_flex_asm(
is_used      OUT NUMBER,
aux_count    OUT NUMBER,
feature_info OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_flex_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_GATEWAYS
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
  sys.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
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
  sys.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
  sys.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_HCCCONV
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Hybrid Columnar Compression Conventional Load dbms_feature_hccconv(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_hccconv(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 Compressed Conventional: 0
 
DBMS_FEATURE_HCCRLL
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
  sys.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_HCS (new 21c)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Tracks HCS PL/SQL logging dbms_feature_hcs(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_hcs(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_HEATMAP
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
  sys.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
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
  sys.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
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
  sys.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
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
  sys.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
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
  sys.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_IMFS
Data Dictionary Objects
SYSDBIMFS$ SYS_STUB_FOR_PURITY_ANALYSIS V$TABLESPACE
SYSDBIMFS_METADATA$    
Detects usage of In-Memory Fast Start dbms_feature_imfs(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_imfs(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 FastStart enabled on USERS: Current Number of Savepoints in FastStart Area: 0, Current Space Usage: , Total Number of Savepoints in FastStart Area:
 
DBMS_FEATURE_IM_ADO
Data Dictionary Objects
ILMOBJ$ ILMPOLICY$ SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of In-Memory Automatic Data Optimization policies dbms_feature_im_ado(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_im_ado(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_IM_BASE_LEVEL (new 20c)
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects In-Memory Base Level usage dbms_feature_im_base_level(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_im_base_level(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 Base Level Not Detected
 
DBMS_FEATURE_IM_EXPRESSIONS
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of In-Memory Expressions and Virtual Column usage dbms_feature_im_expressions(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_im_expressions(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_IM_FORSERVICE
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of In-Memory For Service usage dbms_feature_im_forservice(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_im_forservice(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_IM_JOINGROUPS
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of In-Memory Join Group usage dbms_feature_im_joingroups(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_im_joingroups(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_IOT
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
  sys.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
  sys.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
Data Dictionary Objects
DBA_IND_EXPRESSIONS DBMS_LOB SYS_STUB_FOR_PURITY_ANALYSIS
DBMS_ASSERT DBMS_STANDARD  
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
  sys.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": , "varchar2": , "clob": , "blob": , "json": }, "rowCount": {"maxCount":0 , "minCount":0 , "avgCount":0 }, "rowSize": {"avgSizeBytes":0 ,
"maxSizeChars":0 }, "IMCStats": {"IMCU#":0 , "IMEU#":0 , "JSONIMC#":0 }, "views": {"total":0 , "jsonValue":0 , "jsonExists":0 , "jsonQuery":0 , "jsonTable":0 , "jsonDataGuide":0 },
"funcIdx": {"jsonValue":0 , "jsonExists":0 , "jsonQuery":0 }, "searchIdx": {"jsonSearchIdx":0 , "bsonSearchIdx":0 }, "dataguideStats": {"numDataguide":0 }, "sodaStats":
{"numCollections":0 } }
 
DBMS_FEATURE_LABEL_SECURITY
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects Label Security usage 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
  sys.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
  sys.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
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
  sys.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
  sys.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
Data Dictionary Objects
REDEF$ SYS_STUB_FOR_PURITY_ANALYSIS  
Detects use of the DBMS_REDEFINITION package dbms_feature_online_redef(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.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
CLST$ INDSUBPART$ SUM$
CLSTJOIN$ OBJ$ SUMAGG$
CLSTKEY$ OPQTYPE$ SUMDETAIL$
COL$ PARTCOL$ SYS_STUB_FOR_PURITY_ANALYSIS
DEFSUBPART$ PARTOBJ$ TABCOMPART$
EXTERNAL_TAB$ SEG$ TABPART$
IND$ SNAP$ TABSUBPART$
INDCOMPART$ SUBPARTCOL$ USER$
INDPART$    
Detects system partitioning usage 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
  sys.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
SEG$ SYS_STUB_FOR_PURITY_ANALYSIS TABPART$
Detects user partitioning usage dbms_feature_partition_user(
is_used    OUT NUMBER,
data_ratio OUT NUMBER,
clob_rest  OUT CLOB);
set serveroutput on

DECLARE
  2   i NUMBER;
  3   j NUMBER;
  4   k CLOB;
  5  BEGIN
  6   sys.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
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$SYSSTAT  
Detects Pillar Hybrid Columnar Compression use 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
  sys.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
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
  sys.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 PL/SQL native compilation usage 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
  sys.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 ="07-dec-2020 18:50">
<owner name="AUDSYS" interpreted="4"/>
<owner name="111" interpreted="2"/>
<owner name="CTXSYS" interpreted="177"/>
<owner name="37"
interpreted="2"/>
<owner name="DBSNMP" interpreted="19"/>
<owner name="106" interpreted="22"/>
<owner name="1279990" interpreted="135"/>
<owner name="22" interpreted="78"/>
<owner
name="104" interpreted="98"/>
<owner name="MDSYS" interpreted="845"/>
<owner name="OLAPSYS" interpreted="2"/>
<owner name="42" interpreted="6"/>
<owner name="ORDPLUGINS"
interpreted="10"/>
<owner name="ORDSYS" interpreted="547"/>
<owner name="13" interpreted="1"/>
<owner name="36" interpreted="13"/>
<owner name="SYS" interpreted="3797"/>
<owner
name="SYSTEM" interpreted="18"/>
<owner name="WMSYS" interpreted="116"/>
<owner name="XDB" interpreted="251"/>
</plsqlNativeReport>
 
DBMS_FEATURE_PRIV_CAPTURE
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
  sys.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 Oracle Quality of Service Manager usage 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
  sys.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
  sys.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
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
  sys.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 Resource Manager usage 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
  sys.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: CPU Management: 1, Other Management: 0
 
DBMS_FEATURE_RMAN_BACKUP
Data Dictionary Objects
DBMS_BACKUP_RESTORE SYS_STUB_FOR_PURITY_ANALYSIS  
Detects RMAN for backup usage 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
  sys.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 RMAN BASIC Compression usage 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
  sys.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 BZIP2 for Backup Compression usage 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
  sys.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
  sys.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
  sys.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
  sys.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
  sys.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
  sys.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
  sys.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
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
  sys.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 is of type SINGLE
 
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
  sys.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
  sys.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
  sys.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
  sys.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
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
  sys.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_SEHA (new 21c)
Data Dictionary Objects
KJHAISSEHA SYS_STUB_FOR_PURITY_ANALYSIS  
Detects use of High Availability options in Standard Edition

If SE then calls kjhaisseha
dbms_feature_seha(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_seha(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_SERVICES
Data Dictionary Objects
DBA_SERVICES SYS_STUB_FOR_PURITY_ANALYSIS V$PARAMETER
GV$ACTIVE_SERVICES    
Detects Services Usage 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
  sys.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: 1
2: 3
3: num_clb_long: 3 num_clb_short: 0 num_goal_service_time: 0 num_goal_throughput: 0 num_goal_none: 3 num_aq_notifications: 0 num_active_services: 2 avg_active_cardinality: 1
 
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
  sys.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
  sys.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
  sys.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
  sys.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
  sys.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 use 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
  sys.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_SHARD
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects use of database is a database shard dbms_feature_shard(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_shard(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-01403: no data found
ORA-06512: at "SYS.DBMS_FEATURE_SHARD", line 22
ORA-06512: at line 6
 
DBMS_FEATURE_SPD
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
  sys.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: 67
2: 21
3: Number of directives with type, DYNAMIC_SAMPLING: 21
Number of Directives with reason, JOIN CARDINALITY MISESTIMATE: 12
Number of Directives with reason, SINGLE TABLE CARDINALITY
MISESTIMATE: 9
Number of Directives with state, USABLE: 21
Number of Directive objects: 54, subobjects: 18
spd_retention_weeks: 53
_sql_plan_directive_mgmt_control: 67
_optimizer_dsdir_usage_control: 0
 
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
  sys.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
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
  sys.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
Data Dictionary Objects
None    
Undocumented: Return values are hard coded

I hope someone was paid well for this amazing piece of engineering.
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
  sys.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: Return values are hard coded

I hope someone was paid well for this amazing piece of engineering.
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
  sys.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
Data Dictionary Objects
None    
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. */"

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
  sys.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 exception. 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
  sys.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
Data Dictionary Objects
None    
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
  sys.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_THP
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$ASM_ATTRIBUTE  
Detects use of ASM Thin Provisioning dbms_feature_thp(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_thp(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_TSDP
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
  sys.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
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
  sys.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 Materialized View Use 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
  sys.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
  sys.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 use 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
  sys.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
  sys.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
  sys.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_UTILITIES5
Data Dictionary Objects
DBA_FEATURE_USAGE_STATISTICS KU_UTLUSE SYS_STUB_FOR_PURITY_ANALYSIS
Detects external tables (ORACLE_LOADER) use dbms_feature_utilities5(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_utilities5(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
1: 41
2: 41
3: Oracle Utility External Table (ORACLE_LOADER) invoked 41 times
 
DBMS_FEATURE_UTILITIES6
Data Dictionary Objects
DBA_FEATURE_USAGE_STATISTICS KU_UTLUSE SYS_STUB_FOR_PURITY_ANALYSIS
Detects external tables (ORACLE_BIGSQL) use dbms_feature_utilities6(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_utilities6(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 (ORACLE_BIGSQL) invoked 0 times
 
DBMS_FEATURE_VPD
Data Dictionary Objects
DBA_POLICIES DBA_SEC_RELEVANT_COLS DBMS_UTILITY
DBA_POLICY_ATTRIBUTES DBA_USERS SYS_STUB_FOR_PURITY_ANALYSIS
Counts Virtual Private Database (Row Level Security) usage dbms_feature_vpd(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_feature_vpd(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 policies=0, Number of enabled policies=0, Number of objects that have VPD policies=0, Number of policies on
SELECT statement=0, Number of policies on INSERT statement=0, Number of policies on UPDATE statement=0, Number of
policies on DELETE statement=0, Number of policies on INDEX statement=0, Number of DYNAMIC policies=0, Number of STATIC
policies=0, Number of SHARED_STATIC policies=0, Number of CONTEXT_SENSITIVE policies=0, Number of
SHARED_CONTEXT_SENSITIVE policies=0, Number of attribute associated CONTEXT_SENSITIVE policies=0, Number of policies with
long predicate=0, Number of COLUMN LEVEL policies=0, Number of COMMON policies=0, Number of INHERITED policies=0
 
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
  sys.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
  sys.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
  sys.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
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
  sys.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
Data Dictionary Objects
DBA_APPLY DBA_CAPTURE SYS_STUB_FOR_PURITY_ANALYSIS
Detects usage of XStreams 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
  sys.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
Data Dictionary Objects
DBA_APPLY DBA_PROPAGATION SYS_STUB_FOR_PURITY_ANALYSIS
DBA_CAPTURE    
Detects XStreams use for services 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
  sys.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
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
  sys.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
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
  sys.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
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
  sys.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": ] }
 
DBMS_HWM_PRIM_SHARDS
Data Dictionary Objects
GSMADMIN_INTERNAL.CLOUD GSMADMIN_INTERNAL.DATABASE SYS_STUB_FOR_PURITY_ANALYSIS
Detects the number of deployed primary shards in the catalog dbms_hwm_prim_shards(current_value OUT NUMBER);
set serveroutput on

DECLARE
 retVal NUMBER;
BEGIN
  sys.dbms_hwm_prim_wshards(retVal);
  dbms_output.put_line(TO_CHAR(retVal));
END;
/
0
 
DBMS_HWM_SHARDS
Data Dictionary Objects
GSMADMIN_INTERNAL.CLOUD GSMADMIN_INTERNAL.DATABASE SYS_STUB_FOR_PURITY_ANALYSIS
Detects the number of deployed shards in the catalog dbms_hwm_shards(current_value OUT NUMBER);
set serveroutput on

DECLARE
 retVal NUMBER;
BEGIN
  sys.dbms_hwm_shards(retVal);
  dbms_output.put_line(TO_CHAR(retVal));
END;
/
0
 
DBMS_PDB_NUM
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS V$DATABASE V$PDBS
Returns the number of PDBs detected dbms_feature_acfs(
feature_boolean OUT NUMBER,
aux_count       OUT NUMBER,
feature_info    OUT CLOB);
set serveroutput on

DECLARE
 i NUMBER;
 j NUMBER;
 k CLOB;
BEGIN
  sys.dbms_pdb_num(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: 6
3:

Related Topics
Active Data Guard
Auditing
AWR
Built-in Functions
Built-in Packages
CARTRIDGE
Compression
DBMS_DATAPUMP
DBMS_DATA_REDACTION
DBMS_FEATURE_USAGE
DBMS_FEATURE_USAGE_REPORT
DBMS_RESOURCE_MANAGER
DBMS_STREAMS_ADMIN
DBMS_WORKLOAD_CAPTURE
DBMS_WORKLOAD_REPLAY
In-Memory Database
SecureFiles
What's New In 21c
What's New In 23c