{"id":2369,"date":"2026-02-26T17:40:17","date_gmt":"2026-02-26T15:40:17","guid":{"rendered":"https:\/\/www.ludovicocaldara.net\/dba\/?p=2369"},"modified":"2026-02-26T17:40:17","modified_gmt":"2026-02-26T15:40:17","slug":"dg26ai-strict-database-validation","status":"publish","type":"post","link":"https:\/\/www.ludovicocaldara.net\/dba\/dg26ai-strict-database-validation\/","title":{"rendered":"Data Guard 26ai &#8211; #20: Strict database validation"},"content":{"rendered":"<p dir=\"auto\"><a href=\"https:\/\/www.ludovicocaldara.net\/dba\/dg-26ai-series\/\">This post is part of a blog series.<\/a><\/p>\n<p dir=\"auto\">Monitoring your Data Guard configuration is essential to ensure your database remains healthy. The Data Guard broker includes a <a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/26\/dgbkr\/validate-database.html\">VALIDATE DATABASE<\/a> command which assesses the system\u2019s health and determines its readiness for switchover or failover.<br \/>\nUp to 21c, this command checks technical readiness for these operations and confirms whether they are likely to succeed. However, some misconfigurations, such as disabled flashback logging or offline PDBs, might not cause immediate failures but still present risks of data loss or other operational issues.<br \/>\nFor example, if flashback logging is disabled, a failover would require reinstating the former primary. If there are offline PDBs on the standby database, perhaps because the primary was cloned without copying over the data files, these PDBs would not be available after a failover. This situation could cause data loss. Other issues may not block a switchover, yet still lead to unwanted results.<br \/>\nOracle Data Guard 26ai introduces strict database validation. This feature marks a database as not ready for switchover or failover if any advanced checks fail.<\/p>\n<p dir=\"auto\"><a href=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-validate-strict-scaled.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2370\" src=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-validate-strict-1024x457.png\" alt=\"Syntax of the VALIDATE DATABASE command, along with an example showing that flashback isn't enabled.\" width=\"584\" height=\"261\" srcset=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-validate-strict-1024x457.png 1024w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-validate-strict-300x134.png 300w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-validate-strict-768x343.png 768w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-validate-strict-1536x686.png 1536w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-validate-strict-2048x914.png 2048w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-validate-strict-500x223.png 500w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a>Strict validation checks include:<\/p>\n<ul class=\"\" dir=\"auto\">\n<li class=\"text-start \">Matching apply properties<\/li>\n<li class=\"text-start \">Matching transport properties<\/li>\n<li class=\"text-start \">All data files online<\/li>\n<li class=\"text-start \">All PDBs online<\/li>\n<li class=\"text-start \">Flashback logging and force logging enabled<\/li>\n<li class=\"text-start \">Properly configured and cleared log files<\/li>\n<li class=\"text-start \">No saved PDB states, which is important to avoid issues with Active Data Guard<\/li>\n<\/ul>\n<p dir=\"auto\">To run all these checks at once, use:<\/p>\n<pre class=\"lang:plsql decode:true \">VALIDATE DATABASE {db_unique_name} STRICT ALL;<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oracle 26ai introduces strict validation to ensure Data Guard readiness for switchover or failover, preventing hidden risks and data loss. <a href=\"https:\/\/www.ludovicocaldara.net\/dba\/dg26ai-strict-database-validation\/\">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-2369","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\/2369","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=2369"}],"version-history":[{"count":4,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2369\/revisions"}],"predecessor-version":[{"id":2439,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2369\/revisions\/2439"}],"wp:attachment":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/media?parent=2369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/categories?post=2369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/tags?post=2369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}