Oracle BI EE has a nice feature, called Usage Tracking. This is basically BI on BI.
Setting this up and applying is a techy trick, where (as usual) the devil is in the details and (as usual) the Oracle Documentation has room for improvement.
This document describes it to the letter.
1. Oracle BI EE
JDE Cadran – Accelerate
Usage Tracking
Date: 25-11-2015
Author: Rick Brobbel
Last Edited: Rick Brobbel
Cadran Consultancy b.v.
Project: Oracle BI EE
Subject: Usage Tracking
Version: v98
2. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 2 of 14
Subject : Usage Tracking Date : 25-11-15
1
Table of Contents
1 Usage Tracking.......................................................................................................................32
3
3. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 3 of 14
Subject : Usage Tracking Date : 25-11-15
Oracle BI - JDE Cadran - Accelerate – Usage Tracking
1 Usage Tracking
Usage Tracking is BI on BI and targets ICT-departments to bring insight in the usage of BI. It collects information about users, analytics,1
dashboards, queries and subject areas and can then provide information about frequency, data sizes, query times and so on.2
The summary is already logged by the BI-server in the logfiles and OEM-diagnostic pages and in the Administration panel (sessions):3
4
4. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 4 of 14
Subject : Usage Tracking Date : 25-11-15
See http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/bi/bi1116/ut/ut.html for Tutorial.1
This tutorial has been used to set up Usage Tracking in Oracle BI Server.2
3
Component Explanation Screen Print
Database
Connection
The database connection used is the Oracle BI Repository
database of the schema OBIEE_BIPLATFORM as it has
been created by the RCU (Repository Creation Utility)
during the installation of Oracle BI.
The Connection Pool connects to this database where the
table S_NQ_ACCT resides, which is the key table
containing the information.
In the Write Back tab the value of Unicode Database
Type has been left unchecked as it turned out that
this would mash up the data in the table (prefixes like
N' start to appear in text fields).
5. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 5 of 14
Subject : Usage Tracking Date : 25-11-15
Component Explanation Screen Print
Variables To make this connection flexible the connection parameters
(database, user, password) are using repository variables.
The Connection Pool uses the variables to connect to the
location of this database, the correct schema and user and
password.
6. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 6 of 14
Subject : Usage Tracking Date : 25-11-15
Component Explanation Screen Print
Physical
Layer
In the physical layer aliases have been created on this
single table to support either Facts and Dimensions. The
star schema is fairly straight forward.
Logical Layer In the logical layer multiple dimension tables with
hierarchies have been created to support the various
corners to access all metrics.
Multiple facts (base and derived) with their specific
aggregations have been created.
In all Logic Table Sources the following filtering has been in
applied in the Content - WHERE - clause:
"BIRepository".""."OBIEE_BIPLATFORM"."BI_UT
_FACT_S_NQ_ACCT_UsageTrackingFacts"."SUBJEC
T_AREA_NAME" <> 'UT'
This prevents the queries on Usage Tracking to be included
in the statistics. Therefore Usage Tracking itself is not
tracked.
7. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 7 of 14
Subject : Usage Tracking Date : 25-11-15
Component Explanation Screen Print
Logical Layer Logical Table Sources
The Time Dimension has been purified to Year - Quarter -
Month - Start Date - Start Time. All redundant attributes
(such Week, Ran, etc) and references to End Date and End
Time were removed in order to support better working of
zoom-in or drill-down and for ago-functions.
8. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 8 of 14
Subject : Usage Tracking Date : 25-11-15
Component Explanation Screen Print
9. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 9 of 14
Subject : Usage Tracking Date : 25-11-15
Component Explanation Screen Print
10. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 10 of 14
Subject : Usage Tracking Date : 25-11-15
Component Explanation Screen Print
11. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 11 of 14
Subject : Usage Tracking Date : 25-11-15
Component Explanation Screen Print
Presentation
Layer
The components of the Presentation Layer have been
copied from Oracle BI SampleApp.
12. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 12 of 14
Subject : Usage Tracking Date : 25-11-15
Component Explanation Screen Print
Oracle
Enterprise
Manager
Configured to the letter according to the instructions in
http://www.oracle.com/webfolder/technetwork/tutorials/obe/f
mw/bi/bi1116/ut/ut.html.
Our specifics are the reference to the correct Connection
Pool and database schema as configured in the Repository
File.
13. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 13 of 14
Subject : Usage Tracking Date : 25-11-15
Analytics &
Dashboards
All Analytics Queries are prefixed to bypass caching in
order to be real time always:
SET VARIABLE DISABLE_CACHE_HIT=1;
The database tables involved (S_NQ_ACCT and S_NQ_DB_ACCT) will grow over time. Purging might be in place. This can be achieved by
periodically applying the following scripts:
14. ã Cadran Consultancy b.v.
Author : Rick Brobbel Date printed : 25-11-15
Project : Oracle BI EE Page : 14 of 14
Subject : Usage Tracking Date : 25-11-15
DELETE S_NQ_DB_ACCT
WHERE START_TS < '01-APR-2014'; -- SET THE AGING DATE HERE BY WHICH YOU WANT TO PURGE
DELETE S_NQ_ACCT
WHERE START_TS < '01-APR-2014'; -- SET THE AGING DATE HERE BY WHICH YOU WANT TO PURGE
The table S_NQ_DB_ACCT has children for the S_NS_ACCT. They are related by entry ID. The S_NQ_ACCT.ID =
S_NQ_DB_ACCT.LOGICAL_QUERY_ID. These are related and kept integer in the database. That means that you can only delete records from
the S_NQ_ACCT that has no children in the S_NQ_DB_ACCT. The above DELETE-statement does not take this into account. When this becomes
problematic you need to delete records in the S_NQ_DB_ACCT based on date first and then from the S_NQ_DB_ACCT based on ID does not
exist in LOGICAL_QUERY_ID.