We want to change database name from DUN15 to TRAIL12

SYS @ dun15 >  select name,open_mode,host_name, version from v$database, v$instance;

NAME      OPEN_MODE            HOST_NAME                      VERSION
--------- -------------------- ------------------------------ -----------------
DUN15     READ WRITE           oel6-node02.localdomain        12.1.0.2.0

Verify tns entry exist for DUN15 and you are able to do a tnsping

[oracle@oel6-node02 admin]$ tnsping dun15

TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 25-MAY-2020 11:26:19

Copyright (c) 1997, 2014, Oracle.  All rights reserved.

Used parameter files:
/u01/app/oracle/product/12.1.0.2/db_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oel6-node02.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dun15)))
OK (0 msec)

Shutdown and start DUN15 database in mount mode

SYS @ dun15 > shu immediate
Database closed.
Database dismounted.
startup mount
ORACLE instance shut down.
SYS @ dun15 >
ORACLE instance started.

Total System Global Area  729808896 bytes
Fixed Size                  2928680 bytes
Variable Size             557846488 bytes
Database Buffers          163577856 bytes
Redo Buffers                5455872 bytes
Database mounted.
SYS @ dun15 > SYS @ dun15 > select name,open_mode from v$database;

NAME      OPEN_MODE
--------- --------------------
DUN15     MOUNTED

set env variables and Run nid

[oracle@oel6-node02 admin]$ env|grep ORA
ORACLE_UNQNAME=srcdb
ORACLE_SID=dun15
ORACLE_BASE=/u01/app/oracle
ORACLE_HOSTNAME=oel6-node02.localdomain
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
[oracle@oel6-node02 admin]$ nid TARGET=sys/oracle@dun15 DBNAME=trail12

DBNEWID: Release 12.1.0.2.0 - Production on Mon May 25 11:28:22 2020

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.

Connected to database DUN15 (DBID=1452282612)

Connected to server version 12.1.0

Control Files in database:
    /u01/app/oracle/oradata/DUN15/controlfile/o1_mf_hdpo6tfs_.ctl
    /u01/app/oracle/fast_recovery_area/DUN15/controlfile/o1_mf_hdpo6tnj_.ctl

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

Proceeding with operation
Changing database ID from 1452282612 to 3859284822
Changing database name from DUN15 to TRAIL12
    Control File /u01/app/oracle/oradata/DUN15/controlfile/o1_mf_hdpo6tfs_.ctl - modified
    Control File /u01/app/oracle/fast_recovery_area/DUN15/controlfile/o1_mf_hdpo6tnj_.ctl - modified
    Datafile /u01/app/oracle/oradata/DUN15/datafile/o1_mf_system_hdpo3o7d_.db - dbid changed, wrote new name
    Datafile /u01/app/oracle/oradata/DUN15/datafile/o1_mf_sysaux_hdpo1xsx_.db - dbid changed, wrote new name
    Datafile /u01/app/oracle/oradata/DUN15/datafile/o1_mf_undotbs1_hdpo5qr5_.db - dbid changed, wrote new name
    Datafile /u01/app/oracle/oradata/DUN15/datafile/o1_mf_users_hdpo5pl7_.db - dbid changed, wrote new name
    Datafile /u01/app/oracle/oradata/DUN15/datafile/o1_mf_temp_hdpo80cv_.tm - dbid changed, wrote new name
    Control File /u01/app/oracle/oradata/DUN15/controlfile/o1_mf_hdpo6tfs_.ctl - dbid changed, wrote new name
    Control File /u01/app/oracle/fast_recovery_area/DUN15/controlfile/o1_mf_hdpo6tnj_.ctl - dbid changed, wrote new name
    Instance shut down

Database name changed to TRAIL12.
Modify parameter file and generate a new password file before restarting.
Database ID for database TRAIL12 changed to 3859284822.
All previous backups and archived redo logs for this database are unusable.
Database is not aware of previous backups and archived logs in Recovery Area.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.

Start the database in mount state and set the db_name in spfile

[oracle@oel6-node02 admin]$ sqlplus

SQL*Plus: Release 12.1.0.2.0 Production on Mon May 25 11:29:51 2020

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter user-name: /as sysdba
Connected to an idle instance.

SYS @ dun15 > STARTUP MOUNT
ORACLE instance started.

Total System Global Area  729808896 bytes
Fixed Size                  2928680 bytes
Variable Size             557846488 bytes
Database Buffers          163577856 bytes
Redo Buffers                5455872 bytes
ORA-01103: database name 'TRAIL12' in control file is not 'DUN15'


SYS @ dun15 > ALTER SYSTEM SET DB_NAME=trail12 SCOPE=SPFILE;

System altered.

again shutdown the database

SYS @ dun15 > SHUTDOWN IMMEDIATE
ORA-01507: database not mounted


ORACLE instance shut down.
SYS @ dun15 > exit

Create new password file

[oracle@oel6-node02 admin]$ cd $ORACLE_HOME/dbs
[oracle@oel6-node02 dbs]$ pwd
/u01/app/oracle/product/12.1.0.2/db_1/dbs
[oracle@oel6-node02 dbs]$ ls -ltr
total 9852
-rw-r--r--. 1 oracle oinstall     2992 Feb  3  2012 init.ora
-rw-r-----. 1 oracle oinstall       24 May 11 11:52 lkTRACK
-rw-r-----. 1 oracle oinstall 10043392 May 11 12:17 snapcf_track.f
-rw-r-----. 1 oracle oinstall      163 May 12 10:22 initDBUA2211276.ora
-rw-r-----. 1 oracle oinstall     7680 May 12 10:22 orapwDBUA2211276
-rw-rw----. 1 oracle oinstall     1544 May 12 10:23 hc_track.dat
-rw-r-----. 1 oracle oinstall       24 May 25 10:44 lkDUN15
-rw-r-----. 1 oracle oinstall     7680 May 25 10:52 orapwdun15
-rw-rw----. 1 oracle oinstall     1544 May 25 11:29 hc_dun15.dat
-rw-r-----. 1 oracle oinstall     3584 May 25 11:30 spfiledun15.ora
[oracle@oel6-node02 dbs]$ mv orapwdun15 orapwdun15.old
[oracle@oel6-node02 dbs]$ orapwd file=orapwtrail12 password=oracle entries=10
[oracle@oel6-node02 dbs]$ ls -ltr
total 9860
-rw-r--r--. 1 oracle oinstall     2992 Feb  3  2012 init.ora
-rw-r-----. 1 oracle oinstall       24 May 11 11:52 lkTRACK
-rw-r-----. 1 oracle oinstall 10043392 May 11 12:17 snapcf_track.f
-rw-r-----. 1 oracle oinstall      163 May 12 10:22 initDBUA2211276.ora
-rw-r-----. 1 oracle oinstall     7680 May 12 10:22 orapwDBUA2211276
-rw-rw----. 1 oracle oinstall     1544 May 12 10:23 hc_track.dat
-rw-r-----. 1 oracle oinstall       24 May 25 10:44 lkDUN15
-rw-r-----. 1 oracle oinstall     7680 May 25 10:52 orapwdun15.old
-rw-rw----. 1 oracle oinstall     1544 May 25 11:29 hc_dun15.dat
-rw-r-----. 1 oracle oinstall     3584 May 25 11:30 spfiledun15.ora
-rw-r-----. 1 oracle oinstall     7680 May 25 11:32 orapwtrail12

rename the spfile as per new database name

[oracle@oel6-node02 dbs]$ cp spfiledun15.ora spfiletrail12.ora
[oracle@oel6-node02 dbs]$ mv spfiledun15.ora spfiledun15.ora.old
[oracle@oel6-node02 dbs]$ ls -ltr
total 9864
-rw-r--r--. 1 oracle oinstall     2992 Feb  3  2012 init.ora
-rw-r-----. 1 oracle oinstall       24 May 11 11:52 lkTRACK
-rw-r-----. 1 oracle oinstall 10043392 May 11 12:17 snapcf_track.f
-rw-r-----. 1 oracle oinstall      163 May 12 10:22 initDBUA2211276.ora
-rw-r-----. 1 oracle oinstall     7680 May 12 10:22 orapwDBUA2211276
-rw-rw----. 1 oracle oinstall     1544 May 12 10:23 hc_track.dat
-rw-r-----. 1 oracle oinstall       24 May 25 10:44 lkDUN15
-rw-r-----. 1 oracle oinstall     7680 May 25 10:52 orapwdun15.old
-rw-rw----. 1 oracle oinstall     1544 May 25 11:29 hc_dun15.dat
-rw-r-----. 1 oracle oinstall     3584 May 25 11:30 spfiledun15.ora.old
-rw-r-----. 1 oracle oinstall     7680 May 25 11:32 orapwtrail12
-rw-r-----. 1 oracle oinstall     3584 May 25 11:32 spfiletrail12.ora

Modify oratab to have new database entry

trail12:/u01/app/oracle/product/12.1.0.2/db_1:N

Set the env

[oracle@oel6-node02 dbs]$ env|grep ORA
ORACLE_UNQNAME=srcdb
ORACLE_SID=dun15
ORACLE_BASE=/u01/app/oracle
ORACLE_HOSTNAME=oel6-node02.localdomain
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1


[oracle@oel6-node02 dbs]$ . oraenv
ORACLE_SID = [dun15] ? trail12
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@oel6-node02 dbs]$ env|grep ORA
ORACLE_UNQNAME=srcdb
ORACLE_SID=trail12
ORACLE_BASE=/u01/app/oracle
ORACLE_HOSTNAME=oel6-node02.localdomain

Modify listener.ora if needed. no change required in my case

[oracle@oel6-node02 admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/12.1.0.2/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oel6-node02.localdomain)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

Modify tnsnames.ora if you need tns entry for new database not compulsion

[oracle@oel6-node02 admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0.2/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

TRAIL12 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oel6-node02.localdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = trail12)
    )
  )

Open database in reset logs

[oracle@oel6-node02 admin]$ sqlplus

SQL*Plus: Release 12.1.0.2.0 Production on Mon May 25 11:35:24 2020

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter user-name: /as sysdba
Connected to an idle instance.

SYS @ trail12 > startup mount
ORACLE instance started.

Total System Global Area  729808896 bytes
Fixed Size                  2928680 bytes
Variable Size             553652184 bytes
Database Buffers          167772160 bytes
Redo Buffers                5455872 bytes
Database mounted.
SYS @ trail12 > ALTER DATABASE OPEN RESETLOGS;

Database altered.

verify details

SYS @ trail12 > select name,open_mode from v$database;

NAME      OPEN_MODE
--------- --------------------
TRAIL12   READ WRITE

SYS @ trail12 > sho parameter db_n

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_name                              string      TRAIL12
SYS @ trail12 > sho parameter uniq

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      TRAIL12

do a clean shutdown and startup

SYS @ trail12 > shu immediate
startup


Database closed.
Database dismounted.
ORACLE instance shut down.
SYS @ trail12 > ORACLE instance started.

Total System Global Area  729808896 bytes
Fixed Size                  2928680 bytes
Variable Size             557846488 bytes
Database Buffers          163577856 bytes
Redo Buffers                5455872 bytes
Database mounted.
Database opened.
SYS @ trail12 > SYS @ trail12 > SYS @ trail12 >

Reload the listener if needed

[oracle@oel6-node02 admin]$ lsnrctl reload

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 25-MAY-2020 11:39:41

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel6-node02.localdomain)(PORT=1521)))
The command completed successfully
[oracle@oel6-node02 admin]$ lsnrctl status

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 25-MAY-2020 11:39:43

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel6-node02.localdomain)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date                25-MAY-2020 11:05:13
Uptime                    0 days 0 hr. 34 min. 30 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.1.0.2/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oel6-node02/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel6-node02.localdomain)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=oel6-node02.localdomain)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/admin/TRAIL12/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "TRAIL12" has 1 instance(s).
  Instance "trail12", status READY, has 1 handler(s) for this service...
Service "dun15XDB" has 1 instance(s).
  Instance "trail12", status READY, has 1 handler(s) for this service...
The command completed successfully