The following configuration has a complex eight-node cluster running multiple applications and large databases. The database servers, LargeServer1, LargeServer2, and LargeServer3, are enterprise systems. The middle-tier servers running multiple applications are MedServer1, MedServer2, MedServer3, MedServer4, and MedServer5.
In this configuration, the database zone (system zone 0) can handle a maximum of two failures. Each server has Limits to support a maximum of three database service groups. The application zone has excess capacity built into each server.
The servers running the application groups specify Limits to support one database, even though the application groups do not run prerequisites. This allows a database to fail over across system zones and run on the least-loaded server in the application zone.
include "types.cf" cluster SGWM-demo ( ) system LargeServer1 ( Capacity = 200 Limits = { ShrMemSeg=15, Semaphores=30, Processors=18 } LoadWarningLevel = 80 LoadTimeThreshold = 900 ) system LargeServer2 ( Capacity = 200 Limits = { ShrMemSeg=15, Semaphores=30, Processors=18 } LoadWarningLevel=80 LoadTimeThreshold=900 ) system LargeServer3 ( Capacity = 200 Limits = { ShrMemSeg=15, Semaphores=30, Processors=18 } LoadWarningLevel=80 LoadTimeThreshold=900 ) system MedServer1 ( Capacity = 100 Limits = { ShrMemSeg=5, Semaphores=10, Processors=6 } ) system MedServer2 ( Capacity = 100 Limits = { ShrMemSeg=5, Semaphores=10, Processors=6 } ) system MedServer3 ( Capacity = 100 Limits = { ShrMemSeg=5, Semaphores=10, Processors=6 } ) system MedServer4 ( Capacity = 100 Limits = { ShrMemSeg=5, Semaphores=10, Processors=6 } ) system MedServer5 ( Capacity = 100 Limits = { ShrMemSeg=5, Semaphores=10, Processors=6 } ) group Database1 ( SystemList = { LargeServer1, LargeServer2, LargeServer3, MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } SystemZones = { LargeServer1=0, LargeServer2=0, LargeServer3=0, MedServer1=1, MedServer2=1, MedServer3=1, MedServer4=1, MedServer5=1 } AutoStartPolicy = Load AutoStartList = { LargeServer1, LargeServer2, LargeServer3 } FailOverPolicy = Load Load = 100 Prerequisites = { ShrMemSeg=5, Semaphores=10, Processors=6 } ) group Database2 ( SystemList = { LargeServer1, LargeServer2, LargeServer3, MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } SystemZones = { LargeServer1=0, LargeServer2=0, LargeServer3=0, MedServer1=1, MedServer2=1, MedServer3=1, MedServer4=1, MedServer5=1 } AutoStartPolicy = Load AutoStartList = { LargeServer1, LargeServer2, LargeServer3 } FailOverPolicy = Load Load = 100 Prerequisites = { ShrMemSeg=5, Semaphores=10, Processors=6 } ) group Database3 ( SystemList = { LargeServer1, LargeServer2, LargeServer3, MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } SystemZones = { LargeServer1=0, LargeServer2=0, LargeServer3=0, MedServer1=1, MedServer2=1, MedServer3=1, MedServer4=1, MedServer5=1 } AutoStartPolicy = Load AutoStartList = { LargeServer1, LargeServer2, LargeServer3 } FailOverPolicy = Load Load = 100 Prerequisites = { ShrMemSeg=5, Semaphores=10, Processors=6 } ) group Application1 ( SystemList = { LargeServer1, LargeServer2, LargeServer3, MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } SystemZones = { LargeServer1=0, LargeServer2=0, LargeServer3=0, MedServer1=1, MedServer2=1, MedServer3=1, MedServer4=1, MedServer5=1 } AutoStartPolicy = Load AutoStartList = { MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } FailOverPolicy = Load Load = 50 ) group Application2 ( SystemList = { LargeServer1, LargeServer2, LargeServer3, MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } SystemZones = { LargeServer1=0, LargeServer2=0, LargeServer3=0, MedServer1=1, MedServer2=1, MedServer3=1, MedServer4=1, MedServer5=1 } AutoStartPolicy = Load AutoStartList = { MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } FailOverPolicy = Load Load = 50 ) group Application3 ( SystemList = { LargeServer1, LargeServer2, LargeServer3, MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } SystemZones = { LargeServer1=0, LargeServer2=0, LargeServer3=0, MedServer1=1, MedServer2=1, MedServer3=1, MedServer4=1, MedServer5=1 } AutoStartPolicy = Load AutoStartList = { MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } FailOverPolicy = Load Load = 50 ) group Application4 ( SystemList = { LargeServer1, LargeServer2, LargeServer3, MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } SystemZones = { LargeServer1=0, LargeServer2=0, LargeServer3=0, MedServer1=1, MedServer2=1, MedServer3=1, MedServer4=1, MedServer5=1 } AutoStartPolicy = Load AutoStartList = { MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } FailOverPolicy = Load Load = 50 ) group Application5 ( SystemList = { LargeServer1, LargeServer2, LargeServer3, MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } SystemZones = { LargeServer1=0, LargeServer2=0, LargeServer3=0, MedServer1=1, MedServer2=1, MedServer3=1, MedServer4=1, MedServer5=1 } AutoStartPolicy = Load AutoStartList = { MedServer1, MedServer2, MedServer3, MedServer4, MedServer5 } FailOverPolicy = Load Load = 50 )