{"id":40084,"date":"2025-08-18T21:07:57","date_gmt":"2025-08-18T19:07:57","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=40084"},"modified":"2025-10-09T08:46:47","modified_gmt":"2025-10-09T06:46:47","slug":"creatingrefreshing-a-refreshable-pdb-from-a-standby-database","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/","title":{"rendered":"Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database)"},"content":{"rendered":"\n<p>I&#8217;m used to work with refreshable clones in several Oracle multitenant environments. However, due to the amount of Archived Redo Log generated we never really tried to offload the the &#8220;refresh&#8221; process on the Active Data Guard Standby database.<\/p>\n\n\n\n<p>Let&#8217;s quickly check what is required to achieve this together.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-required-to-create-a-refreshable\">What is required to create a refreshable  ?<\/h2>\n\n\n\n<p>Well, to create a remote (refreshable) clone you need at least a database link (whatever you are cloning from a single instance, Oracle RAC and\/or Oracle Data Guard standby database). ideally, created though an isolated database user with appropriate CREATE SESSION and CREATE PLUGGABLE DATABASE system privileges.<\/p>\n\n\n\n<p>To be more precise until Oracle RDBMS 19.27 a PUBLIC database link was even required because of<\/p>\n\n\n\n<pre class=\"wp-block-verse\">Bug 34723488&nbsp;&nbsp;PDB REFRESH USING A NON-PUBLIC DB LINK FAILING WITH ERROR \"ORA-04054\"<br><\/pre>\n\n\n\n<p>Before you, ask &#8230; Yes, the database link is required even if you clone locally within the same container (formerly called a loopback database link) but this is not the subject for today&#8217;s post \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-provision-a-refreshable-clone-from-standby\">How to provision a (refreshable) clone  from standby?<\/h2>\n\n\n\n<p>This post does not replace the Oracle manuals! But tries to summarize some challenges we faced over the past years with this Oracle features. <br>Please refer to <a href=\"https:\/\/www.dbi-services.com\/blog\/managing-refreshable-clone-pluggable-databases-with-oracle-21c\/\">https:\/\/www.dbi-services.com\/blog\/managing-refreshable-clone-pluggable-databases-with-oracle-21c\/<\/a> for for conceptual details about the refreshable clone feature.<br><br>Provisioning (or refreshing) a refreshable clone from a single-instance, RAC works out-of-the-box as long as you run it from primary database. However, when started on a standby it fails:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE PLUGGABLE DATABASE PDB_TMR_001P FROM PDB_APP_001P@&quot;CDB999_19e1298295ca4e68460d28d0cc00304a@CDB999_SITE2&quot;\nKEYSTORE IDENTIFIED BY &quot;\u2026#secret#...&quot; INCLUDING SHARED KEY\nPARALLEL 8\nSERVICE_NAME_CONVERT=(&#039;PDB_APP_001P&#039;,&#039;PDB_TMR_001P&#039;)\nREFRESH MODE MANUAL\nSTANDBYS=NONE&quot;\n \nPY-4011: the database or network closed the connection\nORA-00600: internal error code, arguments: &#x5B;kcffo_init_df_hdr:badfuzzysrcfile], &#x5B;262], &#x5B;6010], &#x5B;], &#x5B;], &#x5B;], &#x5B;], &#x5B;], &#x5B;], &#x5B;], &#x5B;], &#x5B;]\n<\/pre><\/div>\n\n\n<p><br>According, to Oracle support we are trying to clone while an &#8220;hot backup&#8221; is running as explained by following article:<\/p>\n\n\n\n<pre class=\"wp-block-verse\">ORA-00600 [kcffo_init_df_hdr:badfuzzysrcfile] On Create Pluggable Database (Doc ID 2878586.1)<\/pre>\n\n\n\n<p>As we are cloning from an Oracle Data Guard Active standby, with ongoing recovery process all our database files are &#8220;FUZZY&#8221; except PDB$SEED as of it&#8217;s &#8220;immutable&#8221; state which correlates with the ORA-00600 first argument.<\/p>\n\n\n\n<p>This can be verified through Oracle data dictionary dynamic performance view V$DATAFILE_HEADER:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSQL&gt; SELECT database_role, open_mode FROM v$database;\n\nDATABASE_ROLE\t\t             OPEN_MODE\n------------------------------ ------------------------------\nPHYSICAL STANDBY\t             READ ONLY WITH APPLY\n\nSQL&gt; SELECT con_id, fuzzy, checkpoint_change# FROM v$datafile_header;\n\n\n    CON_ID FUZZY      CHECKPOINT_CHANGE#\n---------- ---------- ------------------\n         1 YES                   39212441\n         1 YES                   39212441\n         1 YES                   39212441\n         1 YES                   39212441\n         2 NO                    1683111\n         2 NO                    1683111\n         2 NO                    1683111\n         3 YES                   39212441\n         3 YES                   39212441\n         3 YES                   39212441\n         3 YES                   39212441\n         3 YES                   39212441\n         3 YES                   39212441\n\n<\/pre><\/div>\n\n\n<p><br>So. let&#8217;s try to cancel the recovery process using Data Groker command &#8220;SET STATE&#8221; <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nEDIT DATABASE &#039;CDB999_SITE2&quot; SET STATE=&#039;APPLY-OFF&#039;\n<\/pre><\/div>\n\n\n<p>Cancelling recovery process, leaves the database files in a consistent state  <\/p>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2025-08-18T09:20:46.148023+00:00\nALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL\n2025-08-18T09:20:46.149836+00:00\nPR00 (PID:90495): MRP0: Background Media Recovery cancelled with status 16037\n2025-08-18T09:20:46.149938+00:00\nErrors in file \/u01\/app\/oracle\/diag\/rdbms\/cdb999_site\/CDB999\/trace\/CDB999_pr00_90495.trc:\nORA-16037: user requested cancel of managed recovery operation\nPR00 (PID:90495): Managed Standby Recovery not using Real Time Apply\nRecovery interrupted!\nRecovered data files to a consistent state at change 39213769\nStopping change tracking\n2025-08-18T09:20:46.290601+00:00\nErrors in file \/u01\/app\/oracle\/diag\/rdbms\/cdb999_site\/CDB999\/trace\/CDB999_pr00_90495.trc:\nORA-16037: user requested cancel of managed recovery operation\n2025-08-18T09:20:47.406889+00:00\nBackground Media Recovery process shutdown (CDB999)\n2025-08-18T09:20:48.151897+00:00\nManaged Standby Recovery Canceled (CDB999)\nCompleted: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL<\/code><\/pre>\n\n\n\n<p>From now on, the database files are consistent as visible in V$DATAFILE_HEADER<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&amp;gt; SELECT con_id, fuzzy, checkpoint_change# FROM v$datafile_header;\n\n    CON_ID FUZZY      CHECKPOINT_CHANGE#\n---------- ---------- ------------------\n         1 NO                   39213769\n         1 NO                   39213769\n         1 NO                   39213769\n         1 NO                   39213769\n         2 NO                    1683111\n         2 NO                    1683111\n         2 NO                    1683111\n         3 NO                   39213769\n         3 NO                   39213769\n         3 NO                   39213769\n         3 NO                   39213769\n         3 NO                   39213769\n         3 NO                   39213769\n<\/pre><\/div>\n\n\n<p>As per the attached evidences the database datafiles are consitent as of Oracle System Change Number 39213769 (alert*log &#8220;Recovered data files to a consistent state at change 39213769&#8221;) which matches (V$DATAFILE_HEADER.CHECKPOINT_CHANGE#)<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>From now on, any cloning tentative to provision a fresh clone from Oracle Data Guard Active standby database works. However, it requires comprehensive measures to disable and re-active recovery process.<\/p>\n\n\n\n<p>As alternative; Daniel Overby Hansen proposes to convert the standby database to a snapshot standby. but this may not work to start a refresh at later stage (not tested).<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-databases-are-fun wp-block-embed-databases-are-fun\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"QuxaG0QJeg\"><a href=\"https:\/\/dohdatabase.com\/2025\/04\/17\/using-refreshable-clone-pdbs-from-a-standby-database\/\">Using Refreshable Clone PDBs from a Standby&nbsp;Database<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;Using Refreshable Clone PDBs from a Standby&nbsp;Database&#8221; &#8212; Databases Are Fun\" src=\"https:\/\/dohdatabase.com\/2025\/04\/17\/using-refreshable-clone-pdbs-from-a-standby-database\/embed\/#?secret=Gq8XM12svM#?secret=QuxaG0QJeg\" data-secret=\"QuxaG0QJeg\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-refresh-the-refreshable-clone\">How to refresh the refreshable clone ? <\/h2>\n\n\n\n<p>Well, same story as for provision a clone from standby, except that the error message is a bit more silly<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nALTER PLUGGABLE DATABASE RCLON_TMR_002I REFRESH\n\nORA-65345: cannot refresh pluggable database\n<\/pre><\/div>\n\n\n<p>Alert*log snipped records recovery attempt but not &#8220;real error&#8221; message to identify the root cause:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Pluggable database PDB_TMR_001P closed\n2025-08-18T10:01:20.246104+00:00\nApplying media recovery for pdb-4099 from SCN 39285930 to SCN 39286036\nRemote log information: count-1\nthr-1,seq-294,logfile-+RECO\/CDB999_SITE2\/ARCHIVELOG\/2025_08_18\/thread_1_seq_294.396.1209463231,los-39285484,nxs-39285931,maxblks-9107\nPDB_TMR_001P(18):Media Recovery Start\n2025-08-18T10:01:20.249993+00:00\nPDB_TMR_001P(18):Serial Media Recovery started\nPDB_TMR_001P(18):max_pdb is 27\n2025-08-18T10:01:20.341597+00:00\nPDB_TMR_001P(18):Media Recovery Log +RECO\/CDB999_SITE2\/ARCHIVELOG\/2025_08_18\/thread_1_seq_294.396.1209463231\n2025-08-18T10:01:20.638622+00:00<\/code><\/pre>\n\n\n\n<p>Actually, it took me a while to understand that the requested recovery SCN 39286036 (line &#8220;Applying media recovery for pdb-4099 from SCN 39285930 to SCN&#8221; ) was not available on standby database.<br>Indeed, Oracle expects to get this transaction &#8220;already&#8221; on the standby archived redo log.<\/p>\n\n\n\n<p>This can be easily reproduced on a LAB by querying V$ARCHIVED_LOG on the as follows:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSELECT sequence#, first_change#, next_change# \n  FROM v$archived_log \nWHERE &amp;scn BETWEEN first_change# AND next_change#\n     AND standby_dest=&#039;NO&#039;;\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<p>So, we can&#8217;t start an &#8220;ALTER PLUGGABLE DATABSE &lt;PDB_NAME&gt; REFRESH&#8221; from Oracle Active Data Guard standby database as of Oracle database piggy backing feature and lazzy checkpoints :=). <br>Indeed, Oracle has no feature to force a log switch on primary while being connected to standby site.<br><br><span style=\"text-decoration: underline\">Workarround<\/span>: Force log switch on Oracle Active Data Guard primary database:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nALTER SYSTEM ARCHIVE LOG CURRENT\n\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wrap-up\">Wrap-up<\/h2>\n\n\n\n<p>Well, after all Oracle documented the behavior \ud83d\ude42 IMHO, this issue deserved more than 3 lines in a Oracle support article:<\/p>\n\n\n\n<pre class=\"wp-block-verse\">Force log switch to Avoid ORA-65345 When Refreshing PDB Sourced From Active Data Guard Standby (Doc ID 2765472.1)<\/pre>\n\n\n\n<p>Oracle is working on an enhancement request to &#8220;fix&#8221; that<\/p>\n\n\n\n<pre class=\"wp-block-verse\">\"32709955 - NEED TO REFRESH THE REFRESHABLE PDB FROM THE PHYSICAL STANDBY\"<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>Last one but not least, the current functionality with aforementioned workaround appplied is only viable as long as you do not require the &#8220;auto-refresh&#8221; feature. Indeed, who wants to disable Oracle Data Guard broker LogApply\/recovery process, force a log switch on primary database and manage to get the monitoring in-line ?  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m used to work with refreshable clones in several Oracle multitenant environments. However, due to the amount of Archived Redo Log generated we never really tried to offload the the &#8220;refresh&#8221; process on the Active Data Guard Standby database. Let&#8217;s quickly check what is required to achieve this together. What is required to create a [&hellip;]<\/p>\n","protected":false},"author":25,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3623,3624,2966,59],"tags":[2742,64,66],"type_dbi":[2728],"class_list":["post-40084","post","type-post","status-publish","format-standard","hentry","category-exacc","category-exacc-oracle","category-oci","category-oracle","tag-data-guard-2","tag-multitenant","tag-pdb","type-oracle"],"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>Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database) - dbi Blog<\/title>\n<meta name=\"description\" content=\"A Step-by-Step guide to provision and refresh a refreshable clones from an Oracle Data Guard Active standby database.\" \/>\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\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database)\" \/>\n<meta property=\"og:description\" content=\"A Step-by-Step guide to provision and refresh a refreshable clones from an Oracle Data Guard Active standby database.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-18T19:07:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T06:46:47+00:00\" \/>\n<meta name=\"author\" content=\"J\u00e9r\u00f4me Witt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"J\u00e9r\u00f4me Witt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 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\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/\"},\"author\":{\"name\":\"J\u00e9r\u00f4me Witt\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/a2d3ecddaf732850101a39b9d62c31b7\"},\"headline\":\"Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database)\",\"datePublished\":\"2025-08-18T19:07:57+00:00\",\"dateModified\":\"2025-10-09T06:46:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/\"},\"wordCount\":698,\"commentCount\":0,\"keywords\":[\"Data Guard\",\"multitenant\",\"PDB\"],\"articleSection\":[\"ExaCC\",\"ExaCC\",\"OCI\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/\",\"name\":\"Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database) - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2025-08-18T19:07:57+00:00\",\"dateModified\":\"2025-10-09T06:46:47+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/a2d3ecddaf732850101a39b9d62c31b7\"},\"description\":\"A Step-by-Step guide to provision and refresh a refreshable clones from an Oracle Data Guard Active standby database.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database)\"}]},{\"@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\/a2d3ecddaf732850101a39b9d62c31b7\",\"name\":\"J\u00e9r\u00f4me Witt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/17095c081578ca53f52ec4030ba2bde72cc18badb325cd2ba1ee2831106507ad?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/17095c081578ca53f52ec4030ba2bde72cc18badb325cd2ba1ee2831106507ad?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/17095c081578ca53f52ec4030ba2bde72cc18badb325cd2ba1ee2831106507ad?s=96&d=mm&r=g\",\"caption\":\"J\u00e9r\u00f4me Witt\"},\"description\":\"J\u00e9rome Witt started his Consultant career a few years ago. He is specialized in database and infrastructure management, engineering, and optimization. He is very skilled in Oracle high availability, backup &amp; recovery, and tuning technologies. His expertise also includes the open source field (Linux\/Unix), advanced Perl, Shell, Windows PowerShell programming, and Automation tools (UC4). J\u00e9r\u00f4me Witt is Oracle Certified Professional 11g (OCP 11g), Oracle Certified Expert Tuning (OCE), and ITIL V3 Foundation certified. Prior to joining dbi services, J\u00e9r\u00f4me Witt was Consultant at Trivadis in Basel. He also worked as a Junior Automation specialist at Selmoni AG in Basel. J\u00e9r\u00f4me Witt holds a BTS degree in Information Systems and Industrial Networks from France. His branch-related experience covers Pharma, Health Care, Banking &amp; Financial Services, Energy, Automotive etc.\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/jerome-witt\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database) - dbi Blog","description":"A Step-by-Step guide to provision and refresh a refreshable clones from an Oracle Data Guard Active standby database.","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\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/","og_locale":"en_US","og_type":"article","og_title":"Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database)","og_description":"A Step-by-Step guide to provision and refresh a refreshable clones from an Oracle Data Guard Active standby database.","og_url":"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/","og_site_name":"dbi Blog","article_published_time":"2025-08-18T19:07:57+00:00","article_modified_time":"2025-10-09T06:46:47+00:00","author":"J\u00e9r\u00f4me Witt","twitter_card":"summary_large_image","twitter_misc":{"Written by":"J\u00e9r\u00f4me Witt","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/"},"author":{"name":"J\u00e9r\u00f4me Witt","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/a2d3ecddaf732850101a39b9d62c31b7"},"headline":"Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database)","datePublished":"2025-08-18T19:07:57+00:00","dateModified":"2025-10-09T06:46:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/"},"wordCount":698,"commentCount":0,"keywords":["Data Guard","multitenant","PDB"],"articleSection":["ExaCC","ExaCC","OCI","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/","url":"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/","name":"Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database) - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2025-08-18T19:07:57+00:00","dateModified":"2025-10-09T06:46:47+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/a2d3ecddaf732850101a39b9d62c31b7"},"description":"A Step-by-Step guide to provision and refresh a refreshable clones from an Oracle Data Guard Active standby database.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/creatingrefreshing-a-refreshable-pdb-from-a-standby-database\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Creating&amp;Refreshing a refreshable PDB (from a Standby\u00a0Database)"}]},{"@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\/a2d3ecddaf732850101a39b9d62c31b7","name":"J\u00e9r\u00f4me Witt","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/17095c081578ca53f52ec4030ba2bde72cc18badb325cd2ba1ee2831106507ad?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/17095c081578ca53f52ec4030ba2bde72cc18badb325cd2ba1ee2831106507ad?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/17095c081578ca53f52ec4030ba2bde72cc18badb325cd2ba1ee2831106507ad?s=96&d=mm&r=g","caption":"J\u00e9r\u00f4me Witt"},"description":"J\u00e9rome Witt started his Consultant career a few years ago. He is specialized in database and infrastructure management, engineering, and optimization. He is very skilled in Oracle high availability, backup &amp; recovery, and tuning technologies. His expertise also includes the open source field (Linux\/Unix), advanced Perl, Shell, Windows PowerShell programming, and Automation tools (UC4). J\u00e9r\u00f4me Witt is Oracle Certified Professional 11g (OCP 11g), Oracle Certified Expert Tuning (OCE), and ITIL V3 Foundation certified. Prior to joining dbi services, J\u00e9r\u00f4me Witt was Consultant at Trivadis in Basel. He also worked as a Junior Automation specialist at Selmoni AG in Basel. J\u00e9r\u00f4me Witt holds a BTS degree in Information Systems and Industrial Networks from France. His branch-related experience covers Pharma, Health Care, Banking &amp; Financial Services, Energy, Automotive etc.","url":"https:\/\/www.dbi-services.com\/blog\/author\/jerome-witt\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/40084","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\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=40084"}],"version-history":[{"count":50,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/40084\/revisions"}],"predecessor-version":[{"id":40146,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/40084\/revisions\/40146"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=40084"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=40084"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=40084"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=40084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}