{"id":2465,"date":"2026-04-16T16:30:40","date_gmt":"2026-04-16T14:30:40","guid":{"rendered":"https:\/\/www.ludovicocaldara.net\/dba\/?p=2465"},"modified":"2026-04-16T16:30:40","modified_gmt":"2026-04-16T14:30:40","slug":"dg26ai-enhanced-observer-diagnostics","status":"publish","type":"post","link":"https:\/\/www.ludovicocaldara.net\/dba\/dg26ai-enhanced-observer-diagnostics\/","title":{"rendered":"Data Guard 26ai &#8211; #27: Enhanced Observer Diagnostics"},"content":{"rendered":"<p><a href=\"https:\/\/www.ludovicocaldara.net\/dba\/dg-26ai-series\/\">This post is part of a blog series.<\/a><\/p>\n<p>Another small but useful addition in Data Guard 26ai is a set of new columns in <a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/26\/refrn\/V-FS_FAILOVER_OBSERVERS.html\">V$FS_FAILOVER_OBSERVERS<\/a>:<\/p>\n<ul>\n<li>LAST_PING_PRIMARY<\/li>\n<li>LAST_PING_TARGET<\/li>\n<li>LOG_FILE<\/li>\n<li>STATE_FILE<\/li>\n<li>CURRENT_TIME<\/li>\n<\/ul>\n<p>These columns give a bit more visibility into observer activity and configuration, which can help when checking Fast-Start Failover health or troubleshooting connectivity issues.<\/p>\n<p><a href=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/04\/dg26ai-enhanced-observer-diagnostics.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2468\" src=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/04\/dg26ai-enhanced-observer-diagnostics-1024x492.png\" alt=\"List of new columns, example output of a select from v$fs_failover_observers, and small diagram of a Data Guard configuration.\" width=\"584\" height=\"281\" srcset=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/04\/dg26ai-enhanced-observer-diagnostics-1024x492.png 1024w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/04\/dg26ai-enhanced-observer-diagnostics-300x144.png 300w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/04\/dg26ai-enhanced-observer-diagnostics-768x369.png 768w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/04\/dg26ai-enhanced-observer-diagnostics-1536x737.png 1536w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/04\/dg26ai-enhanced-observer-diagnostics-500x240.png 500w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/04\/dg26ai-enhanced-observer-diagnostics.png 1900w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>A simple query shows them:<\/p>\n<pre class=\"lang:plsql decode:true\">select name, registered, host, ismaster, pinging_primary, pinging_target,\r\n       last_ping_primary, last_ping_target, log_file, state_file, current_time\r\nfrom   v$fs_failover_observers\r\nwhere  host is not null;\r\n\r\nNAME     REGI HOST     ISMA PING PING LAST_PING_PRIMARY LAST_PING_TARGET LOG_FILE           STATE_FILE        CURRENT_TIME\r\n-------- ---- -------- ---- ---- ---- ----------------- ---------------- ------------------ ----------------- -------------------------------\r\nhost-obs YES  host-obs YES  YES  YES                  0                2 \/...\/observer.lst  \/...\/observer.dat 06-OCT-24 06.38.14.000000000 AM<\/pre>\n<p>This is particularly useful when there are multiple observers:<\/p>\n<ul>\n<li>if LAST_PING_PRIMARY increases, that observer may no longer be reaching the primary<\/li>\n<li>if LAST_PING_TARGET increases, the connectivity issue may be on the standby side<\/li>\n<li>if both increase, that observer may have lost connectivity more broadly<\/li>\n<li>LOG_FILE shows the path of the observer log file in use. Depending on your standards (or lack of), the location is not always the same.<\/li>\n<li>STATE_FILE shows the path of the observer state file<\/li>\n<li>CURRENT_TIME shows the time of the last update to the view<\/li>\n<\/ul>\n<p>Overall, this is not a major feature, but it is a nice diagnostic improvement in 26ai and makes <code>V$FS_FAILOVER_OBSERVERS<\/code> a bit more informative.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Enhanced observer diagnostics in Data Guard 26ai: new V$FS_FAILOVER_OBSERVERS columns show last ping times, log\/state files, and observer time. <a href=\"https:\/\/www.ludovicocaldara.net\/dba\/dg26ai-enhanced-observer-diagnostics\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[375,329],"tags":[],"class_list":["post-2465","post","type-post","status-publish","format-standard","hentry","category-oracle-ai-database-26ai","category-oracle-dg"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/comments?post=2465"}],"version-history":[{"count":3,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2465\/revisions"}],"predecessor-version":[{"id":2469,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2465\/revisions\/2469"}],"wp:attachment":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/media?parent=2465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/categories?post=2465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/tags?post=2465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}