{"id":106,"date":"2009-09-28T19:12:00","date_gmt":"2009-09-28T17:12:00","guid":{"rendered":"http:\/\/antynet.pl\/index.php\/2009\/09\/28\/oracle-rman-clone\/"},"modified":"2010-08-25T23:26:27","modified_gmt":"2010-08-25T21:26:27","slug":"oracle-rman-clone","status":"publish","type":"post","link":"https:\/\/www.antynet.pl\/index.php\/2009\/09\/28\/oracle-rman-clone\/","title":{"rendered":"ORACLE RMAN CLONE"},"content":{"rendered":"<p><span style=\"font-weight: bold;\">how to clone database by RMAN:<\/span><br \/>it depends on recovering files from previous backup<\/p>\n<ol>\n<li>create PFILE for new database based on PFILE from source database<br \/>init[db_new].ora<br \/>main changes:\n<ul>\n<li>db_name<\/li>\n<li>control_files<\/li>\n<li>audit_file_dest<\/li>\n<li>background_dump_dest<\/li>\n<li>user_dump_dest<\/li>\n<li>core_dump_dest<\/li>\n<\/ul>\n<\/li>\n<li>create password file for new database:<br \/>orapwd file=orapw[db_new] password=[pass]\n<\/li>\n<li>add new database to listener.ora and tnsnames.ora,\n<\/li>\n<li>create dirs for new database file,\n<\/li>\n<li>create directories for trace logs as admin with subdirectories: adump, udump, cdump, bdump,\n<\/li>\n<li>startup new auxiliary database in <b>nomout<\/b> mode<span style=\"font-style: italic;\">(! then exit from your session because it will be hang on)<\/span>\n<\/li>\n<li>start rman with ORACLE_SID = auxiliary database:\n<\/li>\n<li>at the auxiliary server run command:<br \/>rman auxiliary \/ target sys\/[sys_pass]@[targetdb_tnsalias] catalog rman\/[rman_pass]@[catalogdb_tnsalias]<br \/><i>you should get an output:<br \/>connected to target database: [db_name] (DBID=[db_id])<br \/>connected to recovery catalog database<br \/>connected to auxiliary database: [db_name] (not mounted)<\/i>\n<\/li>\n<li>run script:\n<div class=\"console\">run {<br \/>set newname for datafile 4 to '\/oracle\/oradata\/[db_new]\/users01.dbf&#8217;;<br \/>set newname for datafile 3 to '\/oracle\/oradata\/[db_new]\/sysaux01.dbf&#8217;;<br \/>set newname for datafile 2 to '\/oracle\/oradata\/[db_new]\/undotbs01.dbf&#8217;;<br \/>set newname for datafile 1 to '\/oracle\/oradata\/[db_new]\/system01.dbf&#8217;;<br \/>set newname for datafile 5 to '\/oracle\/oradata\/[db_new]\/example01.dbf&#8217;;<br \/>set newname for tempfile 1 to '\/oracle\/oradata\/[db_new]\/temp.dbf&#8217;;<br \/>duplicate target database to [db_new]<br \/>pfile=\/oracle\/product\/10.2.0\/db_1\/dbs\/init[db_new]aux.ora<br \/>logfile<br \/>&#8217;\/oracle\/oradata\/[db_new]\/redo01.log&#8217; size 50m,<br \/>&#8217;\/oracle\/oradata\/[db_new]\/redo02.log&#8217; size 50m,<br \/>&#8217;\/oracle\/oradata\/[db_new]\/redo03.log&#8217; size 50m;}<\/div>\n<p>to generate script above use sql at source db:<br \/>spool clonescript.rcv<br \/>select 'set newname for datafile '||file_id||&#8217; to &#8221;&#8217;||file_name||&#8221;&#8217;;&#8217; from dba_data_files order by file_id;<br \/>select 'set newname for tempfile '||file_id||&#8217; to &#8221;&#8217;||file_name||&#8221;&#8217;;&#8217; from dba_temp_files order by file_id;<br \/>spool off;<br \/>and next modify output in vim:<br \/>:% s\/ora6\\\/oradata\\\/DBSRC\/u01\\\/oradata\\\/DBAUX\\\/datafile<br \/>or another script:<\/p>\n<div class=\"console\">run {<br \/>set until time &#8222;to_date(&#8217;2010-07-02:01:00&#8242;,&#8217;yyyy-mm-dd:hh24:mi&#8217;)&#8221;;<br \/>configure default device type to sbt;<br \/>configure device type sbt parallelism 2;<br \/>configure auxiliary channel 1 device type sbt parms 'ENV=(NB_ORA_SERV=server_name,NB_ORA_CLIENT=server_target_name)&#8217;;<br \/>configure auxiliary channel 2 device type sbt parms 'ENV=(NB_ORA_SERV=server_name,NB_ORA_CLIENT=server_target_name)&#8217;;<br \/>duplicate target database to [db_new]<br \/>DB_FILE_NAME_CONVERT=('[target_path1]\/&#8217;,'[aux_path]&#8217;,<br \/>'[target_path2]\/&#8217;,'[aux_path]&#8217;)<br \/>pfile=[pfile_aux_path]\/[db_new].ora<br \/>logfile<br \/>'[logfile_aux_path]\/redo01.log&#8217; size 100m,<br \/>'[logfile_aux_path]\/redo02.log&#8217; size 100m,<br \/>'[logfile_aux_path]\/redo03.log&#8217; size 100m;<br \/>}<\/div>\n<\/li>\n<\/ol>\n<p>for more read <a href=\"http:\/\/download.oracle.com\/docs\/cd\/B19306_01\/backup.102\/b14194\/toc.htm\" target=\"_parent\" rel=\"nofollow noopener\">documentation<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>how to clone database by RMAN:it depends on recovering files from previous backup create PFILE for new database based on PFILE from source databaseinit[db_new].oramain changes: db_name control_files audit_file_dest background_dump_dest user_dump_dest core_dump_dest create password file for new database:orapwd file=orapw[db_new] password=[pass] add new database to listener.ora and tnsnames.ora, create dirs for new database file, create directories for [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[80],"tags":[23],"class_list":["post-106","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-oracle-rman-clone"],"_links":{"self":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/comments?post=106"}],"version-history":[{"count":1,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/106\/revisions"}],"predecessor-version":[{"id":223,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/posts\/106\/revisions\/223"}],"wp:attachment":[{"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/media?parent=106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/categories?post=106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.antynet.pl\/index.php\/wp-json\/wp\/v2\/tags?post=106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}