{"id":2303,"date":"2026-01-30T18:14:17","date_gmt":"2026-01-30T16:14:17","guid":{"rendered":"https:\/\/www.ludovicocaldara.net\/dba\/?p=2303"},"modified":"2026-01-30T18:14:17","modified_gmt":"2026-01-30T16:14:17","slug":"dg26ai-faster-dml-redirection","status":"publish","type":"post","link":"https:\/\/www.ludovicocaldara.net\/dba\/dg26ai-faster-dml-redirection\/","title":{"rendered":"Data Guard 26ai &#8211; #4: Faster DML Redirection"},"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\">Before Oracle 26ai,<a href=\"https:\/\/blogs.oracle.com\/maa\/dml-redirection\"> Active Data Guard\u2019s DML redirection<\/a> was significantly slower than DMLs executed directly on the primary database. When your app ran DML on the standby, the changes had to be executed on the primary and then returned and applied on the standby before your session could continue. That led to unnecessary pauses, with sessions often waiting on the \u201cstandby query scn advance\u201d wait event.<\/p>\n<p dir=\"auto\">Most of that waiting isn&#8217;t always needed. Theoretically, you only have to wait if your session needs to commit or read the updated data.<\/p>\n<p dir=\"auto\">Oracle AI Database 26ai fixes this. Now, once DML succeeds on the primary, your session can continue with the next statement (or commit) without waiting. The only wait required to keep ACID consistency is upon commit or read. With this brilliant change, redirected transactions are up to 33 times faster in our internal tests compared to 19c.<\/p>\n<p dir=\"auto\">This new behavior is on by default, but if you prefer the old way, you can set the hidden parameter &#8220;_alter_adg_redirect_behavior&#8221; to &#8220;sync_each_dml&#8221;.<\/p>\n<p dir=\"auto\">The chart below shows the difference. We tested both 19c and 26ai (primary and standby) with SwingBench running 16 concurrent order-entry sessions, each doing a mix of \u201cnewCustomerProess\u201d and \u201cbrowseProducts\u201d operations.<\/p>\n<p dir=\"auto\"><a href=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-faster-dml-redirect.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2308\" src=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-faster-dml-redirect.png\" alt=\"a chart shows that 26ai redirected DML transactions are 13x faster in mixed workloads with 5% of writes, and 33x faster in mixed workloads with 25% writes.\" width=\"656\" height=\"456\" srcset=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-faster-dml-redirect.png 656w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-faster-dml-redirect-300x209.png 300w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/dg26ai-faster-dml-redirect-432x300.png 432w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oracle 26ai boosts Active Data Guard DML redirection, cutting wait times and accelerating transactions up to 33x\u2014no more session pauses after DML. <a href=\"https:\/\/www.ludovicocaldara.net\/dba\/dg26ai-faster-dml-redirection\/\">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":{"footnotes":""},"categories":[375,329],"tags":[],"class_list":["post-2303","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\/2303","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=2303"}],"version-history":[{"count":4,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2303\/revisions"}],"predecessor-version":[{"id":2397,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2303\/revisions\/2397"}],"wp:attachment":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/media?parent=2303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/categories?post=2303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/tags?post=2303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}