If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

1. create new database using dbca on the same database server version.
2. create control file script as above.
3. Move new data files to some other place and copy old data files of your database on the new server.
4. Modify control file script so that it points to copied data files (Add all data files path).
5. now create new control file with the modified control file script.
6. Recover your database.(see database recovery process).

Hi, your post is something new to me and helpful. Anyway, upon a thorough search about the topic , I found out that the first control files of an oracle database are created when you issue the create database statement. On the other side, we are able to manually create a new control file for a database using the create control file statement. This is the reason why control file is recreated. I just hope, I make sense with this

What about the db references in the spfile when you want to rename the db? When running the create controlfile command I got this error:
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01504: database name 'FOO1' does not match parameter db_name 'foo'

I created pfile from spfile, changed all db references there, and converted back to spfile.
Then it worked!

Somehow offtopic, but also edit name in /etc/oratab to reflect name change for dbca.

i'm using Adewri's code as an example. Instead of the word reuse, you need to use the word "SET".
Keep in mind that the Oracle database has changed significantly in the last 14 years. The original
post was written for 7.3.4, 8.0 or 8i. Few people used RMAN back when this post was written.
Now, you can restore the control file and use the nid program to change the database name.

Therefore you don't specifically need to recreate the control files. Is there a specific problem
that you are trying to solve?

I'm learning about the CloneDB feature using copy on write with Direct NFS introduced in Oracle 11. In a first step you need to create a db clone and creating a cold backup plus creating controlfile is one method often described. I know it might not be the latest preferred method, but I'm still learning to understand what's going on under the hood.