- Backup the controlfile to trace on the source database:
alter database backup controlfile to trace;This will create a SQL script in the user_dump_destination. You may have to copy this to the target server and modify it if you are changing any datafile locations or the SID of the target database.
- Create an Oracle service on the target server using oradim. For more information on how to do this, refer to the Oracle8i Administrator's Guide for Windows NT.
- Now you will need to copy the datafiles, controlfiles, online redo logs from the source to the target server. The easiest way is to take a cold backup of the source database but this requires shutting down the database. If this is not possible, you can create a copy of the database with it available by performing a hot backup and restoring it to the target server. This requires putting all tablespaces in backup mode, copying the associated datafiles and then taking the tablespaces out of backup mode. But this will complicate matters since you will then have to apply at least a couple of archived redo logs and perform an incomplete recovery to a point in time on the target database.
- If you are able to shut down the source database and copy it to the target, assuming the environment remains the same and the SID does not change, you can simply open the copied database with the 'startup;' command. If this is an incomplete recovery, you must recover the target database to a point-in-time and then open the database with the resetlogs option (alter database open resetlogs;).
This was first published in May 2007