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,oac_no_warn]
----
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 \{product---name} 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,oac_no_warn]
----
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)]


