{"id":4522,"date":"2015-04-13T09:14:16","date_gmt":"2015-04-13T07:14:16","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/"},"modified":"2015-04-13T09:14:16","modified_gmt":"2015-04-13T07:14:16","slug":"cloning-a-pdb-from-a-standby-database","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/","title":{"rendered":"Cloning a PDB from a standby database"},"content":{"rendered":"<h2>By Franck Pachot<\/h2>\n<p>.<br \/>\nGreat events like IOUG Collaborate is a good way to meet experts we know through blogs, twitter,etc. Yesterday evening, with nice music in the background, I was talking with <a href=\"https:\/\/twitter.com\/leight0nn\">Leighton Nelson<\/a> about cloning PDB databases. Don&#8217;t miss his\u00a0<a href=\"http:\/\/coll15.mapyourshow.com\/6_0\/sessions\/session-details.cfm?ScheduleID=4018\">session<\/a> today if you are in Las Vegas. The big problem with PDB cloning is that the source must be read-only. The reason is that it works like transportable tablespaces (except that it can transport the datafiles through database link and that we transport SYSTEM as well instead of having to import metadata). There is no redo shipping\/apply here, so the datafiles must be consistent.<br \/>\nObviously, being read-only is a problem when you want to clone from production.<br \/>\nBut if you have a standby database, can you open it read-only and clone a pluggable database from there? From what we know, it should be possible, but better to test it.<\/p>\n<p>Here is my source &#8211; a single tenant standby database opened in read-only:<\/p>\n<pre><code>SQL&gt; connect sys\/oracle@\/\/192.168.78.105\/STCDB as sysdba\nConnected.\nSQL&gt; select banner from v$version where rownum=1;\n\nBANNER\n--------------------------------------------------------------------------------\nOracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production\n\nSQL&gt; select name,open_mode,database_role from v$database;\n\nNAME      OPEN_MODE            DATABASE_ROLE\n--------- -------------------- ----------------\nSTCDB     READ ONLY            PHYSICAL STANDBY\n\nSQL&gt; select name,open_mode from v$pdbs;\n\nNAME                           OPEN_MODE\n------------------------------ ----------\nPDB$SEED                       READ ONLY\nSTDB1                          READ ONLY\n\n<\/code><\/pre>\n<p>(updated on JUL-2017 thanks to Balaji comment. It was showing MOUNT for the source PDB but it must be opened READ ONLY.)<\/p>\n<p>Then from the destination, I define a database link to it:<\/p>\n<pre><code>SQL&gt; connect sys\/oracle@\/\/192.168.78.113\/CDB as sysdba\nConnected.\nSQL&gt; select banner from v$version where rownum=1;\n\nBANNER\n--------------------------------------------------------------------------------\nOracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production\n\nSQL&gt; select name,open_mode from v$database;\n\nNAME      OPEN_MODE\n--------- --------------------\nCDB       READ WRITE\n\nSQL&gt; select name,open_mode from v$pdbs;\n\nNAME                           OPEN_MODE\n------------------------------ ----------\nPDB$SEED                       READ ONLY\nPDB                            READ WRITE\n\nSQL&gt;\nSQL&gt; create database link DBLINK_TO_STCDB connect to system identified by oracle using '\/\/192.168.78.105\/STCDB';\n\nDatabase link created.\n\n<\/code><\/pre>\n<p>and create a pluggable database from it:<\/p>\n<pre><code>SQL&gt; create pluggable database STDB2 from STDB1@DBLINK_TO_STCDB;\n\nPluggable database created.\n\nSQL&gt; alter pluggable database STDB2 open;\n\nPluggable database altered.\n\n<\/code><\/pre>\n<p>So yes. This is possible. And you don&#8217;t need Active Data Guard for that. As long as you can stop the apply for the time it takes to transfer the datafiles, then this is a solution for cloning. Of course, just do one clone and if you need others then you can do it from that first clone. And within the same PDB they can be thin clones if you can use snapshots.<br \/>\nOk, It&#8217;s 5 a.m here. As usual, the jetlag made me awake a bit early, so that was a good occasion to test what we have discussed yesterday&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Franck Pachot . Great events like IOUG Collaborate is a good way to meet experts we know through blogs, twitter,etc. Yesterday evening, with nice music in the background, I was talking with Leighton Nelson about cloning PDB databases. Don&#8217;t miss his\u00a0session today if you are in Las Vegas. The big problem with PDB cloning [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[198,59],"tags":[221,96],"type_dbi":[],"class_list":["post-4522","post","type-post","status-publish","format-standard","hentry","category-database-management","category-oracle","tag-data-guard","tag-oracle"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Cloning a PDB from a standby database - dbi Blog<\/title>\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\/cloning-a-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=\"Cloning a PDB from a standby database\" \/>\n<meta property=\"og:description\" content=\"By Franck Pachot . Great events like IOUG Collaborate is a good way to meet experts we know through blogs, twitter,etc. Yesterday evening, with nice music in the background, I was talking with Leighton Nelson about cloning PDB databases. Don&#8217;t miss his\u00a0session today if you are in Las Vegas. The big problem with PDB cloning [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-04-13T07:14:16+00:00\" \/>\n<meta name=\"author\" content=\"Oracle Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oracle Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 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\\\/cloning-a-pdb-from-a-standby-database\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloning-a-pdb-from-a-standby-database\\\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"Cloning a PDB from a standby database\",\"datePublished\":\"2015-04-13T07:14:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloning-a-pdb-from-a-standby-database\\\/\"},\"wordCount\":317,\"commentCount\":0,\"keywords\":[\"Data Guard\",\"Oracle\"],\"articleSection\":[\"Database management\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloning-a-pdb-from-a-standby-database\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloning-a-pdb-from-a-standby-database\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloning-a-pdb-from-a-standby-database\\\/\",\"name\":\"Cloning a PDB from a standby database - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2015-04-13T07:14:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/66ab87129f2d357f09971bc7936a77ee\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloning-a-pdb-from-a-standby-database\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloning-a-pdb-from-a-standby-database\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloning-a-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\":\"Cloning a PDB from a standby database\"}]},{\"@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\\\/66ab87129f2d357f09971bc7936a77ee\",\"name\":\"Oracle Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"caption\":\"Oracle Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/oracle-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cloning a PDB from a standby database - dbi Blog","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\/cloning-a-pdb-from-a-standby-database\/","og_locale":"en_US","og_type":"article","og_title":"Cloning a PDB from a standby database","og_description":"By Franck Pachot . Great events like IOUG Collaborate is a good way to meet experts we know through blogs, twitter,etc. Yesterday evening, with nice music in the background, I was talking with Leighton Nelson about cloning PDB databases. Don&#8217;t miss his\u00a0session today if you are in Las Vegas. The big problem with PDB cloning [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/","og_site_name":"dbi Blog","article_published_time":"2015-04-13T07:14:16+00:00","author":"Oracle Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oracle Team","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"Cloning a PDB from a standby database","datePublished":"2015-04-13T07:14:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/"},"wordCount":317,"commentCount":0,"keywords":["Data Guard","Oracle"],"articleSection":["Database management","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/","url":"https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/","name":"Cloning a PDB from a standby database - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2015-04-13T07:14:16+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/cloning-a-pdb-from-a-standby-database\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/cloning-a-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":"Cloning a PDB from a standby database"}]},{"@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\/66ab87129f2d357f09971bc7936a77ee","name":"Oracle Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","caption":"Oracle Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/4522","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\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=4522"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/4522\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=4522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=4522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=4522"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=4522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}