type=page
status=published
title=stop-database
next=stop-domain.html
prev=stop-cluster.html
~~~~~~

stop-database
=============

[[stop-database-1]][[GSRFM00239]][[stop-database]]

stop-database
-------------

Stops the Java DB

[[sthref2158]]

=== Synopsis

[source]
----
asadmin [asadmin-options] stop-database [--help]
[--dbuser db-user]
[--dbhost host] [--dbport port-no]
----

[[sthref2159]]

=== Description

The `stop-database` subcommand stops a process of the Java DB server.
Java DB server is available for use with {productName} and is based
upon Apache Derby. The database is typically started with the
link:start-database.html#start-database-1[`start-database`(1)]
subcommand. A single host can have multiple database server processes
running on different ports. The `stop-database` subcommand stops the
database server process for the specified port only.

This subcommand is supported in local mode only.

[[sthref2160]]

=== 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.
`--dbuser`::
  The user name of the Java DB user that is to stop the server process.
  This option is required only when Java DB user authentication is enabled. +
  If this option is omitted, no user is specified. By default, Java DB
  user authentication is disabled, so no user or password is required.
`--dbhost`::
  The host name or IP address of the Java DB server process. The default
  is the IP address 0.0.0.0, which denotes all network interfaces on the
  host where you run the `stop-database` subcommand.
`--dbport`::
  The port number where the Java DB server listens for client
  connections. The default is 1527.

[[sthref2161]]

=== Examples

[[GSRFM765]][[sthref2162]]

==== Example 1   Stopping Java DB

This example stops Java DB on host host1 and port 5001.

[source]
----
asadmin> stop-database --dbhost host1 --dbport 5001
Connection obtained for host: host1, port number 5001.
Shutdown successful.
Command stop-database executed successfully.
----

[[sthref2163]]

=== Exit Status

The exit status applies to errors in executing the `asadmin` utility.
For information on database errors, see the `derby.log` file. This file
is located in the directory you specify by using the `--dbhome` option
when you run the `start-database` subcommand. If you did not specify
`--dbhome`, the value of `DERBY_INSTALL` defaults to
as-install`/javadb`.

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

[[sthref2164]]

=== See Also

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

link:start-database.html#start-database-1[`start-database`(1)]

"link:../administration-guide/jdbc.html#GSADG00015[Administering Database Connectivity]" in GlassFish
Server Open Source Edition Administration Guide


