By Brian Fitzgerald
Introduction
In Restart, srvctl enable database does not actually enable database restart. This could be a bug.
Demonstration
srvctl add database
[oracle@ip-172-31-86-22 ~]$ srvctl stop database -database NY [oracle@ip-172-31-86-22 ~]$ srvctl remove database -d NY -y [oracle@ip-172-31-86-22 ~]$ srvctl add database -database NY -role PRIMARY -stopoption IMMEDIATE -instance ORCL -oraclehome /u01/app/oracle/product/19.3.0/dbhome_1 -spfile +DATA01/NY/PARAMETERFILE/spfile.263.1018152951 -diskgroup DATA01,RECO01 [oracle@ip-172-31-86-22 ~]$ logout [ec2-user@ip-172-31-86-22 ~]$ sudo reboot
log back in:
[oracle@ip-172-31-86-22 ~]$ ps -ef| grep smon grid 2214 1 0 14:06 ? 00:00:00 asm_smon_+ASM oracle 2239 2115 0 14:06 pts/0 00:00:00 grep --color=auto smon
srvctl enable database
You could try:
[oracle@ip-172-31-86-22 ~]$ srvctl enable database -d NY PRCC-1010 : NY was already enabled PRCR-1002 : Resource ora.ny.db is already enabled
Reboor, log back in, and check:
[oracle@ip-172-31-86-22 ~]$ logout [ec2-user@ip-172-31-86-22 ~]$ sudo reboot [oracle@ip-172-31-86-22 ~]$ ps -ef| grep smon grid 2112 1 0 15:10 ? 00:00:00 asm_smon_+ASM oracle 2807 2782 0 15:16 pts/0 00:00:00 grep --color=auto smon
No luck.
srvctl enable instance command is not available
You could try
[grid@ip-172-31-86-22 ~]$ srvctl enable instance -db NY -instance NY
but in Restart, this message will appear:
PRKO-2012 : instance object is not supported in Oracle Restart
Workarounds
I am aware of two workarounds
1. srvctl start database
Issuing srvctl start database has the side effect of enabling automatic restart.
[oracle@ip-172-31-86-22 dbs]$ srvctl start database -database NY PRCC-1014 : NY was already running PRCR-1004 : Resource ora.ny.db is already running PRCR-1079 : Failed to start resource ora.ny.db
From now on, the oracle database instance will start automatically.
2. crsctl modify resource
Issuing this command as the grid owner
[grid@ip-172-31-86-22 ~]$ crsctl modify resource ora.ny.db -attr AUTO_START=always -unsupported
also resolves the issue.
reboot
After you try one of these workarounds, reboot and notice that Oracle database is running.
[oracle@ip-172-31-86-22 ~]$ ps -ef| grep smon grid 2216 1 0 15:03 ? 00:00:00 asm_smon_+ASM oracle 2332 1 0 15:03 ? 00:00:00 ora_smon_ORCL oracle 2411 1781 0 15:03 pts/0 00:00:00 grep --color=auto smon
Conclusion
In Restart, “srvctl enable database” does not lead to automatic instance restart upon reboot as you might expect, but you can work around by issuing “srvctl start database” or “crsctl modify resource”.
