We are porting the 8.0.4 DB onto the other server, which is running on 8.1.7, with other two instances. But the target server also having 8.0.4 installed on it. Pl suggest what would be the best feasible soln. Whether using a recreate controlfile or to export/import method? How to manage the two versions on the single server?. If i opt for control file recreation (w/o changing the DB name) then do i need to switch the log files on the source m/c and then copy the files?
If the source and target database are the same platform, you have a couple of choices.
1. Upgrade/migrate. You could move the 8.0.4 database to the new machine and then migrate to 8.1.7. You really don't have to mess around with the control file.
2. Export/import. Recreate a database on the new machine and then import all your data. The is by far the slowest method for a large database.
Having both versions on the same server is no problem, Just install oracle in different directories and make sure your environment variables indicate the correct oracle version.
By "move the database", I mean copy the files from server1 to server2 in the same location. For example, copy /u01/oradata/sid/data01.dbf from server1 and place it on /u01/oradata/sid/data01.dbf on server2.
If you can not move to the exact same relative location, you can start the database in mount mode and rename all the files from their old location to their new locations. For example, if you had to move the above file to /u02/oradata/sid/data01.dbf you would use:
SVRMGR> connect internal
SVRMGR> startup mount
SVRMGR> alter database rename file '/u01/oradata/sid/data01.dbf' to '/u02/oradata/sid/data02.dbf';
SVRMGR> alter database open;
Pl let me know is this method works, with diff versions of Oracle? In other words, my source is 8.0.4 and i copy the required datafiles and open the DB on 8.1.7 , will it work? Or any other relevant issues with this version change in source and target DB's?. And apart from datafiles and redo log files do i need to copy archive logs also?. If so do i need to switch manually the log files, before start copying these files?
Once your database is up on the new machine in 8.0.4, you would then migrate it using any of the standard migration methods. You would copy all files relevent to the operation of the database; data files, control files, redo log files, archived redo logs, password file, init.ora file, etc. This copy would happen when the database had been shutdown in either normal or immediate mode. You can manually swith the logfile if you want, but it is not necessary since the database will be down when you copy it.