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)]


