Monday, February 1, 2021

Far Sync Instance Stats Not Shown on Data Guard Performance Page on Cloud Control 13.4

Enterprise Manager Cloud control has a separate performance page for viewing data gaurd performance. This gives one page view of redo genration, apply rate and transport lags times. However, in a recent deployment it was observed that no stats related to far sync instances was shown on this page. Below is the screenshot of the data guard performance page (not all standby instances are shown).
The data guard performance page is not available out of the box. One has to run the verify configuration under data guard administration tag twice (yes, twice. refere 1484028.1) to get the views (redo generation, apply rate and trasport lag times) populated with graphs. However, no matter how many times verify configuration was run the far sync instance views were not populated.
It's understandable far sync instances will not have any stats for apply lag or apply rate as they don't do any applying. But at least transport lag which is relevant to far sync instances could be populated. This is shown with dgmgrl.
DGMGRL> show far_sync fs1

Far Sync Instance - fs1

Transport Lag: 0 seconds (computed 0 seconds ago)
Instance(s):
fs1

Far Sync Instance Status:
SUCCESS
During the verify configuration run the EM (assumed) add a new database property called "dbDisplayName" to the DG configuration. This could be observed on the data guard broker log file.
EDIT DATABASE db3 SET PROPERTY dbDisplayName = db1_host_name
Property "dbDisplayName" set to "db1_host_name" for member "db1"
EDIT DATABASE db3 SET PROPERTY dbDisplayName = db1_host_name completed successfully


This property value is used by the EM interally. The "show database" comamnd on dgmgrl will also show this as the "Enterprise Manager Name".
DGMGRL> show database db1

Database - db1

Enterprise Manager Name: db1_host_name
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
db1

Database Status:
SUCCESS 
However, no such command was executed for far sync (i.e edit far_sync fs1 SET PROPERTY dbDisplayName = fs1_host_name).
On the emoms.log could see the following, possibly due to the missing dbDisplayName value on the far sync instance.
2020-08-26 09:20:49,225 [Thread-624744] WARN em.dataguard getDBTargetInfo.1183 - StandbyTargetService.getDBTargetInfo : no match for db_unique_name = fs1, sid = fs1
2020-08-26 09:21:12,020 [EMUI_09_19_58_/console/database/dataguard] WARN em.dataguard getDBTargetInfo.1183 - StandbyTargetService.getDBTargetInfo : no match for db_unique_name = fs1, sid = fs1

The error message shown on the page which states "1. Error: Unable to obtain Agent location for target pptbxfs1. You may not currently be logged in." is ruled out as sys login is used for far sync instead of dbsnmp on the EM. Far sync are in mount mode and need a user that can connect to a mounted instance (refer 1526818.1).
After a SR was rasied, following a 4 month investigation which involved demoing the observed behavior oracle support concluded "this is expected behavior for 'Farsync instance' details not shown in OEM because there is no views are available in Farsync instance like other instance to capture details from farsync to OMS to display in OEM".
This means transport lag stats related to far sync instances will not be visible on the data guard performance page until additional development is done on the OEM.