1. Copy $ORACLE_HOME/dbs/initSOURCE.ora to $ORACLE_HOME/dbs/initTARGET.ora change in initTARGET.ora: db_name, control_files, user_dump_dest, background_dump_dest, core_dump_dest and may be audit_file_dest,log_archive_dest Create the bdump, udump and cdump directories 2. Create the script that will re-create the controlfile ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/somedir/cre_controlfile.sql'; Remove everything up to the "START NOMOUNT" statement and everything after the semicolon at the end of the "CREATE CONTROLFILE" statement. Edit the line starting with "CREATE CONTROLFILE" and replace the word "REUSE" with the word "SET" right before the keyword DATABASE. On the same line, modify the database name changing it from SOURCE to TARGET. On the same line, change the keyword NORESETLOGS to RESETLOGS. Change datafile where necessary. remove blank lines and comments STARTUP NOMOUNT PFILE='/dev_orahome/oracle/10.2.0/dbs/initTARGET.ora' or STARTUP NOMOUNT CREATE CONTROLFILE SET DATABASE "TARGET" RESETLOGS NOARCHIVELOG MAXLOGFILES 64 MAXLOGMEMBERS 4 MAXDATAFILES 512 MAXINSTANCES 4 MAXLOGHISTORY 10452 LOGFILE GROUP 1 ( '/target/redolog01a.dbf', '/target/redolog01b.dbf' ) SIZE 512M, GROUP 2 ( '/target/redolog02a.dbf', '/target/redolog02b.dbf' ) SIZE 512M, DATAFILE '/target/system01.dbf', '/target/undotbs01.dbf', '/target/users01.dbf', '/target/sysaux01.dbf' ; 3. Copy or FTP source database Shutdown SOURCE Copy data files and redo log files ( v$datafile, v$logfile ) Do not copy v$controlfile -- it will be created in next step Do not copy v$tempfile -- it will be created in step 6 SOURCE could startup 4.Create the new controlfile for TARGET using cre_controlfile.sql sqlplus /nolog connect / as sysdba STARTUP NOMOUNT @/somedir/cre_controlfile.sql Control file created. 5.Open the TARGET database --alter database recover database until canccel using backup controlfile; --alter database recover cancel; alter database open resetlogs; 6. Check the source and create temp files select substr(name,1,40),BYTES from v$tempfile; SUBSTR(NAME,1,40) BYTES ---------------------------------------- ----------- /source/temp01.dbf 2147483648 ALTER TABLESPACE temp ADD TEMPFILE '/target/temp01.dbf' size 2G; 7. Change tnsnames.ora and listener.ora lsnrctl reload lsnrctl status