ODA Pre-check Report Alert (Cluster Ready Services Attribute STOP_DEPENDENCIES/START_DEPENDENCIES for Database is Incorrect)
Manoj Kumar
Nov 8, 2023 12:30:00 PM
I am planning to Patch Oracle Database Appliance (ODA) from version 19.11 to 19.15 on X8-2L.
I am not discussing the whole ODA patching here but one of the issues during the pre-patch report.
When I ran the pre-patch report I got the below error/alert… This is part of the pre-check report.
__GI__
Validate GI metadata Success Successfully validated GI metadata
Validate supported GI versions Success Validated minimum supported versions.
Validate available space Success Validated free space under /u01
Is clusterware running Success Clusterware is running
Validate patching tag Success Validated patching tag: 19.15.0.0.0.
Is system provisioned Success Verified system is provisioned
Validate ASM in online Success ASM is online
Validate kernel log level Success Successfully validated the OS log
level
Validate minimum agent version Success GI patching enabled in current
DCSAGENT version
Validate Central Inventory Success oraInventory validation passed
Validate patching locks Success Validated patching locks
Validate clones location exist Success Validated clones location
Validate DB start dependencies Alert Cluster Ready Services attribute
START_DEPENDENCIES for database
[testoda] is incorrect and will be
corrected as part of server patching.
Validate DB stop dependencies Alert Cluster Ready Services attribute
STOP_DEPENDENCIES for database
[testoda] is incorrect and will be
corrected as part of server patching.
Evaluate GI patching Success Successfully validated GI patching
Validate command execution Success Validated command execution
1. First I check the DCS logs to see why it’s alerting on the CRS attribute is incorrect for the tested database.
run: cmd= '[/u01/app/19.11.0.0/grid/bin/crsctl,
status,
resource,
-w,
(TYPE = ora.database.type) AND (START_DEPENDENCIES coi 'orahome_sh') AND ((START_DEPENDENCIES nci 'odabase_n0') OR (START_DEPENDENCIES nci 'odabase_n1')),
-v,
-attr,
NAME]'
2023-10-18 10:47:03,706 DEBUG [Thread-981] [] c.o.d.c.u.CommonsUtils: Output :
NAME=ora.testoda.db
2023-10-18 10:47:03,706 DEBUG [Thread-981] [] c.o.d.c.u.CommonsUtils: Output : EMPTY CONTENT
2023-10-18 10:47:03,712 DEBUG [Run patching pre-checks for component: GI : JobId=e13279b9-990a-4c45-b0f5-1a96740828e5] [] c.o.d.a.u.OraHomeStorageUtils: Processing string "NAME=ora.testoda.db"
2023-10-18 10:47:03,712 INFO [Run patching pre-checks for component: GI : JobId=e13279b9-990a-4c45-b0f5-1a96740828e5] [] c.o.d.a.u.OraHomeStorageUtils: START_DEPENDENCIES invalid for "testoda"
If we see it mention 3 start dependencies in logs.
2. Then I thought let me check what are the CRS start and stop dependencies attribute values for this database with issue and another database without issue.
Attribute of DB with Issue:
[grid@odanode ~]$ crsctl status resource ora.testoda.db -f | grep DEPENDENCIES=
START_DEPENDENCIES=hard(global:uniform:ora.RECO.dg, global:uniform:ora.DATA.dg, ora.data.orahome_sh.acfs) pullup(ora.data.orahome_sh.acfs, global:ora.DATA.dg, global:ora.RECO.dg) weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,global:ora.gns)
STOP_DEPENDENCIES=hard(global:intermediate:ora.asm,global:shutdown:ora.RECO.dg,global:shutdown:ora.DATA.dg,ora.data.orahome_sh.acfs)
[grid@odanode ~]$
Attribute of DB without Issue:
[grid@odanode ~]$ crsctl status resource ora.devoda.db -f | grep DEPENDENCIES=
START_DEPENDENCIES=hard(global:uniform:ora.DATA.dg, ora.data.orahome_sh.acfs, ora.data.odabase_n0.acfs, ora.data.odabase_n1.acfs, global:uniform:ora.RECO.dg) pullup(ora.data.orahome_sh.acfs, ora.data.odabase_n0.acfs, ora.data.odabase_n1.acfs, global:ora.RECO.dg, global:ora.DATA.dg) weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,global:ora.gns)
STOP_DEPENDENCIES=hard(global:intermediate:ora.asm,global:shutdown:ora.DATA.dg,ora.data.orahome_sh.acfs,intermediate:ora.data.odabase_n0.acfs,intermediate:ora.data.odabase_n1.acfs, global:shutdown:ora.RECO.dg)
[grid@odanode ~]$
3. Then I compared the working and nonworking attributes from above and saw below the missing nonworking attribute, which somewhat matches the logs that I show in Step 1.
missing from stop_dependencies = intermediate:ora.data.odabase_n0.acfs,intermediate:ora.data.odabase_n1.acfs
missing from start_dependencies = hard(ora.data.odabase_n0.acfs, ora.data.odabase_n1.acfs) pullup(ora.data.odabase_n0.acfs, ora.data.odabase_n1.acfs)
4. So, I modified the incorrect start and stop dependencies for the database shown in the pre-patch report using the below command. Basically, I copy the attribute from the correct DB.
[oracle@odanode ~] /u01/app/19.11.0.0/grid/bin/crsctl modify resource ora.testoda.db -attr "START_DEPENDENCIES='hard(global:uniform:ora.DATA.dg, ora.data.orahome_sh.acfs, ora.data.odabase_n0.acfs, ora.data.odabase_n1.acfs, global:uniform:ora.RECO.dg) pullup(ora.data.orahome_sh.acfs, ora.data.odabase_n0.acfs, ora.data.odabase_n1.acfs, global:ora.RECO.dg, global:ora.DATA.dg) weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,global:ora.gns)'" -unsupported
[oracle@odanode ~] /u01/app/19.11.0.0/grid/bin/crsctl modify resource ora.testoda.db -attr "STOP_DEPENDENCIES=hard(global:intermediate:ora.asm,global:shutdown:ora.DATA.dg,ora.data.orahome_sh.acfs,intermediate:ora.data.odabase_n0.acfs,intermediate:ora.data.odabase_n1.acfs, global:shutdown:ora.RECO.dg)'" -unsupported
NOTE: If I don't use the last "-unsupported" keyword it gives below error.
CRS-4995: The command 'Modify resource' is invalid in crsctl. Use srvctl for this command.
5. After modifying the attribute, I ran the pre-patch report and didn’t see the alert anymore.