Wednesday, March 21, 2018

CRS-4228: Value of attribute ')' is missing

After changing disk group of database which is configured on cluster ready service , start and stop dependency attributes configured for old disk group must be changed in order to provide proper configuration.

$ crsctl status res ora.test.db -p

NAME=ora.test.db
TYPE=ora.database.type
ACL=owner:oracle:rwx,pgrp:oinstall:rwx,other::r--
...
START_DEPENDENCIES=hard(ora.TESTRECO.dg,ora.TESTDATADG.dg) weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,global:ora.gns) pullup(ora.TESTRECO.dg,ora.TESTDATADG.dg)
STOP_DEPENDENCIES=hard(intermediate:ora.asm,shutdown:ora.TESTRECO.dg,shutdown:ora.TESTDATADG.dg)
...

Disk group TESTDATADG is not using anymore and all data files have been moved another disk group named TESTDATADG2. 

Change the attributes related with old disk to indicate new disk group name.

$ crsctl modify res ora.test.db -attr START_DEPENDENCIES="hard(ora.TESTRECO.dg.ora, ora.TESTDATADG2.dg).........."

gives CRS-4228 error.

The comma is used as a delimiter between attributes , so string after comma "ora.TESTDATADG2.dg)"  is viewed as resource which does not exist actually. In order to prevent this error , single quotes is used between atrribute value like this,

$ crsctl modify res ora.test.db -attr START_DEPENDENCIES="'hard(ora.TESTRECO.dg.ora, ora.TESTDATADG2.dg)..........'"




1 comment: