START_DEPENDENCIES

Specifies a set of relationships that Oracle Clusterware considers when starting a resource. You can specify a space-delimited list of dependencies on several resources and resource types on which a particular resource can depend.

Syntax

START_DEPENDENCIES=dependency(resource_set) [dependency(resource_set)] [...]

In the preceding syntax example the variables are defined, as follows:

  • dependency: Possible values are attraction, dispersion, exclusion, hard, pullup, and weak. You can specify each dependency only once, except for pullup, which you can specify multiple times.

  • resource_set: A comma-delimited list of resource entities—either individual resources or resource types—enclosed in parentheses (), in the form of res1[, res2[, ...]], upon which the resource you are configuring depends.

    Each resource entity is defined, as follows:

    [modifier1:[modifier2:]] {resource_name | type:resource_type}
    

    In the preceding syntax example, resource_name is the name of a specific resource and type:resource_type is the name of a specific resource type. The resource type must be preceded by type and the type modifier must be the last resource entity in the list.

    Optionally, you can specify modifiers to further configure resource entity dependencies. You can modify each dependency by prefixing the following modifiers to the resource entity:

    • attraction([intermediate:]{resource_name | type:resource_type})—Use the attraction start dependency when you want this resource to run on the same server with a particular named resource or any resource of a particular type.

      Use intermediate to specify that this resource is attracted to resource entities on which it depends that are in the INTERMEDIATE state. If not specified, then resources must be in the ONLINE state to attract the dependent resource.

      If you specify the attraction dependency on a resource type for a resource, then any resource of that particular type attracts the dependent resource.

    • exclusion([[preempt_pre: | preempt_post:]] target_resource_name | type:target_resource_type])—Use the exclusion start dependency to keep resources with this dependency from running on the same node.

      Use the preempt_pre modifier to configure the exclusion dependency to stop the specified target resource or resources defined by a specific resource type before starting the source resource.

      Use the preempt_post modifier to configure the exclusion dependency to stop and relocate, if possible, the specified target resource or resources defined by a specific resource type after starting the source resource.

    • dispersion[:active]([intermediate:][pool:]{resource_name | type:resource_type})—Specify the dispersion start dependency for a resource that you want to run on a server that is different from the named resources or resources of a particular type. Resources may still end up running on the same server, depending on availability of servers.

      Use the active modifier to configure the dispersion dependency so that Oracle Clusterware attempts to relocate the dependent resource to another server if it is collocated with another resource and another server comes online. Oracle Clusterware does not relocate resources to newly available servers unless you specify the active modifier.

      Use the intermediate modifier to specify that Oracle Clusterware can relocate the dependent resource if a resource is in either the ONLINE or INTERMEDIATE state. If not specified, then resources must be in the ONLINE state for dispersion of the dependent resource to occur.

      Use the pool modifier if you want a resource to be located in a different server pool than the target, rather than just a different server.

    • hard([intermediate:][global:][uniform:]{resource_name | type:resource_type})—Specify a hard start dependency for a resource when you want the resource to start only when a particular resource or resource of a particular type starts.

      Use the intermediate modifier to specify that Oracle Clusterware can start this resource if a resource on which it depends is in either the ONLINE or INTERMEDIATE state. If not specified, then resources must be in the ONLINE state for Oracle Clusterware to start this resource.

      Use the global modifier to specify that resources are not required to reside on the same server as a condition to Oracle Clusterware starting this resource. If not specified, then resources must reside on the same server for Oracle Clusterware to start this resource.

      Use the uniform modifier to attempt to start all instances of resource B, but only one instance, at least must start to satisfy the dependency.

      If you specify the hard dependency on a resource type for a resource, then the resource can start if any resource of that particular type is running.

      Note:

      Oracle recommends that resources with hard start dependencies also have pullup start dependencies.

    • pullup[:always]([intermediate:][global:]{resource_name | type:resource_type})—When you specify the pullup start dependency for a resource, then this resource starts because of named resources starting.

      Use the always modifier for pullup so that Oracle Clusterware starts this resource despite the value of its TARGET attribute, whether that value is ONLINE or OFFLINE. Otherwise, if you do not specify the always modifier, then Oracle Clusterware starts this resource only if the value of the TARGET attribute is ONLINE for this resource.

      Use the intermediate modifier to specify that Oracle Clusterware can start this resource if a resource on which it depends is in either the ONLINE or INTERMEDIATE state. If not specified, then resources must be in the ONLINE state for Oracle Clusterware to start this resource.

      Use the global modifier to specify that resources on which this resource depends are not required to reside on the same server as a condition to Oracle Clusterware starting this resource. If not specified, then resources on which this resource depends must reside on the same server for Oracle Clusterware to start this resource.

      If you specify the pullup dependency on a resource type for a resource, then, when any resource of that particular type starts, Oracle Clusterware can start this resource.

      Note:

      Oracle recommends that resources with hard start dependencies also have pullup start dependencies.

    • weak([concurrent:][global:][uniform:]{resource_name | type:resource_type})—Specify a weak start dependency for a resource when you want that resource to start despite whether named resources are running, or not. An attempt to start this resource also attempts to start any resources on which this resource depends if they are not running.

      Use the concurrent modifier to specify that Oracle Clusterware can start a dependent resource while a resource on which it depends is in the process of starting. If concurrent is not specified, then resources must complete startup before Oracle Clusterware can start the dependent resource.

      Use the global modifier to specify that resources are not required to reside on the same server as a condition to Oracle Clusterware starting the dependent resource.

      Use the uniform modifier to start all instances of the resource everywhere the resource can run. If you do not specify a modifier (the default), then the resource starts on the same server as the resource on which it depends.

      If you specify the weak start dependency on a resource type for a resource, then the resource can start if any resource of that particular type is running.

See Also:

"Start Dependencies" for more details about start dependencies