{"id":163,"date":"2008-08-29T11:50:00","date_gmt":"2008-08-29T14:50:00","guid":{"rendered":"http:\/\/www.soudba.com.br\/?p=163"},"modified":"2008-08-29T11:50:00","modified_gmt":"2008-08-29T14:50:00","slug":"criando-um-banco-clone-na-mesma-maquina","status":"publish","type":"post","link":"https:\/\/www.soudba.com.br\/?p=163","title":{"rendered":"Criando um banco CLONE na mesma maquina"},"content":{"rendered":"<p>Levando em conta que ja temos um banco de dados ORCL, vamos criar um banco clone com as mesmas tablespaces no mesmo servidor.<\/p>\n<p>$ cd \/u01<\/p>\n<p>$ mkdir bdo$ export ORACLE_SID=orcl<br \/>$ sqlplus \/ as sysdba<\/p>\n<p>Antes de executar este comando o ideal \u00e9 procurar a area de dump.<br \/>sql&gt; show parameter user_dump<br \/>logo em seguida apago o conteudo para que nao tenha nenhum outro arquivo,<br \/>assim <br \/>SQL&gt; host rm \/u01\/app\/oracle\/admin\/orcl\/udump\/*<\/p>\n<p>SQL&gt; alter database backup controlfile to trace;<\/p>\n<p>Executar 3 vezes o comando porque demora um pouco a gerar o trace, assim \u00e9 mais rapido, em compensacao ira gerar 3 entradas as vezes no mesmo arquivo de trace mas isso nao causa nenhum transtorno. Algumas vezes tem que tentar varias e varias vezes, sair do sqlplus ou executar o commit&#8230;<\/p>\n<p>&#8211;Antes de fechar banco original<br \/>Executar agora a troca do arquivo de redo log online, para evitar perdas de informacoes.<\/p>\n<p>SQL&gt; select group#, status from v$log;<\/p>\n<p>GROUP# STATUS<br \/>&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>1 INACTIVE<br \/>2 INACTIVE<br \/>3 CURRENT<\/p>\n<p>SQL&gt; alter system switch logfile;<br \/>SQL&gt; alter system checkpoint;<\/p>\n<p>SQL&gt; show parameter user_dump<\/p>\n<p>NAME                                 TYPE        VALUE<br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>user_dump_dest                       string      \/u01\/app\/oracle\/admin\/orcl\/udu<br \/>mp<\/p>\n<p>Pegar o \u00faltimo trace para ser usado mais a frente para criar o arquivo de controle.<br \/>Ainda nao iremos editar o arquivo, somente geramos e confirmamos que dentro do arquivo de trace gerado contem instrucoes para se recriar o novo arquivo de controle. Continue nas proximas instrucoes.<\/p>\n<p>SQL&gt; host ls \/u01\/app\/oracle\/admin\/orcl\/udump\/*<\/p>\n<p>O arquivo \u00e9 listado.<\/p>\n<p>SQL&gt; host gedit \/u01\/app\/oracle\/admin\/orcl\/udump\/orcl_ora_6209.trc <\/p>\n<p>Ok, o arquivo foi criado !<\/p>\n<p>Agora crie um arquivo texto a partir do spfile (binario), este arquivo contera todas<br \/>as informacoes sobre os parametros:<\/p>\n<p>SQL&gt; create pfile=&#8217;\/u01\/bdo\/init.ora&#8217; from spfile;<br \/>Mostre a localizacao atual dos seus datafiles.<br \/>SQL&gt;  select name from v$datafile;<br \/>Interrompa o banco de dados de producao.<br \/>SQL&gt; shutdown immediate;<br \/>Database closed.<br \/>Database dismounted.<br \/>ORACLE instance shut down.<br \/>SQL&gt; exit;<\/p>\n<p>Alterar o arquivo de inicializacao \/u01\/bdo\/init.ora<\/p>\n<p>Mudar instance_name e bd_name para bdo e todas as entradas que estiverem como orcl para bdo e tambem as devidas pastas. O que estiver como orcl.__ pode ser removido isso \u00e9 criado pelo gerenciamento automatico de memoria. Alterar tamb\u00e9m dump_dest, background e core_dump_dest, audit, control_files, a flash_recovery_area que \u00e9 o parametro db_recovery_file_dest<\/p>\n<p>Crie as pastas para os diretorios:<br \/>&#8212; mkdir back bdump<br \/>&#8212; mkdir core cdump<br \/>&#8212; mkdir user udump<br \/>&#8212; mkdir audit adump<br \/>Como o comando abaixo:<br \/>no prompt do sistema operacional crie as pastas abaixo:<\/p>\n<p>mkdir \/u01\/bdo\/bdump -p<br \/>mkdir \/u01\/bdo\/cdump -p<br \/>mkdir \/u01\/bdo\/udump -p<br \/>mkdir \/u01\/bdo\/adump -p<br \/>mkdir \/u01\/bdo\/flash_recovery_area -p<\/p>\n<p>Copiar s\u00f3 os datafiles originais para debaixo da pasta \/u01\/bdo<br \/>Com os comandos cp ou copy do sistema operacional, lembrado que o banco de producao deve estar fechado, ou copia sera invalida.<br \/>cp $ORADATA\/*.dbf \/u01\/bdo<\/p>\n<p>Se a base de dados estiver em ASM temos que fazer o backup e <br \/>restaurar como no exemplo:<\/p>\n<p>export ORACLE_SID=bdo<\/p>\n<p>sqlplus \/ as sysdba<\/p>\n<p>SQL&gt; startup nomount pfile=&#8217;\/u01\/bdo\/init.ora&#8217;<\/p>\n<p>Se der algum problema edite novamente o arquivo init.ora e remova os problemas\/acerte os parametros.<\/p>\n<p>Pegue o arquivo de trace e extraia o Set #2 para criar o arquivo de controle.<br \/>O que se tem que fazer \u00e9 remover o texto anterior ao Set #2 e o posterior a finalizacao do comando de recriar o arquivo de contole que finaliza em CHARACTER SET WE8ISO8859P1 ;<\/p>\n<p>Como o exemplo abaixo, o que tem que sobrar da sua edicao do arquivo de trace \u00e9 o texto similar ao abaixo:<\/p>\n<p>&#8212; Set #2. RESETLOGS case &#8212; &#8211;<\/p>\n<p>Crie um sql a partir do trace, que foi gerado com o comando alter database backup controlfile to trace e salvar como sql (init.sql)<\/p>\n<p>Trocar o REUSE por set<\/p>\n<p>#####################################################<br \/>Exemplo de script para recriar o arquivo de controle abaixo:<br \/>#####################################################<\/p>\n<p>CREATE CONTROLFILE set database &#8220;bdo&#8221; RESETLOGS ARCHIVELOG<br \/>MAXLOGFILES 16<br \/>MAXLOGMEMBERS 3<br \/>MAXDATAFILES 100<br \/>MAXINSTANCES 8<br \/>MAXLOGHISTORY 292<br \/>LOGFILE<br \/>GROUP 1 (<br \/>&#8216;\/u01\/bdo\/redo01.log&#8217;,<br \/>&#8216;\/u01\/bdo\/redo01b.log&#8217;<br \/>) SIZE 50M,<br \/>GROUP 2 (<br \/>&#8216;\/u01\/bdo\/redo02.log&#8217;,<br \/>&#8216;\/u01\/bdo\/redo02b.log&#8217;<br \/>) SIZE 50M,<br \/>GROUP 3 (<br \/>&#8216;\/u01\/bdo\/redo03.log&#8217;,<br \/>&#8216;\/u01\/bdo\/redo03b.log&#8217;<br \/>) SIZE 50M<br \/>&#8212; STANDBY LOGFILE<br \/>DATAFILE<br \/>&#8216;\/u01\/bdo\/system01.dbf&#8217;,<br \/>&#8216;\/u01\/bdo\/undotbs01.dbf&#8217;,<br \/>&#8216;\/u01\/bdo\/sysaux01.dbf&#8217;<br \/>CHARACTER SET WE8ISO8859P1 ;<br \/>#####################################################<\/p>\n<p>Rode o comando, o banco bdo esta nomount.<\/p>\n<p>sqlplus \/ as sysdba<\/p>\n<p>SQL&gt; @\/u01\/bdo\/init.sql ;<\/p>\n<p>SQL&gt; alter database mount;<\/p>\n<p>SQL&gt; alter database open resetlogs;<\/p>\n<p>criar o arquivo temp;<br \/>SQL&gt; alter tablespace temp add tempfile &#8216;\/u01\/bdo\/temp01.dbf&#8217; size 100M;<\/p>\n<p>SQL&gt; exit;<\/p>\n<p>Crie o arquivo de senhas:<\/p>\n<p>orapwd file=$ORACLE_HOME\/dbs\/orapwbdo password=oracle entries=5<\/p>\n<p>Mostrar o listener para verificar se o banco esta registrando o servico dinamicamente.<\/p>\n<p>lsnrctl start<br \/>lsnrctl services<\/p>\n<p>Confirme se o servico foi registrado, senao registre estaticamente via netmgr.<\/p>\n<p>Recrie o dbcontrol.<\/p>\n<p>emca -repos recreate<\/p>\n<p>emca -config dbcontrol db<\/p>\n<p>emctl start dbconsole<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Levando em conta que ja temos um banco de dados ORCL, vamos criar um banco clone com as mesmas tablespaces no mesmo servidor. $ cd \/u01 $ mkdir bdo$ export ORACLE_SID=orcl$ sqlplus \/ as sysdba Antes de executar este comando &hellip; <a href=\"https:\/\/www.soudba.com.br\/?p=163\">Continue lendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,44,45,91],"tags":[],"class_list":["post-163","post","type-post","status-publish","format-standard","hentry","category-alter-database-open-resetlogs","category-clonar-banco-oracle","category-clone-database","category-emca-repos-recreate"],"_links":{"self":[{"href":"https:\/\/www.soudba.com.br\/index.php?rest_route=\/wp\/v2\/posts\/163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.soudba.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.soudba.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.soudba.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.soudba.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=163"}],"version-history":[{"count":0,"href":"https:\/\/www.soudba.com.br\/index.php?rest_route=\/wp\/v2\/posts\/163\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.soudba.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.soudba.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.soudba.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}