type=page
status=published
title=delete-resource-ref
next=delete-ssl.html
prev=delete-resource-adapter-config.html
~~~~~~
delete-resource-ref
===================

[[delete-resource-ref-1]][[GSRFM00107]][[delete-resource-ref]]

delete-resource-ref
-------------------

removes a reference to a resource

[[sthref967]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] delete-resource-ref [--help] 
[--target target] reference_name
----

[[sthref968]]

Description

The `delete-resource-ref` subcommand removes from a cluster or an
unclustered server instance a reference to a resource (for example, a
JDBC resource). This effectively results in the removal of the resource
from the JNDI tree of the targeted instance or cluster.

The target instance or instances making up the cluster need not be
running or available for this subcommand to succeed. If one or more
instances are not available, they will no longer load the resource in
the JNDI tree the next time they start.

Removal of the reference does not result in removal of the resource from
the domain. The resource is removed only by the `delete` subcommand for
that resource (for example, `delete-jdbc-resource`).

This subcommand is supported in remote mode only.

[[sthref969]]

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.
`--target`::
  Specifies the target from which you are removing the resource
  reference. Valid values are +
  `server`;;
    Removes the resource reference from the default server instance
    `server` and is the default value.
  cluster_name;;
    Removes the resource reference from every server instance in the
    cluster.
  instance_name;;
    Removes the resource reference from the named unclustered server
    instance.

[[sthref970]]

Operands

reference_name::
  The name or JNDI name of the resource.

[[sthref971]]

Examples

[[GSRFM577]][[sthref972]]

Example 1   Removing a Reference to a Resource

This example removes a reference to the JMS destination resource
`jms/Topic` on the cluster `cluster1`.

[source,oac_no_warn]
----
asadmin> delete-resource-ref --target cluster1 jms/Topic
resource-ref jms/Topic deleted successfully.
Command delete-resource-ref executed successfully.
----

[[sthref973]]

Exit Status

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

[[sthref974]]

See Also

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

link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
link:list-resource-refs.html#list-resource-refs-1[`list-resource-refs`(1)]


