Oracle Feature Usage Procedures
Version 11.2.0.3

General Information
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_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;
/
 
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;
/
 
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;
/
 
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: 4
2: 4
3: Execution count so far: 26, Executions with auto-implement: 0, SQL profiles
recommended so far: 7, 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_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 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_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_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;
/
 
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;
/
 
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;
/
 
DBMS_FEATURE_DEFERRED_SEG_CRT (new in 11.2.0.2)
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;
/
 
DBMS_FEATURE_DMU (new in 11.2.0.3)
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;
/
 
DBMS_FEATURE_EXADATA
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects usage of Exadata storage dbms_feature_extadata(
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_exadata(i, j, k);
  dbms_output.put_line('1: ' || i);
  dbms_output.put_line('2: ' || j);
  dbms_output.put_line('3: ' || k);
END;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
DBMS_FEATURE_OBJECT
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS    
Detects the useage 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;
/
 
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;
/
 
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;
/
 
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;
/
 
DBMS_FEATURE_QOSM
Data Dictionary Objects
SYS_STUB_FOR_PURITY_ANALYSIS X$KYWMPCTAB  
Detects usage of Oracle Quality of Service Manager dbms_feature_qosm(
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_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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/;
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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_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_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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/
 
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;
/

Related Topics
DBMS_FEATURE_USAGE
DBMS_FEATURE_USAGE_REPORT

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