type=page
status=published
title=delete-config
next=delete-connector-connection-pool.html
prev=delete-cluster.html
~~~~~~

= delete-config

[[delete-config-1]][[GSRFM00069]][[delete-config]]

== delete-config

Deletes an existing named configuration

[[sthref617]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-config [--help]
configuration-name
----

[[sthref618]]

=== Description

The `delete-config` subcommand deletes an existing named configuration
from the configuration of the domain administration server (DAS). You
can delete a configuration only if no {productName} instances or
clusters refer to the configuration. A standalone configuration is
automatically deleted when the instance or cluster that refers to it is
deleted. You cannot delete the `default-config` configuration that is
copied to create standalone configurations.

This subcommand is supported in remote mode only.

[[sthref619]]

=== 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.

[[sthref620]]

=== Operands

configuration-name::
  The name of the configuration that you are deleting.

[[sthref621]]

=== Examples

[[GSRFM536]][[sthref622]]

==== Example 1   Deleting a Named Configuration

This example deletes the named configuration `pmdconfig`.

[source]
----
asadmin> delete-config pmdconfig

Command delete-config executed successfully.
----

[[sthref623]]

=== Exit Status

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

[[sthref624]]

=== See Also

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

link:copy-config.html#copy-config-1[`copy-config`(1)],
link:list-configs.html#list-configs-1[`list-configs`(1)]

link:configuration.html#configuration-5asc[`configuration`(5ASC)]


