Wie misst Oracle die Verwendung
von Database Features?
Martin Berger
DOAG 2015
Martin Berger
Oracle DBA since 2000
http://berxblog.blogspot.com
@martinberx
martin.a.berger@gmail.com
Disclaimer
this presentation is ONLY about the features and possibilities of
DBA_FEATURE_USAGE_STATISTICS view and supporting
packages/procedures
NO information about LMS activities
NO information about license optimization
DBA_FEATURE_USAGE_STATISTICS
http://docs.oracle.com/database/121/REFRN/GUID-B8A38B9B-3AAA-4341-AA05-
4309870CE73B.htm#REFRN23396
DBA_FEATURE_USAGE_STATISTICS
DBA_FEATURE_USAGE_STATISTICS
DBA_FEATURE_USAGE_STATISTICS
DBID database ID of database being tracked
NAME name of feature
VERSION the database version the feature was tracked in
DETECTED_USAGES number of times the system has detected usage for the feature
TOTAL_SAMPLES number of times the system has woken up and checked for usage
CURRENTLY_USED if usage was detected the last time the system checked
FIRST_USAGE_DATE the first sample time the system detected usage for the feature
LAST_USAGE_DATE the last sample time the system detected usage for the feature
AUX_COUNT extra column to store feature specific usage data
FEATURE_INFO extra column to store feature specific usage data
LAST_SAMPLE_DATE last time the system checked for usage
LAST_SAMPLE_PERIOD amount of time between the last two usage sample times, in number of seconds
SAMPLE_INTERVAL [ 604800 seconds ]
DESCRIPTION describes feature and usage detection logic
DBA_FEATURE_USAGE_STATISTICS
components behind the scene
methods to refresh manually
single checks in detail
components behind the scene
DBA_FEATURE_USAGE_STATISTICS View:
SELECT samp.dbid, fu.name,
samp.version, detected_usages,
total_samples,
Decode(To_char(last_usage_date, 'MM/DD/YYYY, HH:MI:SS'),
NULL, 'FALSE',
To_char( last_sample_date, 'MM/DD/YYYY, HH:MI:SS'),
'TRUE', 'FALSE')
currently_used,
first_usage_date,
last_usage_date,
aux_count,
feature_info,
last_sample_date,
last_sample_period,
sample_interval,
mt.description
FROM wri$_dbu_usage_sample samp,
wri$_dbu_feature_usage fu,
wri$_dbu_feature_metadata mt
WHERE samp.dbid = fu.dbid
AND samp.version = fu.version
AND fu.name = mt.name
AND fu.name NOT LIKE '_DBFUS_TEST%'
/* filter out test features */
AND Bitand(mt.usg_det_method, 4) != 4
/* filter out disabled features */
components behind the scene
DBA_FEATURE_USAGE_STATISTICS
DBID database ID of database being tracked
NAME name of feature
VERSION the database version the feature was tracked in
DETECTED_USAGES number of times the system has detected usage for th
TOTAL_SAMPLES number of times the system has woken up and checked
CURRENTLY_USED if usage was detected the last time the system check
FIRST_USAGE_DATE the first sample time the system detected usage for
LAST_USAGE_DATE the last sample time the system detected usage for t
AUX_COUNT extra column to store feature specific usage data
FEATURE_INFO extra column to store feature specific usage data
LAST_SAMPLE_DATE last time the system checked for usage
LAST_SAMPLE_PERIOD amount of time between the last two usage sample tim
SAMPLE_INTERVAL [ 604800 seconds ]
DESCRIPTION describes feature and usage detection logic
wri$_dbu_usage_sample samp
*DBID
*VERSION
*LAST_SAMPLE_DATE
LAST_SAMPLE_DATE_NUM
*LAST_SAMPLE_PERIOD
*TOTAL_SAMPLES
*SAMPLE_INTERVAL
components behind the scene
DBA_FEATURE_USAGE_STATISTICS
DBID database ID of database being tracked
NAME name of feature
VERSION the database version the feature was tracked in
DETECTED_USAGES number of times the system has detected usage for th
TOTAL_SAMPLES number of times the system has woken up and checked
CURRENTLY_USED if usage was detected the last time the system check
FIRST_USAGE_DATE the first sample time the system detected usage for
LAST_USAGE_DATE the last sample time the system detected usage for t
AUX_COUNT extra column to store feature specific usage data
FEATURE_INFO extra column to store feature specific usage data
LAST_SAMPLE_DATE last time the system checked for usage
LAST_SAMPLE_PERIOD amount of time between the last two usage sample tim
SAMPLE_INTERVAL [ 604800 seconds ]
DESCRIPTION describes feature and usage detection logic
wri$_dbu_feature_usage fu
DBID
*NAME
VERSION
*FIRST_USAGE_DATE
*LAST_USAGE_DATE
*DETECTED_USAGES
*AUX_COUNT
*FEATURE_INFO
ERROR_COUNT
components behind the scene
DBA_FEATURE_USAGE_STATISTICS
DBID database ID of database being tracked
NAME name of feature
VERSION the database version the feature was tracked in
DETECTED_USAGES number of times the system has detected usage for th
TOTAL_SAMPLES number of times the system has woken up and checked
CURRENTLY_USED if usage was detected the last time the system check
FIRST_USAGE_DATE the first sample time the system detected usage for
LAST_USAGE_DATE the last sample time the system detected usage for t
AUX_COUNT extra column to store feature specific usage data
FEATURE_INFO extra column to store feature specific usage data
LAST_SAMPLE_DATE last time the system checked for usage
LAST_SAMPLE_PERIOD amount of time between the last two usage sample tim
SAMPLE_INTERVAL [ 604800 seconds ]
DESCRIPTION describes feature and usage detection logic
wri$_dbu_feature_metadata mt
NAME
INST_CHK_METHOD
INST_CHK_LOGIC
USG_DET_METHOD
USG_DET_LOGIC
*DESCRIPTION
components behind the scene
DBA_FEATURE_USAGE_STATISTICS
DBID database ID of database being tracked
NAME name of feature
VERSION the database version the feature was tracked in
DETECTED_USAGES number of times the system has detected usage for th
TOTAL_SAMPLES number of times the system has woken up and checked
CURRENTLY_USED if usage was detected the last time the system check
FIRST_USAGE_DATE the first sample time the system detected usage for
LAST_USAGE_DATE the last sample time the system detected usage for t
AUX_COUNT extra column to store feature specific usage data
FEATURE_INFO extra column to store feature specific usage data
LAST_SAMPLE_DATE last time the system checked for usage
LAST_SAMPLE_PERIOD amount of time between the last two usage sample tim
SAMPLE_INTERVAL [ 604800 seconds ]
DESCRIPTION describes feature and usage detection logic
Decode(
To_char(last_usage_date,
'MM/DD/YYYY, HH:MI:SS'),
NULL, 'FALSE',
To_char( last_sample_date,
'MM/DD/YYYY, HH:MI:SS'),
'TRUE', 'FALSE')
components behind the scene
WHERE samp.dbid = fu.dbid
AND samp.version = fu.version
AND fu.name = mt.name
AND fu.name NOT LIKE '_DBFUS_TEST%'
/* filter out test features */
AND Bitand(mt.usg_det_method, 4) != 4
/* filter out disabled features */
components behind the scene
DBA_FEATURE_USAGE_STATISTICS
wri$_dbu_feature_usage wri$_dbu_feature_metadata wri$_dbu_usage_sample
components behind the scene
DBA_FEATURE_USAGE_STATISTICS
wri$_dbu_feature_usage wri$_dbu_feature_metadata wri$_dbu_usage_sample
DBMS_FEATURE_USAGEDBMS_FEATURE_USAGE_INTERNALDBMS_FEATURE_*
components behind the scene
DBA_FEATURE_USAGE_STATISTICS
wri$_dbu_feature_usage wri$_dbu_feature_metadata wri$_dbu_usage_sample
DBMS_FEATURE_USAGEDBMS_FEATURE_USAGE_INTERNALDBMS_FEATURE_*
DBMS_SWRF_REPORT_INTERNAL
DBA_FEATURE_USAGE_STATISTICS
components behind the scene
methods to refresh manually
single checks in detail
methods to refresh manually
alter session set events 'immediate trace name mmon_test level 6';
How to Manually Refresh Dba_feature_usage_statistics (Doc ID 1629485.1)
methods to refresh manually
alter session set events 'immediate trace name mmon_test level 6';
How to Manually Refresh Dba_feature_usage_statistics (Doc ID 1629485.1)
alter session set "_SWRF_TEST_ACTION"=53;
How to Manually Refresh Dba_feature_usage_statistics (Doc ID 1629485.1)
SWR => Select Workload Repository (Framework?)
ADR auto purge
alter session set "_swrf_test_action" = 101;
Bug 9530322 ADR auto purge does not occur in ASM instance or standby database
Split the AWR partitions
alter session set "_swrf_test_action" = 72;
Manually Purge the Optimizer Statistics & AWR Snaphots to Reduce Space Usage of SYSAUX Tablespace (Doc ID 1965061.1)
AWR Snapshot traces
snapshot flush trace enable 10 disable
11
MMON action trace enable 28 disable
29
other "_SWRF_TEST_ACTION" values
methods to refresh manually
alter session set events 'immediate trace name mmon_test level 6';
How to Manually Refresh Dba_feature_usage_statistics (Doc ID 1629485.1)
alter session set "_SWRF_TEST_ACTION"=53;
How to Manually Refresh Dba_feature_usage_statistics (Doc ID 1629485.1)
DEMO
DBA_FEATURE_USAGE_STATISTICS
components behind the scene
methods to refresh manually
single checks in detail
single checks in detail
to check, if the feature is installed at all:
DBU_INST_ALWAYS_INSTALLED 1 /* no test required
*/
DBU_INST_OBJECT 2 /* object
name in LOGIC */
DBU_INST_TEST 4 /* only
test */
wri$_dbu_feature_metadata mt
NAME
INST_CHK_METHOD
INST_CHK_LOGIC
USG_DET_METHOD
USG_DET_LOGIC
*DESCRIPTION
single checks in detail
to check, if the feature is installed at all:
DBU_INST_ALWAYS_INSTALLED 1 /* no test required */
DBU_INST_OBJECT 2 /* object
name in LOGIC */
DBU_INST_TEST 4 /* only test
*/
method to be used to check feature usage::
DBU_DETECT_BY_SQL 1 /* SQL
specified in USG_DET_LOGIC */
DBU_DETECT_BY_PROCEDURE 2 /* Procedure -- “
-- */
DBU_DETECT_NULL 4 /* only test
for _DBFUS_TEST_SQL_7 */
wri$_dbu_feature_metadata mt
NAME
INST_CHK_METHOD
INST_CHK_LOGIC
USG_DET_METHOD
USG_DET_LOGIC
*DESCRIPTION
$ORACLE_HOME/rdbms/admin/catfusrg.sql -> dbmsfus.sql -> prvtfus.plb
single checks in detail
to check, if the feature is installed at all:
DBU_INST_ALWAYS_INSTALLED 1 /* no test required */
DBU_INST_OBJECT 2 /* object
name in LOGIC */
DBU_INST_TEST 4 /* only test
*/
method to be used to check feature usage::
DBU_DETECT_BY_SQL 1 /* SQL
specified in USG_DET_LOGIC */
DBU_DETECT_BY_PROCEDURE 2 /* Procedure -- “
-- */
DBU_DETECT_NULL 4 /* only test
for _DBFUS_TEST_SQL_7 */
examples:
Advanced Replication: select count(*), NULL, NULL from dba_repcat;
Zone maps: DBMS_FEATURE_ZMAP
Oracle Text: ctxsys.drifeat.dr$feature_track
wri$_dbu_feature_metadata mt
NAME
INST_CHK_METHOD
INST_CHK_LOGIC
USG_DET_METHOD
USG_DET_LOGIC
*DESCRIPTION
single checks in detail
DBMS_FEATURE_*
Argument Name Type In/Out Default
------------- ------ ------ -------
IS_USED NUMBER OUT
DATA_RATIO NUMBER OUT
CLOB_REST CLOB OUT
wri$_dbu_feature_metadata mt
NAME
INST_CHK_METHOD
INST_CHK_LOGIC
USG_DET_METHOD
USG_DET_LOGIC
*DESCRIPTION
single checks in detail
DBMS_FEATURE_*
Argument Name Type In/Out Default
------------- ------ ------ -------
IS_USED NUMBER OUT
DATA_RATIO NUMBER OUT
CLOB_REST CLOB OUT
wri$_dbu_feature_metadata mt
NAME
INST_CHK_METHOD
INST_CHK_LOGIC
USG_DET_METHOD
USG_DET_LOGIC
*DESCRIPTION
DEMO
single checks in detail
single checks in detail
DEMO
single checks in detail
create or replace PROCEDURE dbms_feature_goldengate
(feature_boolean OUT NUMBER, aux_count OUT NUMBER, feature_info
OUT CLOB)
…...
select decode (count(*), 0, 0, 1) into num_capture
from dba_capture where UPPER(purpose) = 'GOLDENGATE CAPTURE';
select decode (count(*), 0, 0, 1) into num_ds_capture from dba_capture
where UPPER(purpose) = 'GOLDENGATE CAPTURE' and UPPER(capture_type) = 'DOWNSTREAM';
select decode (count(*), 0, 0, 1) into num_apply from dba_apply
where UPPER(purpose) IN ('GOLDENGATE APPLY', 'GOLDENGATE CAPTURE');
select sum(count) into num_dblogreader
from GV$GOLDENGATE_CAPABILITIES where name like 'DBLOGREADER';
select sum(count) into num_transient_duplicate
from GV$GOLDENGATE_CAPABILITIES where name like 'TRANSIENTDUPLICATE';
select sum(count) into num_trigger_suppression
report
Database Options/Management Packs Usage Reporting for Oracle Databases 11gR2 and 12c (Doc ID
1317265.1)
PRODUCT USAGE
Description
This section provides an overview of each option/pack that has been used in the database and if they are
currently in use. It will also provide information when the product was first used and when it was used last time.
FEATURE USAGE DETAILS
Description
This section provides a detailed report of features used that has triggered the usage of a product.
The report is based on the DBA_FEATURE_USAGE_STATISTICS view.
The CURRENTLY_USED column of DBA_FEATURE_USAGE_STATISTICS view indicates if the feature in question
was used during the last sampling interval by VERSION and DBID
SQL> @options_packs_usage_statistics.sql
Disclaimer (again)
this presentation is ONLY about the features and possibilities of
DBA_FEATURE_USAGE_STATISTICS view and supporting
packages/procedures
NO information about LMS activities
NO information about license optimization
Q/A ?
Martin Berger
DOAG 2015
Wie misst Oracle die Verwendung
von Database Features?
DOAG 2015
http://berxblog.blogspot.com
@martinberx
martin.a.berger@gmail.com

473721 dba feature_usage_statistics

  • 1.
    Wie misst Oracledie Verwendung von Database Features? Martin Berger DOAG 2015
  • 2.
    Martin Berger Oracle DBAsince 2000 http://berxblog.blogspot.com @martinberx [email protected]
  • 3.
    Disclaimer this presentation isONLY about the features and possibilities of DBA_FEATURE_USAGE_STATISTICS view and supporting packages/procedures NO information about LMS activities NO information about license optimization
  • 4.
  • 5.
  • 6.
    DBA_FEATURE_USAGE_STATISTICS DBA_FEATURE_USAGE_STATISTICS DBID database IDof database being tracked NAME name of feature VERSION the database version the feature was tracked in DETECTED_USAGES number of times the system has detected usage for the feature TOTAL_SAMPLES number of times the system has woken up and checked for usage CURRENTLY_USED if usage was detected the last time the system checked FIRST_USAGE_DATE the first sample time the system detected usage for the feature LAST_USAGE_DATE the last sample time the system detected usage for the feature AUX_COUNT extra column to store feature specific usage data FEATURE_INFO extra column to store feature specific usage data LAST_SAMPLE_DATE last time the system checked for usage LAST_SAMPLE_PERIOD amount of time between the last two usage sample times, in number of seconds SAMPLE_INTERVAL [ 604800 seconds ] DESCRIPTION describes feature and usage detection logic
  • 7.
    DBA_FEATURE_USAGE_STATISTICS components behind thescene methods to refresh manually single checks in detail
  • 8.
    components behind thescene DBA_FEATURE_USAGE_STATISTICS View: SELECT samp.dbid, fu.name, samp.version, detected_usages, total_samples, Decode(To_char(last_usage_date, 'MM/DD/YYYY, HH:MI:SS'), NULL, 'FALSE', To_char( last_sample_date, 'MM/DD/YYYY, HH:MI:SS'), 'TRUE', 'FALSE') currently_used, first_usage_date, last_usage_date, aux_count, feature_info, last_sample_date, last_sample_period, sample_interval, mt.description FROM wri$_dbu_usage_sample samp, wri$_dbu_feature_usage fu, wri$_dbu_feature_metadata mt WHERE samp.dbid = fu.dbid AND samp.version = fu.version AND fu.name = mt.name AND fu.name NOT LIKE '_DBFUS_TEST%' /* filter out test features */ AND Bitand(mt.usg_det_method, 4) != 4 /* filter out disabled features */
  • 9.
    components behind thescene DBA_FEATURE_USAGE_STATISTICS DBID database ID of database being tracked NAME name of feature VERSION the database version the feature was tracked in DETECTED_USAGES number of times the system has detected usage for th TOTAL_SAMPLES number of times the system has woken up and checked CURRENTLY_USED if usage was detected the last time the system check FIRST_USAGE_DATE the first sample time the system detected usage for LAST_USAGE_DATE the last sample time the system detected usage for t AUX_COUNT extra column to store feature specific usage data FEATURE_INFO extra column to store feature specific usage data LAST_SAMPLE_DATE last time the system checked for usage LAST_SAMPLE_PERIOD amount of time between the last two usage sample tim SAMPLE_INTERVAL [ 604800 seconds ] DESCRIPTION describes feature and usage detection logic wri$_dbu_usage_sample samp *DBID *VERSION *LAST_SAMPLE_DATE LAST_SAMPLE_DATE_NUM *LAST_SAMPLE_PERIOD *TOTAL_SAMPLES *SAMPLE_INTERVAL
  • 10.
    components behind thescene DBA_FEATURE_USAGE_STATISTICS DBID database ID of database being tracked NAME name of feature VERSION the database version the feature was tracked in DETECTED_USAGES number of times the system has detected usage for th TOTAL_SAMPLES number of times the system has woken up and checked CURRENTLY_USED if usage was detected the last time the system check FIRST_USAGE_DATE the first sample time the system detected usage for LAST_USAGE_DATE the last sample time the system detected usage for t AUX_COUNT extra column to store feature specific usage data FEATURE_INFO extra column to store feature specific usage data LAST_SAMPLE_DATE last time the system checked for usage LAST_SAMPLE_PERIOD amount of time between the last two usage sample tim SAMPLE_INTERVAL [ 604800 seconds ] DESCRIPTION describes feature and usage detection logic wri$_dbu_feature_usage fu DBID *NAME VERSION *FIRST_USAGE_DATE *LAST_USAGE_DATE *DETECTED_USAGES *AUX_COUNT *FEATURE_INFO ERROR_COUNT
  • 11.
    components behind thescene DBA_FEATURE_USAGE_STATISTICS DBID database ID of database being tracked NAME name of feature VERSION the database version the feature was tracked in DETECTED_USAGES number of times the system has detected usage for th TOTAL_SAMPLES number of times the system has woken up and checked CURRENTLY_USED if usage was detected the last time the system check FIRST_USAGE_DATE the first sample time the system detected usage for LAST_USAGE_DATE the last sample time the system detected usage for t AUX_COUNT extra column to store feature specific usage data FEATURE_INFO extra column to store feature specific usage data LAST_SAMPLE_DATE last time the system checked for usage LAST_SAMPLE_PERIOD amount of time between the last two usage sample tim SAMPLE_INTERVAL [ 604800 seconds ] DESCRIPTION describes feature and usage detection logic wri$_dbu_feature_metadata mt NAME INST_CHK_METHOD INST_CHK_LOGIC USG_DET_METHOD USG_DET_LOGIC *DESCRIPTION
  • 12.
    components behind thescene DBA_FEATURE_USAGE_STATISTICS DBID database ID of database being tracked NAME name of feature VERSION the database version the feature was tracked in DETECTED_USAGES number of times the system has detected usage for th TOTAL_SAMPLES number of times the system has woken up and checked CURRENTLY_USED if usage was detected the last time the system check FIRST_USAGE_DATE the first sample time the system detected usage for LAST_USAGE_DATE the last sample time the system detected usage for t AUX_COUNT extra column to store feature specific usage data FEATURE_INFO extra column to store feature specific usage data LAST_SAMPLE_DATE last time the system checked for usage LAST_SAMPLE_PERIOD amount of time between the last two usage sample tim SAMPLE_INTERVAL [ 604800 seconds ] DESCRIPTION describes feature and usage detection logic Decode( To_char(last_usage_date, 'MM/DD/YYYY, HH:MI:SS'), NULL, 'FALSE', To_char( last_sample_date, 'MM/DD/YYYY, HH:MI:SS'), 'TRUE', 'FALSE')
  • 13.
    components behind thescene WHERE samp.dbid = fu.dbid AND samp.version = fu.version AND fu.name = mt.name AND fu.name NOT LIKE '_DBFUS_TEST%' /* filter out test features */ AND Bitand(mt.usg_det_method, 4) != 4 /* filter out disabled features */
  • 14.
    components behind thescene DBA_FEATURE_USAGE_STATISTICS wri$_dbu_feature_usage wri$_dbu_feature_metadata wri$_dbu_usage_sample
  • 15.
    components behind thescene DBA_FEATURE_USAGE_STATISTICS wri$_dbu_feature_usage wri$_dbu_feature_metadata wri$_dbu_usage_sample DBMS_FEATURE_USAGEDBMS_FEATURE_USAGE_INTERNALDBMS_FEATURE_*
  • 16.
    components behind thescene DBA_FEATURE_USAGE_STATISTICS wri$_dbu_feature_usage wri$_dbu_feature_metadata wri$_dbu_usage_sample DBMS_FEATURE_USAGEDBMS_FEATURE_USAGE_INTERNALDBMS_FEATURE_* DBMS_SWRF_REPORT_INTERNAL
  • 17.
    DBA_FEATURE_USAGE_STATISTICS components behind thescene methods to refresh manually single checks in detail
  • 18.
    methods to refreshmanually alter session set events 'immediate trace name mmon_test level 6'; How to Manually Refresh Dba_feature_usage_statistics (Doc ID 1629485.1)
  • 19.
    methods to refreshmanually alter session set events 'immediate trace name mmon_test level 6'; How to Manually Refresh Dba_feature_usage_statistics (Doc ID 1629485.1) alter session set "_SWRF_TEST_ACTION"=53; How to Manually Refresh Dba_feature_usage_statistics (Doc ID 1629485.1)
  • 20.
    SWR => SelectWorkload Repository (Framework?) ADR auto purge alter session set "_swrf_test_action" = 101; Bug 9530322 ADR auto purge does not occur in ASM instance or standby database Split the AWR partitions alter session set "_swrf_test_action" = 72; Manually Purge the Optimizer Statistics & AWR Snaphots to Reduce Space Usage of SYSAUX Tablespace (Doc ID 1965061.1) AWR Snapshot traces snapshot flush trace enable 10 disable 11 MMON action trace enable 28 disable 29 other "_SWRF_TEST_ACTION" values
  • 21.
    methods to refreshmanually alter session set events 'immediate trace name mmon_test level 6'; How to Manually Refresh Dba_feature_usage_statistics (Doc ID 1629485.1) alter session set "_SWRF_TEST_ACTION"=53; How to Manually Refresh Dba_feature_usage_statistics (Doc ID 1629485.1) DEMO
  • 22.
    DBA_FEATURE_USAGE_STATISTICS components behind thescene methods to refresh manually single checks in detail
  • 23.
    single checks indetail to check, if the feature is installed at all: DBU_INST_ALWAYS_INSTALLED 1 /* no test required */ DBU_INST_OBJECT 2 /* object name in LOGIC */ DBU_INST_TEST 4 /* only test */ wri$_dbu_feature_metadata mt NAME INST_CHK_METHOD INST_CHK_LOGIC USG_DET_METHOD USG_DET_LOGIC *DESCRIPTION
  • 24.
    single checks indetail to check, if the feature is installed at all: DBU_INST_ALWAYS_INSTALLED 1 /* no test required */ DBU_INST_OBJECT 2 /* object name in LOGIC */ DBU_INST_TEST 4 /* only test */ method to be used to check feature usage:: DBU_DETECT_BY_SQL 1 /* SQL specified in USG_DET_LOGIC */ DBU_DETECT_BY_PROCEDURE 2 /* Procedure -- “ -- */ DBU_DETECT_NULL 4 /* only test for _DBFUS_TEST_SQL_7 */ wri$_dbu_feature_metadata mt NAME INST_CHK_METHOD INST_CHK_LOGIC USG_DET_METHOD USG_DET_LOGIC *DESCRIPTION $ORACLE_HOME/rdbms/admin/catfusrg.sql -> dbmsfus.sql -> prvtfus.plb
  • 25.
    single checks indetail to check, if the feature is installed at all: DBU_INST_ALWAYS_INSTALLED 1 /* no test required */ DBU_INST_OBJECT 2 /* object name in LOGIC */ DBU_INST_TEST 4 /* only test */ method to be used to check feature usage:: DBU_DETECT_BY_SQL 1 /* SQL specified in USG_DET_LOGIC */ DBU_DETECT_BY_PROCEDURE 2 /* Procedure -- “ -- */ DBU_DETECT_NULL 4 /* only test for _DBFUS_TEST_SQL_7 */ examples: Advanced Replication: select count(*), NULL, NULL from dba_repcat; Zone maps: DBMS_FEATURE_ZMAP Oracle Text: ctxsys.drifeat.dr$feature_track wri$_dbu_feature_metadata mt NAME INST_CHK_METHOD INST_CHK_LOGIC USG_DET_METHOD USG_DET_LOGIC *DESCRIPTION
  • 26.
    single checks indetail DBMS_FEATURE_* Argument Name Type In/Out Default ------------- ------ ------ ------- IS_USED NUMBER OUT DATA_RATIO NUMBER OUT CLOB_REST CLOB OUT wri$_dbu_feature_metadata mt NAME INST_CHK_METHOD INST_CHK_LOGIC USG_DET_METHOD USG_DET_LOGIC *DESCRIPTION
  • 27.
    single checks indetail DBMS_FEATURE_* Argument Name Type In/Out Default ------------- ------ ------ ------- IS_USED NUMBER OUT DATA_RATIO NUMBER OUT CLOB_REST CLOB OUT wri$_dbu_feature_metadata mt NAME INST_CHK_METHOD INST_CHK_LOGIC USG_DET_METHOD USG_DET_LOGIC *DESCRIPTION DEMO
  • 28.
  • 29.
    single checks indetail DEMO
  • 30.
    single checks indetail create or replace PROCEDURE dbms_feature_goldengate (feature_boolean OUT NUMBER, aux_count OUT NUMBER, feature_info OUT CLOB) …... select decode (count(*), 0, 0, 1) into num_capture from dba_capture where UPPER(purpose) = 'GOLDENGATE CAPTURE'; select decode (count(*), 0, 0, 1) into num_ds_capture from dba_capture where UPPER(purpose) = 'GOLDENGATE CAPTURE' and UPPER(capture_type) = 'DOWNSTREAM'; select decode (count(*), 0, 0, 1) into num_apply from dba_apply where UPPER(purpose) IN ('GOLDENGATE APPLY', 'GOLDENGATE CAPTURE'); select sum(count) into num_dblogreader from GV$GOLDENGATE_CAPABILITIES where name like 'DBLOGREADER'; select sum(count) into num_transient_duplicate from GV$GOLDENGATE_CAPABILITIES where name like 'TRANSIENTDUPLICATE'; select sum(count) into num_trigger_suppression
  • 31.
    report Database Options/Management PacksUsage Reporting for Oracle Databases 11gR2 and 12c (Doc ID 1317265.1) PRODUCT USAGE Description This section provides an overview of each option/pack that has been used in the database and if they are currently in use. It will also provide information when the product was first used and when it was used last time. FEATURE USAGE DETAILS Description This section provides a detailed report of features used that has triggered the usage of a product. The report is based on the DBA_FEATURE_USAGE_STATISTICS view. The CURRENTLY_USED column of DBA_FEATURE_USAGE_STATISTICS view indicates if the feature in question was used during the last sampling interval by VERSION and DBID SQL> @options_packs_usage_statistics.sql
  • 32.
    Disclaimer (again) this presentationis ONLY about the features and possibilities of DBA_FEATURE_USAGE_STATISTICS view and supporting packages/procedures NO information about LMS activities NO information about license optimization
  • 33.
  • 34.
    Wie misst Oracledie Verwendung von Database Features? DOAG 2015 http://berxblog.blogspot.com @martinberx [email protected]

Editor's Notes

  • #3 ? who is Sales / Presales? ? who works for LMS - License Management Services ? ? who ever had a LMS audit
  • #4 LMS - License Management Services
  • #16 DBMS_FEATURE_* => procedures DBMS_FEATURE_USAGE => Packages ; not in docu!
  • #17 DBMS_SWRF_REPORT_INTERNAL PACKAGE * * This package will handle the reporting for AWR. The report main * routine will be called by the dbms_workload_repository.awr_report * function.
  • #19 initiates MMON to run the test (?) I did not find any other levelthan 6 in MOS
  • #20 runs in current session! => simple to trace :-) SWR => Select Workload Repository (Framework?) several other Numbers mentioned in MOS: Bug 9530322 ADR auto purge does not occur in ASM instance or standby database 'alter session set "_swrf_test_action" = 101; Manually Purge the Optimizer Statistics & AWR Snaphots to Reduce Space Usage of SYSAUX Tablespace (Doc ID 1965061.1) Split the AWR partitions so that there is more chance of the smaller partition being purged: alter session set "_swrf_test_action" = 72; Troubleshooting: AWR Snapshot Collection Issues (Doc ID 1301503.1) MMON action trace ("28" below) snapshot flush trace ("10" below) To disable the traces again, use the following syntax: alter session set "_swrf_test_action" = 29; alter session set "_swrf_test_action" = 11;
  • #21 runs in current session! => simple to trace :-) SWR => Select Workload Repository (Framework?) several other Numbers mentioned in MOS: Bug 9530322 ADR auto purge does not occur in ASM instance or standby database 'alter session set "_swrf_test_action" = 101; Manually Purge the Optimizer Statistics & AWR Snaphots to Reduce Space Usage of SYSAUX Tablespace (Doc ID 1965061.1) Split the AWR partitions so that there is more chance of the smaller partition being purged: alter session set "_swrf_test_action" = 72; Troubleshooting: AWR Snapshot Collection Issues (Doc ID 1301503.1) MMON action trace ("28" below) snapshot flush trace ("10" below) To disable the traces again, use the following syntax: alter session set "_swrf_test_action" = 29; alter session set "_swrf_test_action" = 11;
  • #22 runs in current session! => simple to trace :-)
  • #29 https://blogs.oracle.com/UPGRADE/entry/new_11_2_0_4
  • #30 https://blogs.oracle.com/UPGRADE/entry/new_11_2_0_4
  • #31 create or replace PROCEDURE dbms_feature_goldengate (feature_boolean OUT NUMBER, aux_count OUT NUMBER, feature_info OUT CLOB) select decode (count(*), 0, 0, 1) into num_capture from dba_capture where UPPER(purpose) = 'GOLDENGATE CAPTURE'; select decode (count(*), 0, 0, 1) into num_ds_capture from dba_capture where UPPER(purpose) = 'GOLDENGATE CAPTURE' and UPPER(capture_type) = 'DOWNSTREAM'; select decode (count(*), 0, 0, 1) into num_apply from dba_apply where UPPER(purpose) IN ('GOLDENGATE APPLY', 'GOLDENGATE CAPTURE'); select sum(count) into num_dblogreader from GV$GOLDENGATE_CAPABILITIES where name like 'DBLOGREADER'; select sum(count) into num_transient_duplicate from GV$GOLDENGATE_CAPABILITIES where name like 'TRANSIENTDUPLICATE'; select sum(count) into num_trigger_suppression from GV$GOLDENGATE_CAPABILITIES where name like 'TRIGGERSUPPRESSION'; select sum(count) into num_ggsddltrigopt from GV$GOLDENGATE_CAPABILITIES where name like 'DDLTRIGGEROPTIMIZATION'; select sum(count) into num_dbencryption from GV$GOLDENGATE_CAPABILITIES where name like 'DBENCRYPTION'; select sum(count) into num_ggsession from GV$GOLDENGATE_CAPABILITIES where name like 'GGSESSION'; select sum(count) into num_delcascadehint from GV$GOLDENGATE_CAPABILITIES where name like 'DELETECASCADEHINT'; select sum(count) into num_suplog from GV$GOLDENGATE_CAPABILITIES where name like 'SUPPLEMENTALLOG'; total_feature_usage := num_capture + num_apply + num_dblogreader + num_transient_duplicate + num_ggsddltrigopt + num_trigger_suppression + num_dbencryption + num_ggsession + num_delcascadehint + num_suplog;
  • #33 LMS - License Management Services