Hi DBA-Mates, Hope you all are doing Well!!!
We are back with how
to change database DB name using NID utility.
Thank you all a lot for yours email as I was away
for times because of some personal works.
It is very easy and simple but we are sure
that very few people may have performed this activity, so it will be useful for
those who has only read.
Note:
If not sure about sys password, it can be set as either orapwd file or below
command:
$sqlplus '/as sysdba'
SQL> alter user sys identified by sys;
User altered.
SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> startup mount;
ORACLE instance started.
Total System Global Area 456146944 bytes
Fixed Size 1344840 bytes
Variable Size 356518584 bytes
Database Buffers 92274688 bytes
Redo Buffers 6008832 bytes
Database mounted.
SQL>
SQL> select name,open_mode from
v$database;
NAME
OPEN_MODE
--------- --------------------
ORCL MOUNTED
SQL>
Command:
[oracle@localhost bin]$ nid
TARGET=sys/<sys password>@<Service/old_dbname> DBNAME=<DB New
Name> SETNAME=YES
Query:
[oracle@localhost bin]$ nid
TARGET=sys/sys@ORCL DBNAME=ORCLNEW SETNAME=YES
DBNEWID: Release 11.2.0.2.0 - Production on
Sat Feb 1 22:41:13 2020
Copyright (c) 1982, 2009, Oracle and/or its
affiliates. All rights reserved.
Connected to database ORCL (DBID=1229390655)
Connected to server version 11.2.0
Control Files in database:
/home/oracle/app/oracle/oradata/orcl/control01.ctl
/home/oracle/app/oracle/flash_recovery_area/orcl/control02.ctl
Change database name of database ORCL to
ORCLNEW? (Y/[N]) => Y
Proceeding with operation
Changing database name from ORCL to ORCLNEW
Control File /home/oracle/app/oracle/oradata/orcl/control01.ctl -
modified
Control File
/home/oracle/app/oracle/flash_recovery_area/orcl/control02.ctl - modified
Datafile /home/oracle/app/oracle/oradata/orcl/system01.db - wrote new
name
Datafile
/home/oracle/app/oracle/oradata/orcl/sysaux01.db - wrote new name
Datafile /home/oracle/app/oracle/oradata/orcl/undotbs01.db - wrote new
name
Datafile /home/oracle/app/oracle/oradata/orcl/users01.db - wrote new
name
Datafile /home/oracle/app/oracle/oradata/orcl/example01.db - wrote new
name
Datafile /home/oracle/app/oracle/oradata/orcl/APEX_1930613455248703.db -
wrote new name
Datafile /home/oracle/app/oracle/oradata/tbs1.db - wrote new name
Datafile /home/oracle/app/oracle/oradata/tbs2.db - wrote new name
Datafile /home/oracle/app/oracle/oradata/orcl/temp01.db - wrote new name
Control File /home/oracle/app/oracle/oradata/orcl/control01.ctl - wrote
new name
Control File /home/oracle/app/oracle/flash_recovery_area/orcl/control02.ctl
- wrote new name
Instance shut down
Database name changed to ORCLNEW.
Modify parameter file and generate
a new password file before restarting.
Succesfully changed database name.
DBNEWID - Completed succesfully.
[oracle@localhost bin]$
Change db name in pfile:
[oracle@localhost dbs]$ vi initorcl.ora
*.db_name='ORCLNEW'
SQL> startup mount
ORACLE instance started.
Total System Global Area 456146944 bytes
Fixed Size 1344840 bytes
Variable Size 356518584 bytes
Database Buffers 92274688 bytes
Redo Buffers 6008832 bytes
Database mounted.
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01139: RESETLOGS option only valid after
an incomplete database recovery
SQL> alter database open;
Database altered.
SQL>
SQL> select name,open_mode from
v$database;
NAME
OPEN_MODE
--------- --------------------
ORCLNEW READ WRITE
Hope this may helpful and useful.
Regards,