type=page
status=published
title=stop-cluster
next=stop-database.html
prev=start-local-instance.html
~~~~~~
stop-cluster
============

[[stop-cluster-1]][[GSRFM00238]][[stop-cluster]]

stop-cluster
------------

stops a \{product---name} cluster

[[sthref2150]]

Synopsis

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

[[sthref2151]]

Description

The `stop-cluster` subcommand stops a \{product---name} cluster by
stopping all running \{product---name} instances in the cluster.

This subcommand is supported in remote mode only.

[[sthref2152]]

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.
`--verbose`::
  Specifies whether additional progress messages about the status of
  instances in the cluster are displayed while the cluster is being
  stopped. +
  Possible values are as follows: +
  `true`;;
    Additional progress messages about the status of instances in the
    cluster are displayed.
  `false`;;
    No messages about the status of instances in the cluster are
    displayed.
`--kill`::
  Specifies whether each instance in the cluster is killed by using
  functionality of the operating system to terminate the instance
  process. +
  Possible values are as follows: +
  `false`;;
    No instances are killed. The subcommand uses functionality of the
    Java platform to terminate each instance process (default).
  `true`;;
    Each instance is killed. The subcommand uses functionality of the
    operating system to terminate each instance process.
`--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.

[[sthref2153]]

Operands

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

[[sthref2154]]

Examples

[[GSRFM764]][[sthref2155]]

Example 1   Stopping a Cluster

This example stops the cluster `pmdcluster`. Additional progress
messages about the status of instances in the cluster are displayed
while the cluster is being stopped.

[source,oac_no_warn]
----
asadmin> stop-cluster --verbose pmdcluster
stop-instance pmd-i-sj01
stop-instance pmd-i-sj02

The command stop-instance executed successfully for: pmd-i-sj01 pmd-i-sj02

Command stop-cluster executed successfully.
----

[[sthref2156]]

Exit Status

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

[[sthref2157]]

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:start-cluster.html#start-cluster-1[`start-cluster`(1)]


