{"id":2856,"date":"2021-03-19T08:33:00","date_gmt":"2021-03-19T08:33:00","guid":{"rendered":"https:\/\/swiv.com.br\/creating-a-new-pdb-by-plugging-in-an-unplugged-pdb-with-copy-clause\/"},"modified":"2026-05-27T20:02:50","modified_gmt":"2026-05-27T19:02:50","slug":"creating-a-new-pdb-by-plugging-in-an-unplugged-pdb-with-copy-clause","status":"publish","type":"post","link":"https:\/\/swiv.com.br\/index.php\/2021\/03\/19\/creating-a-new-pdb-by-plugging-in-an-unplugged-pdb-with-copy-clause\/","title":{"rendered":"Creating a new PDB by Plugging in an Unplugged PDB (with COPY clause)"},"content":{"rendered":"\n<p>A cl\u00e1usula COPY, como padr\u00e3o no processo de PLUG IN, realiza uma c\u00f3pia dos arquivos referenciados no XML para um novo local, e para isso, podemos utilizar o FILE_NAME_CONVERT (caso o OMF n\u00e3o esteja sendo usado), ou utilizado o valor do DB_CREATE_FILE_DEST para fazer este &#8220;De-Para&#8221;.<\/p>\n\n\n\n<p>Checando ambiente relacionado ao PDB HIPOFISE3:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;oracle@oel8 ~]$ sqlplus \/ as sysdba\n \nSQL*Plus: Release 18.0.0.0.0 - Production on Thu Mar 18 19:23:38 2021\nVersion 18.3.0.0.0\n \nCopyright (c) 1982, 2018, Oracle.  All rights reserved.\n \n \nConnected to:\nOracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production\nVersion 18.3.0.0.0\n \nSQL&gt; SELECT NAME FROM V$PDBS;\n \nNAME\n--------------------------------------------------------------------------------\nPDB$SEED\nHIPOFISE1\nHIPOFISE3\n \nSQL&gt; ALTER PLUGGABLE DATABASE HIPOFISE3 CLOSE IMMEDIATE;\n \nPluggable database altered.\n \nSQL&gt; set linesize 100\nSQL&gt; col name format a100\nSQL&gt; SELECT NAME FROM V$DATAFILE WHERE CON_ID = (SELECT CON_ID FROM V$PDBS WHERE NAME=&#039;HIPOFISE3&#039;);\n \nNAME\n----------------------------------------------------------------------------------------------------\n\/oracle\/dados\/TALAMO\/BD02D62DBD0C163FE0536B00A8C0EF43\/datafile\/o1_mf_system_j4cpg63g_.dbf\n\/oracle\/dados\/TALAMO\/BD02D62DBD0C163FE0536B00A8C0EF43\/datafile\/o1_mf_sysaux_j4cpg640_.dbf\n\/oracle\/dados\/TALAMO\/BD02D62DBD0C163FE0536B00A8C0EF43\/datafile\/o1_mf_undotbs1_j4cpg640_.dbf\n\/oracle\/dados\/TALAMO\/BD02D62DBD0C163FE0536B00A8C0EF43\/datafile\/o1_mf_users_j4cpgr31_.dbf\n \nSQL&gt; SELECT GUID FROM V$PDBS WHERE NAME=&#039;HIPOFISE3&#039;;\n \nGUID\n--------------------------------\nBD02D62DBD0C163FE0536B00A8C0EF43\n<\/pre><\/div>\n\n\n<p>Fazendo o UNPLUG:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&gt; ALTER PLUGGABLE DATABASE HIPOFISE3 UNPLUG INTO &#039;\/home\/oracle\/BSS.xml&#039;;\n \nPluggable database altered.\n<\/pre><\/div>\n\n\n<p>Criando um diret\u00f3rio que abrigar\u00e1 os novos datafiles copiados:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;oracle@oel8 TALAMO]$ pwd\n\/oracle\/dados\/TALAMO\n&#x5B;oracle@oel8 TALAMO]$ mkdir HIPOFISE2\n&#x5B;oracle@oel8 TALAMO]$ chmod 775 HIPOFISE2\/\n<\/pre><\/div>\n\n\n<p>Dropando o PDB de origem. mantendo seus datafiles:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&gt; DROP PLUGGABLE DATABASE HIPOFISE3 KEEP DATAFILES;\n \nPluggable database dropped.\n<\/pre><\/div>\n\n\n<p>Checando compatibilidade do novo PDB no CDB (apesar de que vamos realizar o PLUG IN no mesmo CDB de origem):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&gt; set serveroutput on\nDECLARE\n        compatible BOOLEAN := FALSE;\nBEGIN\n        compatible := DBMS_PDB.CHECK_PLUG_COMPATIBILITY( PDB_DESCR_FILE =&gt; &#039;\/home\/oracle\/BSS.xml&#039;);\n        if compatible then\n                DBMS_OUTPUT.PUT_LINE(&#039;It is compatible&#039;);\n        else\n        DBMS_OUTPUT.PUT_LINE(&#039;It is NOT compatible&#039;);\n        end if;\nEND;\n\/SQL&gt;   2    3    4    5    6    7    8    9   10   11\nIt is compatible\n \nPL\/SQL procedure successfully completed.\n<\/pre><\/div>\n\n\n<p>Ao tentar criar o PDB, como o recurso de OMF est\u00e1 habilitado, o Oracle reporta a seguinte mensagem. Para resolver, segui o Oracle Note &#8220;<strong>ORA-01276 Errors Reported in PDB (Doc ID 1912436.1)<\/strong>&#8220;, que reporta que n\u00e3o \u00e9 poss\u00edvel utilizar o FILE_NAME_CONVERT caso o OMF seja usado.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&gt; CREATE PLUGGABLE DATABASE HIPOFISE2 USING &#039;\/home\/oracle\/BSS.xml&#039; COPY FILE_NAME_CONVERT=(&#039;\/oracle\/dados\/TALAMO\/BD02D62DBD0C163FE0536B00A8C0EF43&#039;, &#039;\/oracle\/dados\/TALAMO\/HIPOFISE2&#039;);\nCREATE PLUGGABLE DATABASE HIPOFISE2 USING &#039;\/home\/oracle\/BSS.xml&#039; COPY FILE_NAME_CONVERT=(&#039;\/oracle\/dados\/TALAMO\/BD02D62DBD0C163FE0536B00A8C0EF43&#039;, &#039;\/oracle\/dados\/TALAMO\/HIPOFISE2&#039;)\n*\nERROR at line 1:\nORA-01276: Cannot add file\n\/oracle\/dados\/TALAMO\/HIPOFISE2\/datafile\/o1_mf_system_j4cpg63g_.dbf.  File has\nan Oracle Managed Files file name.\n<\/pre><\/div>\n\n\n<p>Como o OMF far\u00e1 o trabalho por n\u00f3s, omiti o convert do comando:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&gt; SHO PARAMETER db_create_file_dest\n \nNAME                                 TYPE        VALUE\n------------------------------------ ----------- ------------------------------\ndb_create_file_dest                  string      \/oracle\/dados\nSQL&gt; CREATE PLUGGABLE DATABASE HIPOFISE2 USING &#039;\/home\/oracle\/BSS.xml&#039; COPY;\n \nPluggable database created.\n<\/pre><\/div>\n\n\n<p>Notamos que o GUID foi preservado, e desse modo, o diret\u00f3rio que abrigam os datafiles seguiram o mesmo padr\u00e3o:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&gt; SELECT GUID FROM V$PDBS WHERE NAME=&#039;HIPOFISE2&#039;;\n \nGUID\n--------------------------------\nBD02D62DBD0C163FE0536B00A8C0EF43\n \nSQL&gt; !ls -lthr \/oracle\/dados\/TALAMO\/BD02D62DBD0C163FE0536B00A8C0EF43\ntotal 4.0K\ndrwxr-x---. 2 oracle oinstall 4.0K Mar 18 19:45 datafile\n<\/pre><\/div>\n\n\n<p>Abrindo o PDB e removendo o arquivo XML:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&gt; ALTER PLUGGABLE DATABASE HIPOFISE2 OPEN;\n \nPluggable database altered.\n \nSQL&gt; ! rm \/home\/oracle\/BSS.xml\n<\/pre><\/div>\n\n\n<p>Obs: Este procedimento foi criado pelo senhor Ahmed Baraka (www.ahmedbaraka.com) e foi apenas reproduzido por mim em um laborat\u00f3rio pessoal para fins de aprendizado.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A cl\u00e1usula COPY, como padr\u00e3o no processo de PLUG IN, realiza uma c\u00f3pia dos arquivos referenciados no XML para um novo local, e para isso, podemos utilizar o FILE_NAME_CONVERT (caso o OMF n\u00e3o esteja sendo usado), ou utilizado o valor do DB_CREATE_FILE_DEST para fazer este &#8220;De-Para&#8221;. Checando ambiente relacionado ao PDB HIPOFISE3: Fazendo o UNPLUG: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-2856","post","type-post","status-publish","format-standard","hentry","category-multitenant"],"_links":{"self":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=2856"}],"version-history":[{"count":1,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2856\/revisions"}],"predecessor-version":[{"id":9219,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2856\/revisions\/9219"}],"wp:attachment":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=2856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=2856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=2856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}