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]
----
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
{productName} 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]
----
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)]


