{"id":43559,"date":"2026-03-24T15:12:49","date_gmt":"2026-03-24T14:12:49","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=43559"},"modified":"2026-03-24T15:48:42","modified_gmt":"2026-03-24T14:48:42","slug":"discover-refreshable-clone-pdb-with-autoupgrade","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/","title":{"rendered":"Discover refreshable clone PDB with Autoupgrade"},"content":{"rendered":"\n<p>AutoUpgrade with a refreshable clone is basically \u201czero\u2011panic upgrades with a live copy of your database.\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-problem-it-solves\">What problem it solves<\/h2>\n\n\n\n<p>Traditionally you had to schedule a maintenance window, stop everything, take a backup, upgrade, and hope nothing went wrong. <\/p>\n\n\n\n<p>With a <strong>refreshable<\/strong> clone PDB, AutoUpgrade builds and continuously syncs a copy of your database while production stays online. At cutover time, you just stop users, do a last refresh, convert\/upgrade the clone, and switch them over. If something goes wrong, the original source is untouched and you can fall back quickly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-core-idea-in-simple-terms\">Core idea in simple terms<\/h2>\n\n\n\n<p>Think of your non\u2011CDB or old\u2011version PDB as the \u201cmaster\u201d and the refreshable clone PDB as a \u201cfollow\u2011me\u201d copy sitting in the target CDB. <\/p>\n\n\n\n<p>AutoUpgrade:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creates a PDB in the target CDB via database link (initial clone of datafiles).<\/li>\n\n\n\n<li>Marks it as refreshable, so redo from the source is applied and it keeps rolling forward.<\/li>\n\n\n\n<li>Lets you test the clone (read\u2011only) while users are still working on the source.<\/li>\n\n\n\n<li>At a controlled start time, runs a last refresh, disconnects it from the source, converts it to a normal PDB, and upgrades it.<\/li>\n<\/ul>\n\n\n\n<p>From your point of view: you prepare everything days in advance, and the real downtime shrinks to \u201cfinal refresh + upgrade + app switch.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-high-level-lifecycle\">High\u2011level lifecycle<\/h2>\n\n\n\n<p>For a non\u2011CDB to PDB migration or a PDB upgrade, the flow looks like this:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-preparation\"><strong>Preparation<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You have a source: non\u2011CDB 12.2\/19c or older PDB.<\/li>\n\n\n\n<li>You have a target: a higher\u2011version CDB (for example 23ai\/26ai) with enough space and network.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-initial-deploy-with-autoupgrade\"><strong>Initial deploy with AutoUpgrade<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You configure AutoUpgrade with the source and target, plus the parameter telling it to use refreshable clone PDB.<\/li>\n\n\n\n<li>In deploy mode, AutoUpgrade creates the pluggable database in the target CDB via DB link, copies the datafiles, and defines it as refreshable.<\/li>\n\n\n\n<li>From now on, redo is shipped from source to target and applied, so the clone stays close to current.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-sync-phase-low-risk-testing\"><strong>Sync phase (low\u2011risk testing)<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The source database stays fully online; business keeps running.<\/li>\n\n\n\n<li>The refreshable clone is read\u2011only, so you can query it, run app smoke tests, check performance characteristics, etc.<\/li>\n\n\n\n<li>AutoUpgrade keeps the job running in the background, doing periodic refreshes.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cutover-final-refresh-and-conversion\"><strong>Cutover (final refresh and conversion)<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When you reach the maintenance window, users leave the system and you quiesce activity on the source.<\/li>\n\n\n\n<li>AutoUpgrade performs a final refresh: last redo from source is applied on the clone so you don\u2019t lose any committed data.<\/li>\n\n\n\n<li>The clone is then disconnected from the source, turned into a regular PDB, and AutoUpgrade moves into the upgrade and conversion steps (non\u2011CDB to PDB conversion if needed, then catalog\/PSU\/UTLRP, etc.).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-post-upgrade-and-fallback\"><strong>Post\u2011upgrade and fallback<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You point applications to the new PDB in the target CDB.<\/li>\n\n\n\n<li>The original source database still exists; if you hit a show\u2011stopper, you can redirect apps back to it and plan a new attempt.<\/li>\n<\/ul>\n\n\n\n<p>In practice, the \u201cscary\u201d part is only the final refresh and the moment you switch your apps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-dbas-like-this-pattern\">Why DBAs like this pattern<\/h2>\n\n\n\n<p>Some clear advantages:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Minimal downtime<\/strong>: Most of the heavy lifting (copy + sync) happens while production is running; downtime is limited to final refresh and upgrade.<\/li>\n\n\n\n<li><strong>Built\u2011in rollback<\/strong>: Because the source stays untouched, you always have a clean fallback without restore\/recovery.<\/li>\n\n\n\n<li><strong>Realistic testing<\/strong>: You test against a clone built from real production data that is almost up\u2011to\u2011date, not a weeks\u2011old backup.<\/li>\n\n\n\n<li><strong>Automation<\/strong>: AutoUpgrade orchestrates the create\u2011clone, refresh, disconnect, convert, and upgrade steps; you mostly steer with parameters and commands instead of custom scripts.<\/li>\n<\/ul>\n\n\n\n<p>Trade\u2011offs are mainly around resources: you need disk, CPU, and network to maintain the refreshable clone, and you have to ensure redo shipping is reliable (archivelog gaps or network glitches can break the refresh and need fixing).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-typical-example\">Typical example<\/h2>\n\n\n\n<p>Imagine you need to move a 19c non\u2011CDB to a new 26ai CDB on a different host, with less than 30 minutes downtime:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Monday: you configure AutoUpgrade with the refreshable clone option, start the job. The tool creates the PDB clone in the 26ai CDB and starts streaming redo. Users never notice.<\/li>\n\n\n\n<li>Next days: you let it refresh every few minutes, developers connect read\u2011only to the clone and test their application against 26ai. Everything looks good.<\/li>\n\n\n\n<li>Saturday night: you enter the maintenance window, let open transactions finish, stop app traffic, and tell AutoUpgrade to proceed to the <strong>final refresh<\/strong>. Once that\u2019s done, it disconnects the clone, upgrades it, and runs post\u2011upgrade steps.<\/li>\n\n\n\n<li>After checks, you change the service names on the app side so they point to the new PDB. Your downtime is mostly spent waiting for the upgrade scripts, not copying terabytes of data.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>AutoUpgrade with a refreshable clone is basically \u201czero\u2011panic upgrades with a live copy of your database.\u201d. What problem it solves Traditionally you had to schedule a maintenance window, stop everything, take a backup, upgrade, and hope nothing went wrong. With a refreshable clone PDB, AutoUpgrade builds and continuously syncs a copy of your database while [&hellip;]<\/p>\n","protected":false},"author":146,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[59],"tags":[1570,96,3596],"type_dbi":[],"class_list":["post-43559","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-autoupgrade","tag-oracle","tag-refreshable-pdb"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Discover refreshable clone PDB with Autoupgrade - dbi Blog<\/title>\n<meta name=\"description\" content=\"Use of refreshable PDB clone for upgrade databases with Oracle Autoupgrade\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Discover refreshable clone PDB with Autoupgrade\" \/>\n<meta property=\"og:description\" content=\"Use of refreshable PDB clone for upgrade databases with Oracle Autoupgrade\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-24T14:12:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-24T14:48:42+00:00\" \/>\n<meta name=\"author\" content=\"Xavier Franck Godard\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Xavier Franck Godard\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/\"},\"author\":{\"name\":\"Xavier Franck Godard\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4809e0f09c20eb127777125e037328f2\"},\"headline\":\"Discover refreshable clone PDB with Autoupgrade\",\"datePublished\":\"2026-03-24T14:12:49+00:00\",\"dateModified\":\"2026-03-24T14:48:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/\"},\"wordCount\":792,\"commentCount\":0,\"keywords\":[\"autoupgrade\",\"Oracle\",\"refreshable PDB\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/\",\"name\":\"Discover refreshable clone PDB with Autoupgrade - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2026-03-24T14:12:49+00:00\",\"dateModified\":\"2026-03-24T14:48:42+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4809e0f09c20eb127777125e037328f2\"},\"description\":\"Use of refreshable PDB clone for upgrade databases with Oracle Autoupgrade\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Discover refreshable clone PDB with Autoupgrade\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4809e0f09c20eb127777125e037328f2\",\"name\":\"Xavier Franck Godard\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/661728efb0582c04aea2c696eb2178e01da2a8f15537fbe6ad095c653854fb7e?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/661728efb0582c04aea2c696eb2178e01da2a8f15537fbe6ad095c653854fb7e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/661728efb0582c04aea2c696eb2178e01da2a8f15537fbe6ad095c653854fb7e?s=96&d=mm&r=g\",\"caption\":\"Xavier Franck Godard\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/xavierfranck\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Discover refreshable clone PDB with Autoupgrade - dbi Blog","description":"Use of refreshable PDB clone for upgrade databases with Oracle Autoupgrade","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/","og_locale":"en_US","og_type":"article","og_title":"Discover refreshable clone PDB with Autoupgrade","og_description":"Use of refreshable PDB clone for upgrade databases with Oracle Autoupgrade","og_url":"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/","og_site_name":"dbi Blog","article_published_time":"2026-03-24T14:12:49+00:00","article_modified_time":"2026-03-24T14:48:42+00:00","author":"Xavier Franck Godard","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Xavier Franck Godard","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/"},"author":{"name":"Xavier Franck Godard","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4809e0f09c20eb127777125e037328f2"},"headline":"Discover refreshable clone PDB with Autoupgrade","datePublished":"2026-03-24T14:12:49+00:00","dateModified":"2026-03-24T14:48:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/"},"wordCount":792,"commentCount":0,"keywords":["autoupgrade","Oracle","refreshable PDB"],"articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/","url":"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/","name":"Discover refreshable clone PDB with Autoupgrade - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2026-03-24T14:12:49+00:00","dateModified":"2026-03-24T14:48:42+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4809e0f09c20eb127777125e037328f2"},"description":"Use of refreshable PDB clone for upgrade databases with Oracle Autoupgrade","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/discover-refreshable-clone-pdb-with-autoupgrade\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Discover refreshable clone PDB with Autoupgrade"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4809e0f09c20eb127777125e037328f2","name":"Xavier Franck Godard","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/661728efb0582c04aea2c696eb2178e01da2a8f15537fbe6ad095c653854fb7e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/661728efb0582c04aea2c696eb2178e01da2a8f15537fbe6ad095c653854fb7e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/661728efb0582c04aea2c696eb2178e01da2a8f15537fbe6ad095c653854fb7e?s=96&d=mm&r=g","caption":"Xavier Franck Godard"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/xavierfranck\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/43559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/146"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=43559"}],"version-history":[{"count":3,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/43559\/revisions"}],"predecessor-version":[{"id":43562,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/43559\/revisions\/43562"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=43559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=43559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=43559"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=43559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}