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