cancel
Showing results for 
Search instead for 
Did you mean: 

Group Dependency Violation Error

sechevarria
Level 2
Hello!  I finally got some down time this past weekend to test my failover configuration, but was stopped almost immediately due to a group dependency violation error when I first tried to manually fail one node to another.  I can't see anything wrong with the configuration that would give me such an error.  Can someone take a look at the main.cf file for these two service groups and tell me if something stands out to you?  Thanks!!!!!  I'm trying to fail over service group ora_db_cmd that resides on node eros to node hera.  When I right clicked on the service group and tried to switch to the hera node, I got the confirmation box and then the group dependency violation error box.  Both service groups were completely online at the time, but I don't have anything marked as critical yet.

group  ora_db_cmd (
SystemList = { eros = 0, hera = 1 }
AutoStartList = { eros }
)

Application ODC_GrdCtl (
Critical = 0
User = oragent
StartProgram = "/usr/local/bin/clus_agt05_emctl.sh start agent"
StopProgram = "/usr/local/bin/clus_agt05_emctl.sh stop agent"
CleanProgram = "/usr/local/bin/clus_agt05_emctl.sh clean"
MonitorProgram = "/usr/local/bin/clus_agt05_emctl.sh status"
)

IPMultiNICB ODC_IPMultiNICB (
Critical = 0
Address = "192.168.150.35"
NetMask = "255.255.255.0"
MultiNICBResName = ODC_MultiNICB
)

LVMVG ODC_LVMVG_agt05vg (
Critical = 0
VolumeGroup = agt05vg
MajorNumber = 413
)

LVMVG ODC_LVMVG_capdbvg (
Critical = 0
VolumeGroup = capdbvg
MajorNumber = 135
)

LVMVG ODC_LVMVG_capvg (
Critical = 0
VolumeGroup = capvg
MajorNumber = 130
)

Mount ODC_agt05 (
Critical = 0
MountPoint = "/agt05"
BlockDevice = "/dev/agt05lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODC_cap01 (
Critical = 0
MountPoint = "/cap01"
BlockDevice = "/dev/cap01lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODC_cap02 (
Critical = 0
MountPoint = "/cap02"
BlockDevice = "/dev/cap02lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODC_cap03 (
Critical = 0
MountPoint = "/cap03"
BlockDevice = "/dev/cap03lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODC_cap04 (
Critical = 0
MountPoint = "/cap04"
BlockDevice = "/dev/cap04lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODC_cap05 (
Critical = 0
MountPoint = "/cap05"
BlockDevice = "/dev/cap05lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODC_cap06 (
Critical = 0
MountPoint = "/cap06"
BlockDevice = "/dev/cap06lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODC_nfs_HOT_backup (
Critical = 0
MountPoint = "/HOT_backup"
BlockDevice = "oracledb:/HOT_backup"
FSType = nfs
)

MultiNICB ODC_MultiNICB (
Critical = 0
Device @eros = { en2 = "192.168.150.150", en6 = "192.168.150.25" }
Device @hera = { en2 = "192.168.150.6", en4 = "192.168.150.5" }
NetworkHosts = { "192.168.150.20", "192.168.150.7", "192.168.150.22",
"192.168.150.3",
"192.168.150.4",
"192.168.150.8" }
Gateway = "192.168.150.22"
LinkTestRatio = 2
NetworkTimeout = 750
)

Netlsnr ODC_Netlsnr_CAP (
Critical = 0
Owner = oracmd
Home = "/cap01/cmdpdb/command/oracmd/product/10.2.0"
TnsAdmin = "/cap01/cmdpdb/command/oracmd/product/10.2.0/network/admin"
Listener = CMDP
EnvFile = "/cap01/cmdpdb/command/oracmd/product/10.2.0/CMDP.env"
)

Oracle ODC_Oracle_CAP (
Critical = 0
Sid = CMDP
Owner = oracmd
Home = "/cap01/cmdpdb/command/oracmd/product/10.2.0"
StartUpOpt = STARTUP
EnvFile = "/cap01/cmdpdb/command/oracmd/product/10.2.0/CMDP.env"
)

ODC_GrdCtl requires ODC_agt05
ODC_IPMultiNICB requires ODC_MultiNICB
ODC_Netlsnr_CAP requires ODC_IPMultiNICB
ODC_Netlsnr_CAP requires ODC_cap01
ODC_Oracle_CAP requires ODC_cap01
ODC_Oracle_CAP requires ODC_cap02
ODC_Oracle_CAP requires ODC_cap03
ODC_Oracle_CAP requires ODC_cap04
ODC_Oracle_CAP requires ODC_cap05
ODC_Oracle_CAP requires ODC_cap06
ODC_agt05 requires ODC_LVMVG_agt05vg
ODC_cap01 requires ODC_LVMVG_capvg
ODC_cap02 requires ODC_LVMVG_capdbvg
ODC_cap03 requires ODC_LVMVG_capdbvg
ODC_cap04 requires ODC_LVMVG_capdbvg
ODC_cap05 requires ODC_LVMVG_capdbvg
ODC_cap06 requires ODC_LVMVG_capdbvg


// resource dependency tree
//
// group ora_db_cmd
// {
// Application ODC_GrdCtl
// {
// Mount ODC_agt05
// {
// LVMVG ODC_LVMVG_agt05vg
// }
// }
// Netlsnr ODC_Netlsnr_CAP
// {
// IPMultiNICB ODC_IPMultiNICB
// {
// MultiNICB ODC_MultiNICB
// }
// Mount ODC_cap01
// {
// LVMVG ODC_LVMVG_capvg
// }
// }
// Oracle ODC_Oracle_CAP
// {
// Mount ODC_cap01
// {
// LVMVG ODC_LVMVG_capvg
// }
// Mount ODC_cap02
// {
// LVMVG ODC_LVMVG_capdbvg
// }
// Mount ODC_cap03
// {
// LVMVG ODC_LVMVG_capdbvg
// }
// Mount ODC_cap04
// {
// LVMVG ODC_LVMVG_capdbvg
// }
// Mount ODC_cap05
// {
// LVMVG ODC_LVMVG_capdbvg
// }
// Mount ODC_cap06
// {
// LVMVG ODC_LVMVG_capdbvg
// }
// }
// Mount ODC_nfs_HOT_backup
// }


group ora_db_dev (
SystemList = { hera = 0 }
AutoStartList = { hera }
)

Application ODD_GrdCtl (
Critical = 0
User = oragent
StartProgram = "/usr/local/bin/clus_agt06_emctl.sh start agent"
StopProgram = "/usr/local/bin/clus_agt06_emctl.sh stop agent"
CleanProgram = "/usr/local/bin/clus_agt06_emctl.sh clean"
MonitorProgram = "/usr/local/bin/clus_agt06_emctl.sh status"
)

IPMultiNICB ODD_IPMultiNICB (
Critical = 0
Address = "192.168.150.36"
NetMask = "255.255.255.0"
MultiNICBResName = ODC_MultiNICB
)

LVMVG ODD_LVMVG_agt06vg (
Critical = 0
VolumeGroup = agt06vg
MajorNumber = 414
)

LVMVG ODD_LVMVG_caddbvg (
Critical = 0
VolumeGroup = caddbvg
MajorNumber = 145
)

LVMVG ODD_LVMVG_cadvg (
Critical = 0
VolumeGroup = cadvg
MajorNumber = 140
)

LVMVG ODD_LVMVG_catdbvg (
Critical = 0
VolumeGroup = catdbvg
MajorNumber = 105
)

LVMVG ODD_LVMVG_catvg (
Critical = 0
VolumeGroup = catvg
MajorNumber = 100
)

LVMVG ODD_LVMVG_devdbvg (
Critical = 0
VolumeGroup = devdbvg
MajorNumber = 92
)

LVMVG ODD_LVMVG_devvg (
Critical = 0
VolumeGroup = devvg
MajorNumber = 91
)

Mount ODD_agt06 (
Critical = 0
MountPoint = "/agt06"
BlockDevice = "/dev/agt06lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_cad01 (
Critical = 0
MountPoint = "/cad01"
BlockDevice = "/dev/cad01lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_cad02 (
Critical = 0
MountPoint = "/cad02"
BlockDevice = "/dev/cad02lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_cad03 (
Critical = 0
MountPoint = "/cad03"
BlockDevice = "/dev/cad03lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_cad04 (
Critical = 0
MountPoint = "/cad04"
BlockDevice = "/dev/cad04lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_cad05 (
Critical = 0
MountPoint = "/cad05"
BlockDevice = "/dev/cad05lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_cat01 (
Critical = 0
MountPoint = "/cat01"
BlockDevice = "/dev/cat01lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_cat02 (
Critical = 0
MountPoint = "/cat02"
BlockDevice = "/dev/cat02lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_cat03 (
Critical = 0
MountPoint = "/cat03"
BlockDevice = "/dev/cat03lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_cat04 (
Critical = 0
MountPoint = "/cat04"
BlockDevice = "/dev/cat04lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_cat05 (
Critical = 0
MountPoint = "/cat05"
BlockDevice = "/dev/cat05lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_dev01 (
Critical = 0
MountPoint = "/dev01"
BlockDevice = "/dev/dev01lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_dev02 (
Critical = 0
MountPoint = "/dev02"
BlockDevice = "/dev/dev02lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_dev03 (
Critical = 0
MountPoint = "/dev03"
BlockDevice = "/dev/dev03lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_dev04 (
Critical = 0
MountPoint = "/dev04"
BlockDevice = "/dev/dev04lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_dev05 (
Critical = 0
MountPoint = "/dev05"
BlockDevice = "/dev/dev05lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_dev06 (
Critical = 0
MountPoint = "/dev06"
BlockDevice = "/dev/dev06lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_dev07 (
Critical = 0
MountPoint = "/dev07"
BlockDevice = "/dev/dev07lv"
FSType = jfs2
FsckOpt = "-y"
)

Mount ODD_dev08 (
Critical = 0
MountPoint = "/dev08"
BlockDevice = "/dev/dev08lv"
FSType = jfs2
FsckOpt = "-y"
)

Netlsnr ODD_Netlsnr_APPS_DEV (
Critical = 0
Owner = appldev
Home = "/dev01/devora/product/8.0.6"
TnsAdmin = "/dev01/devora/product/8.0.6/network/admin/DEV_hera"
Listener = APPS_DEV
EnvFile = "/dev01/devora/product/8.0.6/DEV_hera.env"
)

Netlsnr ODD_Netlsnr_CAD (
Critical = 0
Owner = oracad
Home = "/cad01/command/oracad"
TnsAdmin = "/cad01/command/oracad/network/admin"
Listener = CMDD
EnvFile = "/cad01/command/oracad/CMDD.env"
)

Netlsnr ODD_Netlsnr_CAT (
Critical = 0
Owner = oracat
Home = "/cat01/cmdtdb/oracat/product/10.2.0"
TnsAdmin = "/cat01/cmdtdb/oracat/product/10.2.0/network/admin"
Listener = CMDT
EnvFile = "/cat01/cmdtdb/oracat/product/10.2.0/CMDT.env"
)

Netlsnr ODD_Netlsnr_DEV (
Critical = 0
Owner = oradev
Home = "/dev01/devdb/oradev/product/10.2.0"
TnsAdmin = "/dev01/devdb/oradev/product/10.2.0/network/admin/DEV_hera"
Listener = DEV
EnvFile = "/dev01/devdb/oradev/product/10.2.0/DEV_hera.env"
)

Oracle ODD_Oracle_CAD (
Critical = 0
Sid = CMDD
Owner = oracad
Home = "/cad01/command/oracad"
EnvFile = "/cad01/command/oracad/CMDD.env"
)

Oracle ODD_Oracle_CAT (
Critical = 0
Sid = CMDT
Owner = oracat
Home = "/cat01/cmdtdb/oracat/product/10.2.0"
EnvFile = "/cat01/cmdtdb/oracat/product/10.2.0/CMDT.env"
)

Oracle ODD_Oracle_DEV (
Critical = 0
Sid = DEV
Owner = oradev
Home = "/dev01/devdb/oradev/product/10.2.0"
EnvFile = "/dev01/devdb/oradev/product/10.2.0/DEV_hera.env"
)

OracleApps ODD_Report_Server (
Critical = 0
User = appldev
OracleAppsVersion = 11
OracleHome = "/dev01/devora/product/8.0.6"
ScriptHome = "/dev01/devcomn/admin/scripts/DEV_hera"
EnvFile = "/dev01/devappl/APPSORA.env"
ServerType = ReportServer
Port = "\"\""
VirtualHostname = hera
)

OracleAppsCM ODD_CCM (
Critical = 0
User = appldev
OracleHome = "/dev01/devora/product/8.0.6"
ScriptHome = "/dev01/devcomn/admin/scripts/DEV_hera"
SQLDIR = "/dev01/devappl/fnd/11.5.0/sql"
EnvFile = "/dev01/devappl/DEV_hera.env"
DB_USER = apps
DB_Password = FRGtFTfTI
VirtualHostname = hera
ProcClean = { FNDLIBR, FNDSM }
)

Proxy ODD_Proxy_MultiNICB (
Critical = 0
TargetResName = ODC_MultiNICB
)

Share ODD_Share_DEV (
Critical = 0
PathName = "/usr/tmp/DEV"
Options = "access=athena,root=athena"
)

Share ODD_Share_fileIO (
Critical = 0
PathName = "/dev01/devappl/lvy/sql/interface/fileio"
Options = "access=command-netdev:commanddev-ts1:mercier-db1,root=command-netdev:commanddev-ts1:mercier-db1"
)

requires group ora_db_cmd offline local
ODD_CCM requires ODD_Netlsnr_APPS_DEV
ODD_CCM requires ODD_Netlsnr_DEV
ODD_CCM requires ODD_Oracle_DEV
ODD_GrdCtl requires ODD_agt06
ODD_IPMultiNICB requires ODD_Proxy_MultiNICB
ODD_Netlsnr_APPS_DEV requires ODD_IPMultiNICB
ODD_Netlsnr_APPS_DEV requires ODD_dev01
ODD_Netlsnr_CAD requires ODD_cad01
ODD_Netlsnr_CAT requires ODD_cat01
ODD_Netlsnr_DEV requires ODD_IPMultiNICB
ODD_Netlsnr_DEV requires ODD_dev01
ODD_Oracle_CAD requires ODD_cad01
ODD_Oracle_CAD requires ODD_cad02
ODD_Oracle_CAD requires ODD_cad03
ODD_Oracle_CAD requires ODD_cad04
ODD_Oracle_CAD requires ODD_cad05
ODD_Oracle_CAT requires ODD_cat01
ODD_Oracle_CAT requires ODD_cat02
ODD_Oracle_CAT requires ODD_cat03
ODD_Oracle_CAT requires ODD_cat04
ODD_Oracle_CAT requires ODD_cat05
ODD_Oracle_DEV requires ODD_dev01
ODD_Oracle_DEV requires ODD_dev02
ODD_Oracle_DEV requires ODD_dev03
ODD_Oracle_DEV requires ODD_dev04
ODD_Oracle_DEV requires ODD_dev05
ODD_Oracle_DEV requires ODD_dev06
ODD_Oracle_DEV requires ODD_dev07
ODD_Oracle_DEV requires ODD_dev08
ODD_Report_Server requires ODD_CCM
ODD_Share_fileIO requires ODD_dev01
ODD_agt06 requires ODD_LVMVG_agt06vg
ODD_cad01 requires ODD_LVMVG_cadvg
ODD_cad02 requires ODD_LVMVG_caddbvg
ODD_cad03 requires ODD_LVMVG_caddbvg
ODD_cad04 requires ODD_LVMVG_caddbvg
ODD_cad05 requires ODD_LVMVG_caddbvg
ODD_cat01 requires ODD_LVMVG_catvg
ODD_cat02 requires ODD_LVMVG_catdbvg
ODD_cat03 requires ODD_LVMVG_catdbvg
ODD_cat04 requires ODD_LVMVG_catdbvg
ODD_cat05 requires ODD_LVMVG_catdbvg
ODD_dev01 requires ODD_LVMVG_devvg
ODD_dev02 requires ODD_LVMVG_devdbvg
ODD_dev03 requires ODD_LVMVG_devdbvg
ODD_dev04 requires ODD_LVMVG_devdbvg
ODD_dev05 requires ODD_LVMVG_devdbvg
ODD_dev06 requires ODD_LVMVG_devdbvg
ODD_dev07 requires ODD_LVMVG_devdbvg
ODD_dev08 requires ODD_LVMVG_devdbvg


// resource dependency tree
//
// group ora_db_dev
// {
// Application ODD_GrdCtl
// {
// Mount ODD_agt06
// {
// LVMVG ODD_LVMVG_agt06vg
// }
// }
// Netlsnr ODD_Netlsnr_CAD
// {
// Mount ODD_cad01
// {
// LVMVG ODD_LVMVG_cadvg
// }
// }
// Netlsnr ODD_Netlsnr_CAT
// {
// Mount ODD_cat01
// {
// LVMVG ODD_LVMVG_catvg
// }
// }
// Oracle ODD_Oracle_CAD
// {
// Mount ODD_cad01
// {
// LVMVG ODD_LVMVG_cadvg
// }
// Mount ODD_cad02
// {
// LVMVG ODD_LVMVG_caddbvg
// }
// Mount ODD_cad03
// {
// LVMVG ODD_LVMVG_caddbvg
// }
// Mount ODD_cad04
// {
// LVMVG ODD_LVMVG_caddbvg
// }
// Mount ODD_cad05
// {
// LVMVG ODD_LVMVG_caddbvg
// }
// }
// Oracle ODD_Oracle_CAT
// {
// Mount ODD_cat01
// {
// LVMVG ODD_LVMVG_catvg
// }
// Mount ODD_cat02
// {
// LVMVG ODD_LVMVG_catdbvg
// }
// Mount ODD_cat03
// {
// LVMVG ODD_LVMVG_catdbvg
// }
// Mount ODD_cat04
// {
// LVMVG ODD_LVMVG_catdbvg
// }
// Mount ODD_cat05
// {
// LVMVG ODD_LVMVG_catdbvg
// }
// }
// OracleApps ODD_Report_Server
// {
// OracleAppsCM ODD_CCM
// {
// Netlsnr ODD_Netlsnr_APPS_DEV
// {
// IPMultiNICB ODD_IPMultiNICB
// {
// Proxy ODD_Proxy_MultiNICB
// }
// Mount ODD_dev01
// {
// LVMVG ODD_LVMVG_devvg
// }
// }
// Netlsnr ODD_Netlsnr_DEV
// {
// IPMultiNICB ODD_IPMultiNICB
// {
// Proxy ODD_Proxy_MultiNICB
// }
// Mount ODD_dev01
// {
// LVMVG ODD_LVMVG_devvg
// }
// }
// Oracle ODD_Oracle_DEV
// {
// Mount ODD_dev01
// {
// LVMVG ODD_LVMVG_devvg
// }
// Mount ODD_dev02
// {
// LVMVG ODD_LVMVG_devdbvg
// }
// Mount ODD_dev03
// {
// LVMVG ODD_LVMVG_devdbvg
// }
// Mount ODD_dev04
// {
// LVMVG ODD_LVMVG_devdbvg
// }
// Mount ODD_dev05
// {
// LVMVG ODD_LVMVG_devdbvg
// }
// Mount ODD_dev06
// {
// LVMVG ODD_LVMVG_devdbvg
// }
// Mount ODD_dev07
// {
// LVMVG ODD_LVMVG_devdbvg
// }
// Mount ODD_dev08
// {
// LVMVG ODD_LVMVG_devdbvg
// }
// }
// }
// }
// Share ODD_Share_DEV
// Share ODD_Share_fileIO
// {
// Mount ODD_dev01
// {
// LVMVG ODD_LVMVG_devvg
// }
// }
// }
4 REPLIES 4

Gaurav_S
Moderator
Moderator
   VIP    Certified
Hello,

I see that the service group ora_db_dev requires ora_db_cmd, so that means a group dependency is set between  these two groups.. & I see that group dependency is offline local.

That would be the reason you are getting group dependency violated. You can check the exact dependency with following:

# hagrp -dep

Check VCS users guide, that has a clear description of group dependencies with examples of what will failover & what will not. You can find user guide here

http://sfdoccentral.symantec.com/Storage_Foundation_HA_50_Solaris.html

Hope this helps..

Gaurav


Eric_Hennessey1
Level 5
Employee Certified
It's important to note that group dependencies are there to ensure that the engine properly handles failover sequences in the event of a fault.  Take the following scenario:

group_a requires group_b online local firm: This indicates that group_b most be online on the same node as group_a, and it must be online before group_a can go online.  If there's a failure on the node where those two groups are running, VCS will offline group_a, then group_b, then bring up group_b before group_a on the failover target.

If you want to manually switch the service groups, you'll have to first offline group_a, then switch group_b, then online group_a.

You may want to get your hands on the VCS simulator...it was built so that you can model cluster behavior before making changes to the live cluster.

Eileen
Level 6
You can find VCS Simulator 5.1 in the download section of the Clustering and Replication Community: http://www.symantec.com/connect/downloads/vcs-simulator-51 Hope this helps.

sechevarria
Level 2
I figured out what I was doing wrong.  My configuration will work the way I intended it to, but when I was trying to "test" it, I was just trying to switch a group from one node to another.  What I needed to do , was evacuate the node and that would automatically bring down the other group and fail over my intended group.  I downloaded the simulator a while ago but haven't been able to get it configured.  Still working on that.  : )  Thanks for the help everyone!