Deconfigure and reconfigure the Oracle Restart environment for GI version 19.26.

I would like to share my experience from a month ago when I upgraded my operating system from RHEL 7 to RHEL 8 on a system running the Oracle Restart environment with Grid Infrastructure (GI) version 19.26.

Following the upgrade, I encountered an issue where I was unable to start the High Availability Services (HAS). I performed extensive troubleshooting, including verifying permissions on the Oracle Local Registry (OLR) and checking binary files, among other aspects.

Eventually, I realized that reverting the OS upgrade to the previous release was necessary. At that point, I decided to deconfigure Oracle Restart, and fortunately, my system was restored successfully.

Below are the steps I followed:

1) Deconfigure the Oracle Restart env

<Grid Infrastructure Oracle Home>/crs/install/roothas.sh -deconfig -force

2) Reconfigure the Oracle Restart env

 <Grid infrastructure Oracle Home>/crs/install/roothas.sh

3) Go to the grid home’s bin directory.

Use the srvctl add database command with the -c SINGLE flag to add the database in an Oracle Restart configuration.

4) Execute the below as oracle or grid OS user (as the Grid Infrastructure OS owner):

$> /bin/crsctl modify resource "ora.cssd" -init -attr "AUTO_START=1" -unsupported

5) Restart the OHAS stack as grid or oracle OS user (as the Grid Infrastructure OS owner):


$> <Grid Infrastructure Oracle Home>/bin/crsctl stop has

$> <Grid Infrastructure Oracle Home>/bin/crsctl start has

6) Verify the CSS & OHAS state as grid or oracle OS user (as the Grid Infrastructure OS owner):


$> <Grid Infrastructure Oracle Home>/bin/crsctl check has

$> <Grid Infrastructure Oracle Home>/bin/crsctl check css

$> <Grid Infrastructure Oracle Home>/bin/ crsctl stat resource

$> <Grid Infrastructure Oracle Home>/bin/crsctl stat res -t

7) Now Next step to add listener to the Oracle Restart env

8) Please create the init+ASM.ora file on the /dbs directory with the next parameters:

asm_diskgroups= <list of diskgroups>

asm_diskstring= '/dev/oracleasm/disks/*'  

instance_type='asm'

large_pool_size=12M

9) Add the ASM instance as grid or oracle OS user (as the Grid Infrastructure OS owner):

$<Grid Infrastructure Oracle Home>/bin/srvctl add asm
$ <Grid Infrastructure Oracle Home>/bin/srvctl add asm

10) Enable ASM instance Auto Start as grid or oracle OS user (as the Grid Infrastructure OS owner) as follow:

$> <Grid Infrastructure Oracle Home>/bin/crsctl modify resource "ora.asm" -init -attr "AUTO_START=1"  -unsupported

11) Make sure the disks are discovered by kfod as grid or oracle OS user (as the Grid Infrastructure OS owner) as follow:

$> <Grid Infrastructure Oracle Home>/bin/kfod asm_diskstring='ORCL:*' disks=all

Or
$> <Grid Infrastructure Oracle Home>/bin/kfod asm_diskstring='<full path ASM disks location>/*' disks=all

12) If so, then startup the ASM instance as grid or oracle OS user (as the Grid Infrastructure OS owner) as follow:

$> export ORACLE_SID=+ASM

$> <Grid Infrastructure Oracle Home>/bin/sqlplus “/as sysasm”

SQL> startup pfile=init+ASM.ora --#init file from point #6

SQL> show parameter asm

13) Validate that the candidate disks are being discovered:

SQL> select  path  from v$asm_disk;

14) Create a new ASM instance spfile:

SQL> create spfile from pfile;

15) Add the new ASM spfile and listener to the new ASM instance resource:


$> <Grid Infrastructure Oracle Home>/bin/srvctl modify asm  -p <spfile full path>

$> <Grid Infrastructure Oracle Home>/bin/srvctl modify asm  -l LISTENER

16) Validate the OHAS (Oracle Restart) services start as follows:

$> <Grid Infrastructure Oracle Home>/bin/crsctl  stop has

$> <Grid Infrastructure Oracle Home>/bin/crsctl  start has

$> <Grid Infrastructure Oracle Home>/bin/crsctl  stat res

$> <Grid Infrastructure Oracle Home>/bin/crsctl  stat res -t

Leave a comment

About Me

I’m Dhiraj Kumar, an Oracle RAC Database With over 15 years of experience, I’m passionate about building high-performance, scalable database solutions that support critical business operations.

📘 Check out my latest articles and insights on Medium (@dhirajengr) .