While changing DB_UNIQUE_NAME for an Cluster Oracle database, we have this error
- Old DB_UNIQUE_NAME : wadhah
- New DB_UNIQUE_NAME : wadhahtn
Error:
SQL> alter system set db_unique_name='wadhahtn' scope=spfile sid='*';
alter system set db_unique_name='wadhahtn' scope=spfile sid='*'
*
ERROR at line 1:
ORA-32017: failure in updating SPFILE
ORA-65500: could not modify DB_UNIQUE_NAME, resource exists
Solution:
- Check the configuration of the database
$ srvctl config database -d wadhah
Database unique name: wadhah
Database name: wadhah
Oracle home: /u01/app/oracle/product/19c/db_1
Oracle user: oracle
Spfile: +DATA/WADHAH/PARAMETERFILE/spfile.263.1165688599
Password file: +DATA/WADHAH/PASSWORD/pwdwadhah.256.1165687723
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA,FRA
Mount point paths:
Services: wadhah_srv
Type: RACOneNode
Online relocation timeout: 30
Instance name prefix: wadhah
Candidate servers: wadhahtn-01,wadhahtn-02
OSDBA group: dba
OSOPER group: oper
Database instances: wadhah_1
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
2. Remove the database from the cluster resources
$ srvctl remove database -d wadhah -f
3. Change the DB_UNIQUE_NAME :
SQL> alter system set db_unique_name='wadhahn' scope=spfile sid='*'; System altered. SQL> shut immediate Database closed. Database dismounted. ORACLE instance shut down. $ srvctl add database -db wadhahtn -dbname wadhah -instance wadhah ........
4. Start Database and service
Enjoy