type=page
status=published
title=enable
next=enable-http-lb-application.html
prev=disable-secure-admin-principal.html
~~~~~~

= enable

[[enable-1]][[GSRFM00124]][[enable]]

== enable

Enables the component

[[sthref1095]]

=== Synopsis

[source]
----
asadmin [asadmin-options] enable [--help]
[--target target_name] component_name
----

[[sthref1096]]

=== Description

The `enable` subcommand enables the specified deployed component. If the
component is already enabled, then it is re-enabled. If it has not been
deployed, then an error message is returned.

This subcommand is supported in remote mode only.

[[sthref1097]]

=== 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`::
  This option specifies the target on which you are enabling the
  component. Valid values are:

  `server`;;
    Enables the default server instance `server` and is the default
    value.
  domain_name;;
    Enables the named domain.
  cluster_name;;
    Enables every server instance in the cluster.
  instance_name;;
    Enables a particular clustered or stand-alone server instance.

[[sthref1098]]

=== Operands

component_name::
  name of the component to be enabled. +
  The name can include an optional version identifier, which follows the
  name and is separated from the name by a colon (`:`). The version
  identifier must begin with a letter or number. It can contain
  alphanumeric characters plus underscore (`_`), dash (`-`), and period
  (`.`) characters. For more information about module and application
  versions, see "link:application-deployment-guide/overview.html#GSDPG00324[
  Module and Application Versions]" in
  {productName} Application Deployment Guide. +
  At most one version of a module or application can be enabled on a
  server instance. All other versions are disabled. Enabling one version
  automatically disables all others.

[[sthref1099]]

=== Examples

[[GSRFM599]][[sthref1100]]

==== Example 1   Enabling a Component

This example enables the disabled component, `sampleApp`.

[source]
----
asadmin> enable sampleApp
Command enable executed successfully
----

[[sthref1101]]

=== Exit Status

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

[[sthref1102]]

=== See Also

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

link:deploy.html#deploy-1[`deploy`(1)],
link:disable.html#disable-1[`disable`(1)],
link:undeploy.html#undeploy-1[`undeploy`(1)]

link:application-deployment-guide.html#GSDPG[{productName} Application Deployment
Guide]


