{"id":2888,"date":"2021-03-20T15:09:43","date_gmt":"2021-03-20T15:09:43","guid":{"rendered":"https:\/\/swiv.com.br\/creating-a-new-pdb-by-cloning-from-non-cdb-using-dblink\/"},"modified":"2026-05-27T20:02:50","modified_gmt":"2026-05-27T19:02:50","slug":"creating-a-new-pdb-by-cloning-from-non-cdb-using-dblink","status":"publish","type":"post","link":"https:\/\/swiv.com.br\/index.php\/2021\/03\/20\/creating-a-new-pdb-by-cloning-from-non-cdb-using-dblink\/","title":{"rendered":"Creating a new PDB by cloning from Non-CDB (using DBLINK)"},"content":{"rendered":"\n<p>Nos artigos anteriores, pude explorar a cria\u00e7\u00e3o de PDB a partir do PDB SEED ou at\u00e9 mesmo clonando de outros PDBs (seja remoto ou local). Agora, vou simular a cria\u00e7\u00e3o de um a partir de um banco de dados de perfil Non-CDB, utilizando o clone remoto, usando DB_LINK, e posteriormente fazendo a sua convers\u00e3o para PDB. Para isso, criarei uma string de conex\u00e3o no destino que aponte para o banco de origem:<\/p>\n\n\n\n<figure class=\"wp-block-table \\&quot;wp-block-table\\&quot;\"><table><tbody><tr><td><strong>BANCO ORIGEM (NON-CDB)<\/strong><\/td><td><strong>BANCO DESTINO (CDB$ROOT)<\/strong><\/td><\/tr><tr><td>RMANDB<\/td><td>TALAMO<\/td><\/tr><\/tbody><\/table><\/figure>\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 admin]$ pwd\n\/oracle\/18.0.0\/product\/network\/admin\n&#x5B;oracle@oel8 admin]$ cat tnsnames.ora\n# tnsnames.ora Network Configuration File: \/oracle\/18.0.0\/product\/network\/admin\/tnsnames.ora\n# Generated by Oracle configuration tools.\n \nTALAMO =\n  (DESCRIPTION =\n    (ADDRESS = (PROTOCOL = TCP)(HOST = oel8.localdomain)(PORT = 1521))\n    (CONNECT_DATA =\n      (SERVER = DEDICATED)\n      (SERVICE_NAME = TALAMO.localdomain)\n    )\n  )\n \nLISTENER_TALAMO =\n  (ADDRESS = (PROTOCOL = TCP)(HOST = oel8.localdomain)(PORT = 1521))\n \n \nRMANDB =\n  (DESCRIPTION =\n    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.107)(PORT = 1521))\n    (CONNECT_DATA =\n      (SERVER = DEDICATED)\n      (SERVICE_NAME = RMANDB)\n    )\n  )\n&#x5B;oracle@oel8 admin]$ tnsping RMANDB\n \nTNS Ping Utility for Linux: Version 18.0.0.0.0 - Production on 20-MAR-2021 04:51:20\n \nCopyright (c) 1997, 2018, Oracle.  All rights reserved.\n \nUsed parameter files:\n\/oracle\/18.0.0\/product\/network\/admin\/sqlnet.ora\n \n \nUsed TNSNAMES adapter to resolve the alias\nAttempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.107)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = RMANDB)))\nOK (0 msec)\n<\/pre><\/div>\n\n\n<p>Antes de criar o DB_LINK, vou providenciar o usu\u00e1rio de interface que ser\u00e1 usado na origem. O privil\u00e9gio necess\u00e1rio para o mesmo \u00e9 o CREATE PLUGGABLE DATABASE, para evitar o erro abaixo:<\/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 RMANDB FROM RMANDB@BSS;\nCREATE PLUGGABLE DATABASE RMANDB FROM RMANDB@BSS\n*\nERROR at line 1:\nORA-17627: ORA-28002: the password will expire within 7 days\nORA-17629: Cannot connect to the remote database server\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&gt; SELECT NAME,CDB FROM V$DATABASE;\n \nNAME      CDB\n--------- ---\nRMANDB    NO\n \nSQL&gt; CREATE USER TESTE IDENTIFIED BY TESTE ACCOUNT UNLOCK;\n \nUser created.\n \nSQL&gt; GRANT DBA TO TESTE;\n \nGrant succeeded.\n \nSQL&gt; GRANT CREATE PLUGGABLE DATABASE TO TESTE;\n \nGrant succeeded.\n<\/pre><\/div>\n\n\n<p>Criando o DB_LINK do CDB$ROOT apontando para o banco origem (RMANDB):<\/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 admin]$ sqlplus \/ as sysdba\n \nSQL*Plus: Release 18.0.0.0.0 - Production on Sat Mar 20 04:45:41 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; CREATE DATABASE LINK BSS CONNECT TO TESTE IDENTIFIED BY TESTE USING &#039;RMANDB&#039;;\n \nDatabase link created.\n \nSQL&gt; SELECT * FROM DUAL@BSS;\n \nD\n-\nX\n<\/pre><\/div>\n\n\n<p>Caso o recurso de OMF n\u00e3o esteja habilitado (o que n\u00e3o \u00e9 meu caso), \u00e9 importante mapear o diret\u00f3rio de todos os datafiles do banco 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; SELECT FILE_NAME FROM DBA_DATA_FILES@BSS ORDER BY 1;\n \nFILE_NAME\n--------------------------------------------------------------------------------\n\/oracle\/dados\/RMANDB\/datafile\/o1_mf_sysaux_h8nyq35q_.dbf\n\/oracle\/dados\/RMANDB\/datafile\/o1_mf_system_h8nynqfx_.dbf\n\/oracle\/dados\/RMANDB\/datafile\/o1_mf_undotbs1_h8nyrjdr_.dbf\n\/oracle\/dados\/RMANDB\/datafile\/o1_mf_users_h8nyrkn7_.dbf\n\/oracle\/dados\/RMANDB\/datafile\/ts_cortex_catalog.dbf\n<\/pre><\/div>\n\n\n<p>Criando o PDB via db_link:<\/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 RMANDB FROM RMANDB@BSS;\n \nPluggable database created.\n<\/pre><\/div>\n\n\n<p>Para fazer a convers\u00e3o do banco Non-CDB para PDB, devemos rodar o script abaixo, no PDB criado:<\/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 SESSION SET CONTAINER=RMANDB;\n \nSession altered.\n \nSQL&gt; @$ORACLE_HOME\/rdbms\/admin\/noncdb_to_pdb.sql\nSQL&gt; SET FEEDBACK 1\nSQL&gt; SET NUMWIDTH 10\nSQL&gt; SET LINESIZE 80\nSQL&gt; SET TRIMSPOOL ON\nSQL&gt; SET TAB OFF\nSQL&gt; SET PAGESIZE 100\nSQL&gt; SET VERIFY OFF\nSQL&gt;\nSQL&gt; -- save settings\nSQL&gt; STORE SET ncdb2pdb.settings.sql REPLACE\nWrote file ncdb2pdb.settings.sql\nSQL&gt;\nSQL&gt; SET TIME ON\n05:53:16 SQL&gt; SET TIMING ON\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; WHENEVER SQLERROR EXIT;\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; DOC\n05:53:16 DOC&gt;#######################################################################\n05:53:16 DOC&gt;#######################################################################\n05:53:16 DOC&gt;   The following statement will cause an &quot;ORA-01403: no data found&quot;\n05:53:16 DOC&gt;   error if we&#039;re not in a PDB.\n05:53:16 DOC&gt;   This script is intended to be run right after plugin of a PDB,\n05:53:16 DOC&gt;   while inside the PDB.\n05:53:16 DOC&gt;#######################################################################\n05:53:16 DOC&gt;#######################################################################\n05:53:16 DOC&gt;#\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; VARIABLE cdbname VARCHAR2(128)\n05:53:16 SQL&gt; VARIABLE pdbname VARCHAR2(128)\n05:53:16 SQL&gt; BEGIN\n05:53:16   2    SELECT sys_context(&#039;USERENV&#039;, &#039;CDB_NAME&#039;)\n05:53:16   3      INTO :cdbname\n05:53:16   4      FROM dual\n05:53:16   5      WHERE sys_context(&#039;USERENV&#039;, &#039;CDB_NAME&#039;) is not null;\n05:53:16   6    SELECT sys_context(&#039;USERENV&#039;, &#039;CON_NAME&#039;)\n05:53:16   7      INTO :pdbname\n05:53:16   8      FROM dual\n05:53:16   9      WHERE sys_context(&#039;USERENV&#039;, &#039;CON_NAME&#039;) &amp;lt;&gt; &#039;CDB$ROOT&#039;;\n05:53:16  10  END;\n05:53:16  11  \/\n \nPL\/SQL procedure successfully completed.\n \nElapsed: 00:00:00.00\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; @@?\/rdbms\/admin\/loc_to_common0.sql\n05:53:16 SQL&gt; Rem\n05:53:16 SQL&gt; Rem $Header: rdbms\/admin\/loc_to_common0.sql \/main\/5 2017\/04\/25 08:09:06 thbaby Exp $\n05:53:16 SQL&gt; Rem\n05:53:16 SQL&gt; Rem loc_to_common0.sql\n05:53:16 SQL&gt; Rem\n05:53:16 SQL&gt; Rem Copyright (c) 2015, 2017, Oracle and\/or its affiliates.\n05:53:16 SQL&gt; Rem All rights reserved.\n05:53:16 SQL&gt; Rem\n05:53:16 SQL&gt; Rem    NAME\n05:53:16 SQL&gt; Rem      loc_to_common0.sql - &amp;lt;one-line expansion of the name&gt;\n05:53:16 SQL&gt; Rem\n05:53:16 SQL&gt; Rem    DESCRIPTION\n05:53:16 SQL&gt; Rem      &amp;lt;short description of component this file declares\/defines&gt;\n05:53:16 SQL&gt; Rem\n05:53:16 SQL&gt; Rem    NOTES\n05:53:16 SQL&gt; Rem      &amp;lt;other useful comments, qualifications, etc.&gt;\n05:53:16 SQL&gt; Rem\n05:53:16 SQL&gt; Rem    BEGIN SQL_FILE_METADATA\n05:53:16 SQL&gt; Rem    SQL_SOURCE_FILE: rdbms\/admin\/loc_to_common0.sql\n05:53:16 SQL&gt; Rem    SQL_SHIPPED_FILE: rdbms\/admin\/loc_to_common0.sql\n05:53:16 SQL&gt; Rem    SQL_PHASE: LOC_TO_COMMON0\n05:53:16 SQL&gt; Rem    SQL_STARTUP_MODE: NORMAL\n05:53:16 SQL&gt; Rem    SQL_IGNORABLE_ERRORS: NONE\n05:53:16 SQL&gt; Rem    SQL_CALLING_FILE:\n05:53:16 SQL&gt; Rem    END SQL_FILE_METADATA\n05:53:16 SQL&gt; Rem\n05:53:16 SQL&gt; Rem    MODIFIED   (MM\/DD\/YY)\n05:53:16 SQL&gt; Rem    thbaby      04\/21\/17 - Bug 25940936: set _enable_view_pdb\n05:53:16 SQL&gt; Rem    sankejai    01\/22\/16 - 16076261: session parameters scoped to container\n05:53:16 SQL&gt; Rem    pyam        12\/22\/15 - 21927236: rename pdb_to_fedpdb to pdb_to_apppdb\n05:53:16 SQL&gt; Rem    pyam        09\/22\/15 - 20959267: check for version mismatch\n05:53:16 SQL&gt; Rem    pyam        07\/15\/15 - Created\n05:53:16 SQL&gt; Rem\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; SET ECHO ON\n05:53:16 SQL&gt; SET FEEDBACK 1\n05:53:16 SQL&gt; SET NUMWIDTH 10\n05:53:16 SQL&gt; SET LINESIZE 80\n05:53:16 SQL&gt; SET TRIMSPOOL ON\n05:53:16 SQL&gt; SET TAB OFF\n05:53:16 SQL&gt; SET PAGESIZE 100\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; COLUMN pdbname NEW_VALUE pdbname\n05:53:16 SQL&gt; COLUMN pdbid NEW_VALUE pdbid\n05:53:16 SQL&gt;\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; alter session set &quot;_enable_view_pdb&quot;=false;\n \nSession altered.\n \nElapsed: 00:00:00.00\n05:53:16 SQL&gt; select :pdbname pdbname from dual;\n \nPDBNAME\n--------------------------------------------------------------------------------\nRMANDB\n \n1 row selected.\n \nElapsed: 00:00:00.00\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; select TO_CHAR(con_id) pdbid from v$pdbs where name=&#039;&amp;amp;pdbname&#039;;\n \nPDBID\n----------------------------------------\n5\n \n1 row selected.\n \nElapsed: 00:00:00.00\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; -- save pluggable database open mode\n05:53:16 SQL&gt; COLUMN open_state_col NEW_VALUE open_sql;\n05:53:16 SQL&gt; COLUMN restricted_col NEW_VALUE restricted_state;\n05:53:16 SQL&gt; SELECT decode(open_mode,\n05:53:16   2                &#039;READ ONLY&#039;, &#039;ALTER PLUGGABLE DATABASE &amp;amp;pdbname OPEN READ ONLY&#039;,\n05:53:16   3                &#039;READ WRITE&#039;, &#039;ALTER PLUGGABLE DATABASE &amp;amp;pdbname OPEN&#039;,\n05:53:16   4                &#039;MIGRATE&#039;, &#039;ALTER PLUGGABLE DATABASE &amp;amp;pdbname OPEN UPGRADE&#039;, &#039;&#039;)\n05:53:16   5           open_state_col,\n05:53:16   6         decode(restricted, &#039;YES&#039;, &#039;RESTRICTED&#039;, &#039;&#039;)\n05:53:16   7           restricted_col\n05:53:16   8         from v$pdbs where name=&#039;&amp;amp;pdbname&#039;;\n \nOPEN_STATE_COL                                 RESTRICTED\n---------------------------------------------- ----------\n \n \n1 row selected.\n \nElapsed: 00:00:00.00\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; alter session set container=CDB$ROOT;\n \nSession altered.\n \nElapsed: 00:00:00.01\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; -- if pdb was already closed, don&#039;t exit on error\n05:53:16 SQL&gt; WHENEVER SQLERROR CONTINUE;\n05:53:16 SQL&gt; alter pluggable database &quot;&amp;amp;pdbname&quot; close immediate instances=all;\nalter pluggable database &quot;RMANDB&quot; close immediate instances=all\n*\nERROR at line 1:\nORA-65020: pluggable database RMANDB already closed\n \n \nElapsed: 00:00:00.00\n05:53:16 SQL&gt; WHENEVER SQLERROR EXIT;\n05:53:16 SQL&gt;\n05:53:16 SQL&gt; alter pluggable database &quot;&amp;amp;pdbname&quot; open upgrade;\nalter pluggable database &quot;RMANDB&quot; open upgrade\n*\nERROR at line 1:\nORA-44303: service name exists\nORA-44775: Pluggable database service cannot be created.\n \n \nDisconnected from Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production\nVersion 18.3.0.0.0\n&#x5B;oracle@oel8 admin]$\n<\/pre><\/div>\n\n\n<p>J\u00e1 foi poss\u00edvel perceber que a convers\u00e3o n\u00e3o foi bem sucedida, e a tentativa de abertura do PDB s\u00f3 enfatiza mais isso.<\/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 RMANDB OPEN;\nALTER PLUGGABLE DATABASE RMANDB OPEN\n*\nERROR at line 1:\nORA-00604: error occurred at recursive SQL level 1\nORA-00060: deadlock detected while waiting for resource\n<\/pre><\/div>\n\n<p>Ap\u00f3s uma pesquisa no MOS, vi que este problema ocorre devido o BUG 28030160, que \u00e9 reportado no Oracle Note &#8220;<strong>ORA-604 Signalled During: Alter Pluggable Database &#8220;&lt;dbname&gt;&#8221; Open Upgrade (Doc ID 2679604.1)<\/strong>&#8220;. Link <a rel=\"\\&quot;noreferrer noopener\" noopener=\"\" href=\"http:\/\/&quot;https:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?_afrLoop=525455153116274&amp;id=2679604.1&amp;_afrWindowMode=0&amp;_adf.ctrl-state=9nqpxxzqu_106&quot;\" target=\"\\&quot;_blank\\&quot;\" data-wplink-url-error=\"true\">AQUI<\/a>. Nele, \u00e9 sugerido que o patch 28030160\u00a0seja aplicado, mas como est\u00e1 frequente os eventos de bug em meus testes, decidi aplicar o \u00faltimo PSU JAN21 no meu Oracle (descrito <a rel=\"\\&quot;noreferrer noopener\" noopener=\"\" href=\"https:\/\/swiv.com.br\/how-to-apply-psu-patch-on-oracle-database-18c\/\" target=\"\\&quot;_blank\\&quot;\">NESTE<\/a> artigo). Ap\u00f3s isso, dropei o PDB e tentei o processo novamente:<\/p>\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 RMANDB CLOSE IMMEDIATE;\nALTER PLUGGABLE DATABASE RMANDB CLOSE IMMEDIATE\n*\nERROR at line 1:\nORA-65020: pluggable database RMANDB already closed\n \n \nSQL&gt; DROP PLUGGABLE DATABASE RMANDB INCLUDING DATAFILES;\n \nPluggable database dropped.\n<\/pre><\/div>\n\n\n<p>Criando novamente:<\/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 RMANDB FROM RMANDB@BSS;\n \nPluggable database created.\n<\/pre><\/div>\n\n\n<p>Mesmo assim, a mensagem abaixo \u00e9 reportada:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nElapsed: 00:00:00.00\n11:12:33 SQL&gt; WHENEVER SQLERROR EXIT;\n11:12:33 SQL&gt;\n11:12:33 SQL&gt; alter pluggable database &quot;&amp;amp;pdbname&quot; open upgrade;\nalter pluggable database &quot;RMANDB&quot; open upgrade\n*\nERROR at line 1:\nORA-44303: service name exists\nORA-44775: Pluggable database service cannot be created.\n<\/pre><\/div>\n\n\n<p>Percebi que realmente j\u00e1 existe um service criado com este nome:<\/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 admin]$ lsnrctl service\n \nLSNRCTL for Linux: Version 18.0.0.0.0 - Production on 20-MAR-2021 11:18:37\n \nCopyright (c) 1991, 2020, Oracle.  All rights reserved.\n \nConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel8.localdomain)(PORT=1521)))\nServices Summary...\nService &quot;TALAMO.localdomain&quot; has 1 instance(s).\n  Instance &quot;TALAMO&quot;, status READY, has 1 handler(s) for this service...\n    Handler(s):\n      &quot;DEDICATED&quot; established:0 refused:0 state:ready\n         LOCAL SERVER\nService &quot;TALAMOXDB.localdomain&quot; has 1 instance(s).\n  Instance &quot;TALAMO&quot;, status READY, has 1 handler(s) for this service...\n    Handler(s):\n      &quot;D000&quot; established:0 refused:0 current:0 max:1022 state:ready\n         DISPATCHER &amp;lt;machine: oel8.localdomain, pid: 10416&gt;\n         (ADDRESS=(PROTOCOL=tcp)(HOST=oel8.localdomain)(PORT=15677))\nService &quot;bdd9ab0055da2c52e0536b00a8c09fce.localdomain&quot; has 1 instance(s).\n  Instance &quot;TALAMO&quot;, status READY, has 1 handler(s) for this service...\n    Handler(s):\n      &quot;DEDICATED&quot; established:0 refused:0 state:ready\n         LOCAL SERVER\nService &quot;bdf964dbf4e43ff4e0536a00a8c01d8e.localdomain&quot; has 1 instance(s).\n  Instance &quot;TALAMO&quot;, status READY, has 1 handler(s) for this service...\n    Handler(s):\n      &quot;DEDICATED&quot; established:0 refused:0 state:ready\n         LOCAL SERVER\nService &quot;hipofise2.localdomain&quot; has 1 instance(s).\n  Instance &quot;TALAMO&quot;, status READY, has 1 handler(s) for this service...\n    Handler(s):\n      &quot;DEDICATED&quot; established:0 refused:0 state:ready\n         LOCAL SERVER\nService &quot;rmandb.localdomain&quot; has 1 instance(s).\n  Instance &quot;TALAMO&quot;, status READY, has 1 handler(s) for this service...\n    Handler(s):\n      &quot;DEDICATED&quot; established:0 refused:0 state:ready\n         LOCAL SERVER\nThe command completed successfully\n<\/pre><\/div>\n\n\n<p>Desse modo, e at\u00e9 ciente do Oracle Note &#8220;<strong>Bug 25872127 &#8211; opening a pluggable database fails with &#8220;ORA-44303: service name exists&#8221; &amp; ORA-44775 (Doc ID 25872127.8)<\/strong>&#8220;, vou dropar o banco e cri\u00e1-lo com um nome diferente, para que um novo servi\u00e7o tamb\u00e9m seja criado (j\u00e1 que eu n\u00e3o consigo remover o atual):<\/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 RMANDB INCLUDING DATAFILES;\n \nPluggable database dropped.\n<\/pre><\/div>\n\n\n<p>Criando:<\/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 RMANDB777 FROM RMANDB@BSS;\n \nPluggable database created.\n<\/pre><\/div>\n\n\n<p>Convertendo (finalmente com sucesso):<\/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 SESSION SET CONTAINER=RMANDB777;\n \nSession altered.\n \nSQL&gt; @$ORACLE_HOME\/rdbms\/admin\/noncdb_to_pdb.sql\nSQL&gt; SET FEEDBACK 1\nSQL&gt; SET NUMWIDTH 10\nSQL&gt; SET LINESIZE 80\nSQL&gt; SET TRIMSPOOL ON\nSQL&gt; SET TAB OFF\nSQL&gt; SET PAGESIZE 100\nSQL&gt; SET VERIFY OFF\nSQL&gt;\nSQL&gt; -- save settings\nSQL&gt; STORE SET ncdb2pdb.settings.sql REPLACE\nWrote file ncdb2pdb.settings.sql\nSQL&gt;\nSQL&gt; SET TIME ON\n11:28:26 SQL&gt; SET TIMING ON\n11:28:26 SQL&gt;\n11:28:26 SQL&gt; WHENEVER SQLERROR EXIT;\n11:28:26 SQL&gt;\n11:28:26 SQL&gt; DOC\n11:28:26 DOC&gt;#######################################################################\n11:28:26 DOC&gt;#######################################################################\n11:28:26 DOC&gt;   The following statement will cause an &quot;ORA-01403: no data found&quot;\n11:28:26 DOC&gt;   error if we&#039;re not in a PDB.\n11:28:26 DOC&gt;   This script is intended to be run right after plugin of a PDB,\n11:28:26 DOC&gt;   while inside the PDB.\n11:28:26 DOC&gt;#######################################################################\n11:28:26 DOC&gt;#######################################################################\n11:28:26 DOC&gt;#\n11:28:26 SQL&gt;\n11:28:26 SQL&gt; VARIABLE cdbname VARCHAR2(128)\n11:28:26 SQL&gt; VARIABLE pdbname VARCHAR2(128)\n11:28:26 SQL&gt; BEGIN\n11:28:26   2    SELECT sys_context(&#039;USERENV&#039;, &#039;CDB_NAME&#039;)\n11:28:26   3      INTO :cdbname\n11:28:26   4      FROM dual\n11:28:26   5      WHERE sys_context(&#039;USERENV&#039;, &#039;CDB_NAME&#039;) is not null;\n11:28:26   6    SELECT sys_context(&#039;USERENV&#039;, &#039;CON_NAME&#039;)\n11:28:26   7      INTO :pdbname\n11:28:26   8      FROM dual\n11:28:26   9      WHERE sys_context(&#039;USERENV&#039;, &#039;CON_NAME&#039;) &amp;lt;&gt; &#039;CDB$ROOT&#039;;\n11:28:26  10  END;\n11:28:26  11  \/\n \nPL\/SQL procedure successfully completed.\n \n... \n \n12:04:38 SQL&gt; set sqlblanklines OFF\n12:04:38 SQL&gt; set sqlcase MIXED\n12:04:38 SQL&gt; set sqlcontinue &quot;&gt; &quot;\n12:04:38 SQL&gt; set sqlnumber ON\n12:04:38 SQL&gt; set sqlpluscompatibility 18.0.0\n12:04:38 SQL&gt; set sqlprefix &quot;#&quot;\n12:04:38 SQL&gt; set sqlprompt &quot;SQL&gt; &quot;\n12:04:38 SQL&gt; set sqlterminator &quot;;&quot;\n12:04:38 SQL&gt; set statementcache 0\n12:04:38 SQL&gt; set suffix &quot;sql&quot;\n12:04:38 SQL&gt; set tab OFF\n12:04:38 SQL&gt; set termout ON\n12:04:38 SQL&gt; set time OFF\nSQL&gt; set timing OFF\nSQL&gt; set trimout ON\nSQL&gt; set trimspool ON\nSQL&gt; set underline &quot;-&quot;\nSQL&gt; set verify OFF\nSQL&gt; set wrap ON\nSQL&gt; set xmloptimizationcheck OFF\nSQL&gt;\nSQL&gt; SQL&gt; SQL&gt; SQL&gt;\nSQL&gt;\n<\/pre><\/div>\n\n\n<p>Abrindo o PDB:<\/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 SESSION SET CONTAINER=CDB$ROOT;\n \nSession altered.\n \nSQL&gt; ALTER PLUGGABLE DATABASE RMANDB777 OPEN;\n \nPluggable database altered.\n<\/pre><\/div>\n\n\n<p>Realizando valida\u00e7\u00f5es:<\/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 PDB_NAME, STATUS FROM DBA_PDBS;\n \nPDB_NAME\n--------------------------------------------------------------------------------\nSTATUS\n----------\nHIPOFISE1\nUNPLUGGED\n \nPDB$SEED\nNORMAL\n \nHIPOFISE2\nNORMAL\n \nRMANDB777\nNORMAL\n \n \n4 rows selected.\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>Nos artigos anteriores, pude explorar a cria\u00e7\u00e3o de PDB a partir do PDB SEED ou at\u00e9 mesmo clonando de outros PDBs (seja remoto ou local). Agora, vou simular a cria\u00e7\u00e3o de um a partir de um banco de dados de perfil Non-CDB, utilizando o clone remoto, usando DB_LINK, e posteriormente fazendo a sua convers\u00e3o para [&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-2888","post","type-post","status-publish","format-standard","hentry","category-multitenant"],"_links":{"self":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2888","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=2888"}],"version-history":[{"count":1,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2888\/revisions"}],"predecessor-version":[{"id":9215,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2888\/revisions\/9215"}],"wp:attachment":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=2888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=2888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=2888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}