Anda di halaman 1dari 3

Renaming an Oracle Database

DBNEWID Utility

Prior to the introduction of the DBNEWID utility alteration of the internal DBID of
an instance was impossible and alteration of the DBNAME required the creation
of a new control file. The DBNEWID utility allows the DBID to be altered for the
first time and makes changing the DBNAME simpler. Changing the DBID is
necessary when you want to use an RMAN catalog to backup a cloned instance.
RMAN identifies instances using the DBID, preventing the original and cloned
instance being managed by the same catalog. Alteration of the BID in the cloned
instance removes this restriction.

• DBID And DBNAME


• DBNAME Only
• DBID Only

DBID And DBNAME

• Backup the database.


• Mount the database after a clean shutdown:
• SHUTDOWN IMMEDIATE
STARTUP MOUNT

• Invoke the DBNEWID utility (nid) specifying the new DBNAME from the command line
using a user with SYSDBA privilege:

nid TARGET=sys/password@TSH1 DBNAME=TSH2

Assuming the validation is successful the utility prompts for confirmation before
performing the actions. Typical output may look something like:

C:\oracle\920\bin>nid TARGET=sys/password@TSH1 DBNAME=TSH2


DBNEWID: Release 9.2.0.3.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights
reserved.

Connected to database TSH1 (DBID=1024166118)

Control Files in database:


C:\ORACLE\ORADATA\TSH1\CONTROL01.CTL
C:\ORACLE\ORADATA\TSH1\CONTROL02.CTL
C:\ORACLE\ORADATA\TSH1\CONTROL03.CTL

Change database ID and database name TSH1 to TSH2? (Y/[N]) => Y

Proceeding with operation


Changing database ID from 1024166118 to 1317278975
Changing database name from TSH1 to TSH2
Control File C:\ORACLE\ORADATA\TSH1\CONTROL01.CTL - modified
Control File C:\ORACLE\ORADATA\TSH1\CONTROL02.CTL - modified
Control File C:\ORACLE\ORADATA\TSH1\CONTROL03.CTL - modified
Datafile C:\ORACLE\ORADATA\TSH1\SYSTEM01.DBF - dbid changed,
wrote new name
Datafile C:\ORACLE\ORADATA\TSH1\UNDOTBS01.DBF - dbid changed,
wrote new name
Datafile C:\ORACLE\ORADATA\TSH1\CWMLITE01.DBF - dbid changed,
wrote new name
Datafile C:\ORACLE\ORADATA\TSH1\DRSYS01.DBF - dbid changed,
wrote new name
Datafile C:\ORACLE\ORADATA\TSH1\EXAMPLE01.DBF - dbid changed,
wrote new name
Datafile C:\ORACLE\ORADATA\TSH1\INDX01.DBF - dbid changed,
wrote new name
Datafile C:\ORACLE\ORADATA\TSH1\ODM01.DBF - dbid changed,
wrote new name
Datafile C:\ORACLE\ORADATA\TSH1\TOOLS01.DBF - dbid changed,
wrote new name
Datafile C:\ORACLE\ORADATA\TSH1\USERS01.DBF - dbid changed,
wrote new name
Datafile C:\ORACLE\ORADATA\TSH1\XDB01.DBF - dbid changed,
wrote new name
Datafile C:\ORACLE\ORADATA\TSH1\TEMP01.DBF - dbid changed,
wrote new name
Control File C:\ORACLE\ORADATA\TSH1\CONTROL01.CTL - dbid
changed, wrote new name
Control File C:\ORACLE\ORADATA\TSH1\CONTROL02.CTL - dbid
changed, wrote new name
Control File C:\ORACLE\ORADATA\TSH1\CONTROL03.CTL - dbid
changed, wrote new name

Database name changed to TSH2.


Modify parameter file and generate a new password file before
restarting.
Database ID for database TSH2 changed to 1317278975.
All previous backups and archived redo logs for this database are
unusable.
Shut down database and open with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.

• Shutdown the database:

SHUTDOWN IMMEDIATE

• Modify the DB_NAME parameter in the initialization parameter file. The startup will result
in an error but proceed anyway.
• STARTUP MOUNT
• ALTER SYSTEM SET DB_NAME=TSH2 SCOPE=SPFILE;
SHUTDOWN IMMEDIATE

• Create a new password file:


orapwd file=c:\oracle\920\database\pwdTSH2.ora password=password
entries=10

• Rename the SPFILE to match the new DBNAME.


• If you are using Windows you must recreate the service so the correct name and
parameter file are used:
• oradim -delete -sid TSH1
oradim -new -sid TSH2 -intpwd password -startmode a -pfile
c:\oracle\920\database\spfileTSH2.ora

If you are using UNIX/Linux simply reset the ORACLE_SID environment variable:

ORACLE_SID=TSH2; export ORACLE_SID

• Alter the listener.ora and tnsnames.ora setting to match the new database name and
restart the listener:

lsnrctl reload

• Open the database with RESETLOGS:


• STARTUP MOUNT
Here I got the problem
DBNAME IS TEST1: Not in Control file which is Test (Actual Error
Returned)
Test1 (New Dbname Changed by NID utility)
Test is old database name
ALTER DATABASE OPEN RESETLOGS

• Backup the database.

Anda mungkin juga menyukai