DBA_FEATURE_USAGE_STATISTICS INCORRECTLY SHOWS ADG USAGE ON LOGICAL STANDBY

(Doc ID 2389166.1)

Last updated on MAY 16, 2018

Applies to:

Oracle Database - Enterprise Edition - Version 12.1.0.2 and later
Information in this document applies to any platform.

Symptoms

When monitoring licensed options via DBA_FEATURE_USAGE_STATISTICS on a
logical standby, customer is seeing 'Active Data Guard - Real-Time Query on
Physical Standby' as active.

 

Logical standby database shows the following:


select name, first_usage_date, last_usage_date from dba_feature_usage_statistics where name like 'Active Data %';

NAME FIRST_USA LAST_USAG
---------------------------------------------------------------- --------- ---------
Active Data Guard - Real-Time Query on Physical Standby
Active Data Guard - Real-Time Query on Physical Standby
Active Data Guard - Real-Time Query on Physical Standby
Active Data Guard - Real-Time Query on Physical Standby 06-FEB-17 14-FEB-17

select name, created, database_role from v$database;

NAME CREATED DATABASE_ROLE
--------- --------- ----------------
ORCL 23-JAN-15 LOGICAL STANDBY



Changes

 A new feature of 12.1.0.x and up :

 "Primary database redo can now be cascaded in real time as it is being
written to the standby redo log file at a physical standby or a far sync
instance. This feature is known as real-time cascading and it requires a
license for the Oracle Active Data Guard option."

 

There is a check in packages DBMS_FEATURE_DATA_GUARD and DBMS_FEATURE_ACTIVE_DATA_GUARD(Added from script catfusrg.sql)  to see if
cascaded destinations are configured.

 

ADG must be licensed in order to use the real time cascading feature which is introduced in 12.1.

---------------------------
  -- get the number of cascading standbys
  execute immediate 'select count(unique(PARENT_DBUN)) ' ||
  'from v$dataguard_config ' ||
  'where (PARENT_DBUN not in ' ||
  '(select DB_UNIQUE_NAME from v$database) and ' ||
  'PARENT_DBUN != ''NONE'' and PARENT_DBUN != ''UNKNOWN'')'
  into num_casc_stby;
---------------------------

The above SQL generates a 'false' positive when run on any standby that is
receiving redo directly from the primary.

 

This will occur on both physical standby and logical standby that received
redo from the primary directly. However it's not an issue with the physical
standby as it's open read only and thus the feature usage data cannot be
maintained there. This mainly impacts logical standby since it's open read
write.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms