type=page
status=published
title=delete-domain
next=delete-file-user.html
prev=delete-custom-resource.html
~~~~~~

delete-domain
=============

[[delete-domain-1]][[GSRFM00075]][[delete-domain]]

delete-domain
-------------

Deletes a domain

[[sthref674]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-domain [--help] 
[--domaindir domaindir] domain-name
----

[[sthref675]]

=== Description

The `delete-domain` subcommand deletes the specified domain. The domain
must already exist and must be stopped.

This subcommand is supported in local mode only.

[[sthref676]]

=== 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.
`--domaindir`::
  The directory where the domain to be deleted is located. If specified,
  the path must be accessible in the file system. If not specified, the
  domain under the domain root directory, which defaults to
  as-install`/domains`, is deleted.

[[sthref677]]

=== Operands

domain-name::
  The unique name of the domain you want to delete.

[[sthref678]]

=== Examples

[[GSRFM543]][[sthref679]]

==== Example 1   Deleting a Domain

This example deletes a domain named `mydomain4` from the default domains
directory.

[source]
----
asadmin> delete-domain mydomain4
Domain mydomain4 deleted.
Command delete-domain executed successfully.
----

[[GSRFM544]][[sthref680]]

==== Example 2   deleting a Domain From an Alternate Location

This example deletes a domain named `sampleDomain` from the
`/home/someuser/domains` directory.

[source]
----
asadmin> delete-domain --domaindir /home/someuser/domains sampleDomain
Domain sampleDomain deleted
Command delete-domain executed successfully.
----

[[sthref681]]

=== Exit Status

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

[[sthref682]]

=== See Also

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

link:create-domain.html#create-domain-1[`create-domain`(1)],
link:list-domains.html#list-domains-1[`list-domains`(1)],
link:start-domain.html#start-domain-1[`start-domain`(1)],
link:stop-domain.html#stop-domain-1[`stop-domain`(1)]


