在一次数据库迁移过程中,发现数据库使用srvctl start database命令无法启动,ORA-29760: instance_number parameter not specified、PRCD-1120 : The resource for database mes could not be found.等问题,原因的DB_UNIQUE_NAME发生了改变。在11G中无此问题。

1. 11G使用的添加命令如下(DB_UNIQUE_NAME为orclDR),可以正常使用:

srvctl add databased -d orcl -o $ORACLE_HOME
srvctl add instance-d orc1 -n hisdb1 -i orcl1
srvctl add instance-d orc2 -n hisdb2 -i orcl2

2. 12C环境同样语句添加有问题,处理过程如下:

报错信息:

[oracle@rac01 ~]$ srvctl start database -d mesdg
PRCR-1079 : Failed to start resource ora.mesdg.db
CRS-5017: The resource action "ora.mesdg.db start" encountered the following error: 
ORA-29760: instance_number parameter not specified
. For details refer to "(:CLSN00107:)" in "/u01/app/grid/diag/crs/rac01/crs/trace/crsd_oraagent_oracle.trc".

CRS-2674: Start of 'ora.mesdg.db' on 'rac01' failed
CRS-5017: The resource action "ora.mesdg.db start" encountered the following error: 
ORA-29760: instance_number parameter not specified
. For details refer to "(:CLSN00107:)" in "/u01/app/grid/diag/crs/rac02/crs/trace/crsd_oraagent_oracle.trc".

CRS-2674: Start of 'ora.mesdg.db' on 'rac02' failed
CRS-2632: There are no more servers to try to place resource 'ora.mesdg.db' on that would satisfy its placement policy

[oracle@rac01 ~]$ srvctl start database -d mes
PRCD-1120 : The resource for database mes could not be found.
PRCR-1001 : Resource ora.mes.db does not exist

解决步骤:

[oracle@rac01 ~]$ srvctl remove instance -d mesdg -i mes1
Remove instance from the database mesdg? (y/[n]) y
PRCD-1052 : Failed to remove instance from database mesdg
PRCD-1101 : Failed to remove running instance mes1 for database mesdg
[oracle@rac01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Feb 16 06:21:29 2023

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


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> show parmaeter instance_nu
SP2-0158: unknown SHOW option "parmaeter"
instance "local"
SP2-0158: unknown SHOW option "_nu"
SQL> show parameter instance_nu

NAME
------------------------------------
TYPE                                         VALUE
-------------------------------------------- ------------------------------
instance_number
integer                                      1
SQL> alter system set instance_number=1 sid='mes1' scope=spfile;

System altered.

SQL> alter system set instance_number=2 sid='mes2' scope=spfile;

System altered.

SQL> create pfile='/home/oracle/2.log' from spfile;

File created.

SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
[oracle@rac01 ~]$ cat 2.log |grep number
MES2.instance_number=2
MES1.instance_number=1
mes1.instance_number=1
mes2.instance_number=2
[oracle@rac01 ~]$ srvctl config database -d mesdg
Database unique name: mesdg
Database name: 
Oracle home: /u01/app/oracle/product/12.2.0.1/dbhome_1
Oracle user: oracle
Spfile: +DATA/mes/spfilemes.ora
Password file: 
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: 
Disk Groups: DATA,FLASHBACK1
Mount point paths: 
Services: 
Type: RAC
Start concurrency: 
Stop concurrency: 
OSDBA group: dba
OSOPER group: oper
Database instances: mes1,mes2
Configured nodes: rac01,rac02
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services: 
Database is administrator managed

Logo

一站式 AI 云服务平台

更多推荐