Whether Cold backup method can be used to “migrate oracle DB”

oracleoracle-10g

I have to migrate one database.

I have exact server replica. (Same directory structure on target as well as source database)

Previously I have performed DB migration using export/import datapump (As we don't have access to any tools).
I want to ask : Whether I can create replica using Cold backup method ?

DB Details :
Oracle 10.2.0.3 (On Both Source & target)

DB is currently running in no archive mode.

Steps I am going to follow :

  1. create pfile from spfile
  2. shutdown normal on source db
  3. Copy pfile to target server $ORACLE_HOME/dbs
  4. Copy all the dbf , ctl , rdo files to target server (Using binary mode FTP) (select name from v$datafile; select member from v$logfile; select name from v$controlfile)
  5. startup pfile='<path>' on target server

Doubts :

Can cold backup can be used to create replica/ DB migration ?

If I tried above process , shall I am able to start the db on target server without any errors ?

As I don't have any archive logs , will that create any problem here ?

EDIT

This has been done perfectly fine with no oracle errors.

Few points :

  • Even you can change the directory of the dbf file while using this method. All u need to do is :

startup mount pfile='pfilepath'

alter database rename file '/flowsystem/oracle/SYSTEM01.DBF' to '/flowsystem/oracle/oradata/SYSTEM01.DBF';

shutdown

startup

  • If you have done changes in directory structure of controlfile , log file then edit the pfile before startup & then startup using pfile (Not Tried)

Information Source : http://www.adp-gmbh.ch/ora/admin/backup_recovery/cold_backup.html

Best Answer

Should work when the directory structure is the same. Check you $ORACLE_HOME/dbs directory to see if you have other SID related files. If your database does not need recovery then no archivelogs are needed. Do not forget to change at least the DBID if you need to integrate the database in the RMAN backup process.

If you use RMAN for backups then you can also clone your database to another server. This way you can place the files in a different location and the DBID (and DBNAME) will be changed during the cloning.