リソースを起動する際にOracle Clusterwareで考慮する一連の関係を指定します。特定のリソースが依存する可能性がある、いくつかのリソースおよびリソース・タイプに対して、依存性についてスペース区切りのリストを指定できます。
構文
START_DEPENDENCIES=dependency(resource_set) [dependency(resource_set)] [...]
前述の構文例で、変数は次のように定義されます。
dependency: 指定可能な値は、attraction、dispersion、exclusion、hard、pullupおよびweakです。これらの依存性は、それぞれ1回のみ指定できますが、pullupは、複数回指定できます。
resource_set: 構成するリソースが依存しているリソース・エンティティ(個々のリソースまたはリソース・タイプのいずれか)をカッコ()で囲み、res1[, res2[, ...]]の形式で指定したカンマ区切りリスト。
各リソース・エンティティは次のように定義されます。
[modifier1:[modifier2:]] {resource_name | type:resource_type}
前述の構文例で、resource_nameは特定のリソースの名前、type:resource_typeは特定のリソース・タイプの名前です。リソース・タイプの前にtypeに指定する必要があり、このtype修飾子はリストで最後のリソース・エンティティである必要があります。
必要に応じて、修飾子を指定してリソース・エンティティの依存性をさらに詳細に構成できます。リソース・エンティティに接頭辞として次の修飾子を指定することで、各依存性を変更することができます。
attraction([intermediate:]{resource_name | type:resource_type}): 指定した特定のリソースまたは特定のタイプの任意のリソースと同じサーバーでこのリソースを実行する場合、attraction起動依存性を使用します。
intermediateを使用すると、INTERMEDIATE状態になっている、このリソースが依存するリソース・エンティティにこのリソースが誘引されることを指定できます。指定しない場合、依存リソースを誘引するには、リソースの状態がONLINEである必要があります。
リソースのリソース・タイプにattraction依存性を指定した場合、依存リソースは、指定したタイプの任意のリソースに誘引されます。
exclusion([[preempt_pre: | preempt_post:]] target_resource_name | type:target_resource_type]): exclusion起動依存性を使用して、この依存性のあるリソースが同じノードで動作することを回避します。
ソース・リソースを起動する前に、preempt_pre修飾子を使用して、指定されたターゲット・リソース、または特定のリソース・タイプによって定義されるリソースを停止するためのexclusion依存性を構成します。
ソース・リソースの起動後にpreempt_post修飾子を使用して、指定されたターゲット・リソース、または特定のリソース・タイプによって定義されるリソースを停止し、可能であれば再配置するためのexclusion依存性を構成します。
dispersion[:active]([intermediate:][pool:]{resource_name | type:resource_type}): 指定したリソースまたは特定のタイプのリソースとは異なるサーバーで実行するリソースにdispersion起動依存性を指定します。リソースは、サーバーの可用性に応じて、同じサーバーで実行されることがあります。
active修飾子を使用してdispersion依存性を構成すると、依存リソースが別のリソースと同じ場所に配置されていて、別のサーバーがオンラインになった場合、Oracle Clusterwareは別サーバーへの依存リソースの再配置を試行します。Oracle Clusterwareは、active修飾子が指定されないかぎり、新しく利用可能になったサーバーへのリソースの再配置を行いません。
intermediate修飾子を使用すると、リソースの状態がONLINEまたはINTERMEDIATEのいずれかである場合にOracle Clusterwareで依存リソースを再配置できるように指定できます。指定しない場合、依存リソースを分散するには、リソースの状態がONLINEである必要があります。
リソースを別のサーバーではなく、ターゲットとは別のサーバー・プールに配置する場合は、pool修飾子を使用します。
hard([intermediate:][global:][uniform:]{resource_name | type:resource_type}): 特定のリソースまたは特定のタイプのリソースが起動するときにのみあるリソースを起動させる場合、そのリソースにhard起動依存性を指定します。
intermediate修飾子を使用すると、依存先リソースの状態がONLINEまたはINTERMEDIATEのいずれかの場合にOracle Clusterwareでこのリソースを起動できるように指定できます。指定しない場合、Oracle Clusterwareでこのリソースを起動するには、リソースの状態がONLINEである必要があります。
global修飾子を使用すると、Oracle Clusterwareでこのリソースを起動する条件としてリソースが同じサーバー上に存在する必要がないように指定できます。指定しない場合、Oracle Clusterwareでこのリソースを起動するには、同じサーバー上にリソースが存在する必要があります。
uniform修飾子を使用して、リソースBのすべてのインスタンスの起動を試行しますが、最低1つのインスタンスが起動されて依存性を満たす必要があります。
リソースのリソース・タイプにhard依存性を指定した場合は、指定したタイプの任意のリソースが実行されていると、このリソースを起動できます。
注意:
hard起動依存性を持つリソースにはpullup起動依存性も定義することをお薦めします。
pullup[:always]([intermediate:][global:]{resource_name | type:resource_type}): リソースにpullup起動依存性を指定すると、このリソースは、指定したリソースの起動により起動します。
pullupにalways修飾子を使用すると、TARGET属性の値がONLINEまたはOFFLINEのいずれでも、その値に関係なくOracle Clusterwareはこのリソースを起動します。そうでない場合は、always修飾子を指定しないと、このリソース用のTARGET属性の値がONLINEのときにのみ、Oracle Clusterwareはこのリソースを起動します。
intermediate修飾子を使用すると、依存先リソースの状態がONLINEまたはINTERMEDIATEのいずれかの場合にOracle Clusterwareでこのリソースを起動できるように指定できます。指定しない場合、Oracle Clusterwareでこのリソースを起動するには、リソースの状態がONLINEである必要があります。
global修飾子を使用すると、Oracle Clusterwareでこのリソースを起動する条件として、このリソースの依存先リソースが同じサーバー上に存在する必要がないように指定できます。指定しない場合、Oracle Clusterwareでこのリソースを起動するには、このリソースの依存先リソースが同じサーバー上に存在する必要があります。
リソースのリソース・タイプにpullup依存性を指定した場合、指定したタイプの任意のリソースが起動すると、Oracle Clusterwareはこのリソースを起動できます。
注意:
hard起動依存性を持つリソースにはpullup起動依存性も定義することをお薦めします。
weak([concurrent:][global:][uniform:]{resource_name | type:resource_type}): 指定したリソースが実行されているかどうかにかかわらず、このリソースを起動する場合、リソースにweak起動依存性を指定します。このリソースの起動を試行すると、このリソースが依存する任意のリソースが実行されていない場合は、それらのリソースの起動も試行されます。
concurrent修飾子を使用すると、依存先リソースの起動時にOracle Clusterwareで依存リソースを起動できるように指定できます。concurrentを指定しない場合、Oracle Clusterwareで依存リソースを起動するには、リソースの起動が完了している必要があります。
global修飾子を使用すると、Oracle Clusterwareで依存リソースを起動する条件としてリソースが同じサーバー上に存在する必要がないことを指定できます。
uniform修飾子を使用すると、リソースを実行可能なすべての場所でそのリソースのすべてのインスタンスを起動できます。修飾子を指定しない場合(デフォルトの場合)、リソースは、依存先リソースと同じサーバー上で起動します。
リソースのリソース・タイプにweak起動依存性を指定した場合は、指定したタイプの任意のリソースが実行されていると、このリソースを起動できます。
関連項目:
起動依存性の詳細は、「起動依存性」を参照してください。