type=page
status=published
title=delete-local-instance
next=delete-managed-executor-service.html
prev=delete-lifecycle-module.html
~~~~~~
delete-local-instance
=====================

[[delete-local-instance-1]][[GSRFM00096]][[delete-local-instance]]

delete-local-instance
---------------------

deletes a \{product---name} instance on the machine where the subcommand
is run

[[sthref842]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] delete-local-instance [--help]
[--nodedir node-dir] [--node node-name]
[instance-name]
----

[[sthref843]]

Description

The `delete-local-instance` subcommand deletes a \{product---name}
instance on the machine where the subcommand is run. This subcommand
does not require the Distributed Component Object Model (DCOM) remote
protocol or secure shell (SSH) to be configured. You must run this
command from the machine where the instance resides.

The subcommand can delete any \{product---name} instance, regardless of
how the instance was created. For example, this subcommand can delete an
instance that was created by using the
link:create-instance.html#create-instance-1[`create-instance`(1)]
subcommand.

The instance that is being deleted must not be running. Otherwise, an
error occurs.

The subcommand deletes an instance by performing the following actions:

* Removing the instance from the configuration of the domain
administration server (DAS)
* Deleting the instance's files from file system

If the instance that is being deleted is the only instance that is using
the node directory, that directory is also removed.

If a standalone instance is deleted, the instance's standalone
configuration is also deleted. A standalone instance refers to a
configuration that is named instance-name`-config` to which no other
clusters or unclustered instances refer.

The `delete-local-instance` subcommand does not contact the DAS to
determine the node on which the instance resides. To determine the node
on which the instance resides, the subcommand searches the directory
that contains the node directories. If multiple node directories exist,
the node must be specified as an option of the subcommand.

If no operand is specified and only one instance resides on the
specified node, the subcommand deletes the instance. If no operand is
specified and multiple instances reside on the node, an error occurs.

This subcommand is supported in remote mode only.

[[sthref844]]

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.
`--nodedir`::
  Specifies the directory that contains the instance's node directory.
  The instance's files are stored in the instance's node directory. The
  default is as-install`/nodes`.
`--node`::
  Specifies the node on which the instance resides. This option may be
  omitted only if the directory that the `--nodedir` option specifies
  contains only one node directory. Otherwise, this option is required.

[[sthref845]]

Operands

instance-name::
  The name of the instance to delete. This operand may be omitted if
  only one instance resides on the specified node. Otherwise, this
  operand is required.

[[sthref846]]

Examples

[[GSRFM565]][[sthref847]]

Example 1   Deleting an Instance

This example deletes the instance `pmdsainst`.

[source,oac_no_warn]
----
asadmin> delete-local-instance pmdsainst

Command delete-local-instance executed successfully.
----

[[sthref848]]

Exit Status

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

[[sthref849]]

See Also

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

link:create-instance.html#create-instance-1[`create-instance`(1)],
link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
link:start-instance.html#start-instance-1[`start-instance`(1)],
link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]


