Operating System - HP-UX
1752817 Members
4231 Online
108789 Solutions
New Discussion юеВ

Re: Oracle 7.3.4: Database name

 
Sunil Sharma_1
Honored Contributor

Oracle 7.3.4: Database name

All,

I have a oracle 7.3.4 database. I want to make clone this database and start with another name on same server. Is it possible ? if yes How ?

Thanks
Sunil

*** Dream as if you'll live forever. Live as if you'll die today ***
3 REPLIES 3
spex
Honored Contributor

Re: Oracle 7.3.4: Database name

Ben Dehner
Trusted Contributor

Re: Oracle 7.3.4: Database name

The various articles referenced give a good description of cloning a database. However, there is one idiosyncrasy of a 7.3.4 database that you need to watch out for.

Whenever a 7.3.4 instance is started, it creates a file $ORACLE_HOME/dbs/sgadefSID.dbf, which lists the address of the shared memory segment for the instance. The CREATE CONTROLFILE script will see the source database name in the data files and see the source database sgadef file, and fail because it claims another instance already has the datafiles open.

There are two workarounds: 1, shut down the source database while running the create controlfile, or 2, temporarily rename the sgadef file for the source database.
Trust me, I know what I'm doing
Eric Antunes
Honored Contributor

Re: Oracle 7.3.4: Database name

Hi Sunil,

Do on the source database:


alter database backup controlfile to trace;

This will generate a text file on the bdump or udump (don't remember). Make the ajustmnents to be like this:

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE SET DATABASE "" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 300
MAXINSTANCES 1
MAXLOGHISTORY 500
LOGFILE
GROUP 1 (
'/disc1/...//log01a.dbf',
'/disc2/...//log01b.dbf'
) SIZE 10M,
GROUP 2 (
'/disc1/...//log02a.dbf',
'/disc2/...//log02b.dbf'
) SIZE 10M
DATAFILE
'/disc1/...//system01.dbf',
'/disc1/...//rbs01.dbf',
'/disc1/...//temp01.dbf',
...
;

Save it (clone.sql).

Copy the COLD BACKUP datafiles to /disc1/...// and /disc2/.../.

Set the user's environment to the new SID and start svrmgrl:

SVRMGRL>@clone.sql;
SVRMGRL>RECOVER DATABASE USING BACKUP CONTROLFILE; -- it may give an error but ignore!
SVRMGRL>ALTER DATABASE OPEN RESETLOGS;

If it doesn't work try it recovering WITHOUT USING BACKUP CONTROLFILE (I'm not sure if you must use this option or not):

SVRMGRL>@clone.sql;
SVRMGRL>RECOVER DATABASE; -- it may give an error but ignore!
SVRMGRL>ALTER DATABASE OPEN RESETLOGS;


Best Regards,

Eric
Each and every day is a good day to learn.