type=page
status=published
title=start-cluster
next=start-database.html
prev=show-component-status.html
~~~~~~
start-cluster
=============

[[start-cluster-1]][[GSRFM00233]][[start-cluster]]

start-cluster
-------------

starts a cluster

[[sthref2109]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] start-cluster [--help] 
[--autohadboverride={true|false}]
[--verbose={false|true}] cluster-name
----

[[sthref2110]]

Description

The `start-cluster` subcommand starts a cluster by starting all
\{product---name} instances in the cluster that are not already running.
This subcommand requires the Distributed Component Object Model (DCOM)
remote protocol or secure shell (SSH) to be configured on the host where
the domain administration server (DAS) is running and on all hosts where
instances in the cluster reside.


[NOTE]
=======================================================================

If all instances reside on the same host as the DAS, DCOM or SSH is not
required. You might require to start a cluster in which instances reside
on hosts where DCOM or SSH is not configured that are remote from the
DAS. In this situation, run the
link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)]
subcommand for each instance from the host where the instance resides.

=======================================================================


You may run this subcommand from any host that can contact the DAS.

This subcommand is supported in remote mode only.

[[sthref2111]]

Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--autohadboverride`::
  Do not specify this option. This option is retained for compatibility
  with earlier releases. If you specify this option, a syntax error does
  not occur. Instead, the subcommand runs successfully and displays a
  warning message that the option is ignored.
`--verbose`::
  Specifies whether additional status information is displayed when the
  cluster is started. +
  Valid values are as follows: +
  `true`;;
    Displays the command to start each instance in the cluster and
    whether the attempt to start each instance succeeded.
  `false`;;
    Displays no additional status information (default).

[[sthref2112]]

Operands

cluster-name::
  The name of the cluster to start.

[[sthref2113]]

Examples

[[GSRFM758]][[sthref2114]]

Example 1   Staring a Cluster

This example starts the cluster `ymlcluster`. Additional status
information is displayed when the cluster is started.

[source,oac_no_warn]
----
asadmin> start-cluster --verbose ymlcluster
start-instance yml-i-sr1-usca-02
start-instance yml-i-sr1-usca-01

The command start-instance executed successfully for: 
yml-i-sr1-usca-02 yml-i-sr1-usca-01 

Command start-cluster executed successfully.
----

[[sthref2115]]

Exit Status

0::
  command executed successfully
1::
  error in executing the command

[[sthref2116]]

See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-cluster.html#create-cluster-1[`create-cluster`(1)],
link:delete-cluster.html#delete-cluster-1[`delete-cluster`(1)],
link:list-clusters.html#list-clusters-1[`list-clusters`(1)],
link:setup-ssh.html#setup-ssh-1[`setup-ssh`(1)],
link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
link:stop-cluster.html#stop-cluster-1[`stop-cluster`(1)],
link:validate-dcom.html#validate-dcom-1[`validate-dcom`(1)]


