{"id":2290,"date":"2026-01-27T23:20:09","date_gmt":"2026-01-27T21:20:09","guid":{"rendered":"https:\/\/www.ludovicocaldara.net\/dba\/?p=2290"},"modified":"2026-01-27T23:20:09","modified_gmt":"2026-01-27T21:20:09","slug":"dg-26ai-faster-role-transitions","status":"publish","type":"post","link":"https:\/\/www.ludovicocaldara.net\/dba\/dg-26ai-faster-role-transitions\/","title":{"rendered":"Data Guard 26ai &#8211; #1: Faster role transitions"},"content":{"rendered":"<p><a href=\"https:\/\/www.ludovicocaldara.net\/dba\/dg-26ai-series\/\">This post is part of a blog series.<\/a><br \/>\nI&#8217;ve already blogged about it on the official Oracle MAA Blog <a href=\"https:\/\/blogs.oracle.com\/maa\/faster-data-guard-transitions-23ai\">(read here)<\/a> , but let me insist on this.<\/p>\n<p>Role transitions (switchover, failover) are much faster in Oracle Data Guard 26ai.<\/p>\n<p>Depending on the configuration and workload, they can be up to five times faster! No changes to the application code or configuration: you get this improvement out of the box.<a href=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/faster-role-transitions-26ai.png\"><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2291\" src=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/faster-role-transitions-26ai.png\" alt=\"\" width=\"895\" height=\"360\" srcset=\"https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/faster-role-transitions-26ai.png 895w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/faster-role-transitions-26ai-300x121.png 300w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/faster-role-transitions-26ai-768x309.png 768w, https:\/\/www.ludovicocaldara.net\/dba\/wp-content\/uploads\/2026\/01\/faster-role-transitions-26ai-500x201.png 500w\" sizes=\"auto, (max-width: 895px) 100vw, 895px\" \/><\/a><\/p>\n<p>Here&#8217;s an example of two identical configurations using 19.29 and 23.26.1, one PDB, and no application services (basically, an empty database):<\/p>\n<h2>Switchover in 19.29<\/h2>\n<pre class=\"lang:plsql highlight:0 decode:true \">$ dgmgrl sys\/{password}\r\nDGMGRL for Linux: Release 19.0.0.0.0 - Production on Mon Jan 12 15:05:07 2026\r\nVersion 19.29.0.0.0\r\n\r\nCopyright (c) 1982, 2025, Oracle and\/or its affiliates. All rights reserved.\r\n\r\nWelcome to DGMGRL, type \"help\" for information.\r\nConnected to \"dgb1929ru\"\r\nConnected as SYSDBA.\r\nDGMGRL&gt; set time on\r\n15:05:18 DGMGRL&gt; switchover to dgb1929rub\r\nPerforming switchover NOW, please wait...\r\nOperation requires a connection to database \"dgb1929rub\"\r\nConnecting ...\r\nConnected to \"dgb1929rub\"\r\nConnected as SYSDBA.\r\nNew primary database \"dgb1929rub\" is opening...\r\nOperation requires start up of instance \"b1929ru\" on database \"dgb1929ru\"\r\nStarting instance \"b1929ru\"...\r\nConnected to an idle instance.\r\nORACLE instance started.\r\nConnected to \"dgb1929ru\"\r\nDatabase mounted.\r\nSwitchover succeeded, new primary is \"dgb1929rub\"\r\n15:06:02 DGMGRL&gt;<\/pre>\n<p><strong>Total: ~44 seconds<\/strong><\/p>\n<h2>Switchover in 23.26.1<\/h2>\n<pre class=\"lang:plsql highlight:0 decode:true \">$ dgmgrl sys\/$pass\r\nDGMGRL for Linux: Release 23.26.1.0.0 - Production on Mon Jan 12 15:43:29 2026\r\nVersion 23.26.1.0.0\r\n\r\nCopyright (c) 1982, 2026, Oracle and\/or its affiliates. All rights reserved.\r\n\r\nWelcome to DGMGRL, type \"help\" for information.\r\nConnected to \"dgdb261\"\r\nConnected as SYSDBA.\r\n\r\nDGMGRL&gt; set time on\r\n15:43:54 DGMGRL&gt; switchover to dgdb261b\r\n2026-01-12T15:43:55.742+00:00\r\nPerforming switchover NOW, please wait...\r\n\r\n2026-01-12T15:43:55.811+00:00\r\nOperation requires a connection to database \"dgdb261b\"\r\nConnecting ...\r\nConnected to \"dgdb261b\"\r\nConnected as SYSDBA.\r\n\r\n2026-01-12T15:43:55.971+00:00\r\nContinuing with the switchover...\r\n\r\n2026-01-12T15:43:58.726+00:00\r\nNew primary database \"dgdb261b\" is opening...\r\n\r\n2026-01-12T15:43:58.728+00:00\r\nOperation requires start up of instance \"db261\" on database \"dgdb261\"\r\nStarting instance \"db261\"...\r\nConnected to an idle instance.\r\nORACLE instance started.\r\nConnected to \"dgdb261\"\r\nDatabase mounted.\r\n\r\n2026-01-12T15:44:14.181+00:00\r\nSwitchover succeeded, new primary is \"dgdb261b\"\r\n\r\n2026-01-12T15:44:14.193+00:00\r\nSwitchover processing complete, broker ready.<\/pre>\n<p><strong>Total: &lt; 20 seconds<\/strong><\/p>\n<p>\ud83d\ude0e<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post is part of a blog series. I&#8217;ve already blogged about it on the official Oracle MAA Blog (read here) , but let me insist on this. Role transitions (switchover, failover) are much faster in Oracle Data Guard 26ai. &hellip; <a href=\"https:\/\/www.ludovicocaldara.net\/dba\/dg-26ai-faster-role-transitions\/\">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-2290","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\/2290","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=2290"}],"version-history":[{"count":3,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2290\/revisions"}],"predecessor-version":[{"id":2391,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/posts\/2290\/revisions\/2391"}],"wp:attachment":[{"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/media?parent=2290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/categories?post=2290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ludovicocaldara.net\/dba\/wp-json\/wp\/v2\/tags?post=2290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}