type=page
status=published
title=restore-domain
next=rollback-transaction.html
prev=restart-local-instance.html
~~~~~~

restore-domain
==============

[[restore-domain-1]][[GSRFM00221]][[restore-domain]]

restore-domain
--------------

Restores files from backup

[[sthref2002]]

=== Synopsis

[source]
----
asadmin [asadmin-options] restore-domain [--help]
[--long[={false|true}]]
[--filename backup-filename]
[--domaindir domain-root-dir]
[--backupdirbackup-directory]
[--backupconfigbackup-config-name]
[--force[={false|true}]]
[domain-name]
----

[[sthref2003]]

=== Description

This command restores files under the domain from a backup directory.

The `restore-domain` command is supported in local mode only.

[[sthref2004]]

=== 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.
`--long`::
`-l`::
  Displays detailed information about the restore operation. +
  The default value is `false`.
`--filename`::
  Specifies the name of the backup file to use as the source.
`--domaindir`::
  Specifies the domain root directory, the parent directory of the
  domain to restore.
  The default value is as-install`/domains`.
`--backupdir`::
  Specifies the directory under which the backup file is stored. +
  The default value is as-install`/domains/`domain-dir`/backups`.
  If the domain is not in the default location, the location is
  domain-dir`/backups`.
`--backupconfig`::
  (Supported only in Oracle GlassFish Server.) The name of the domain
  backup configuration in the backup directory under which the backup
  file is stored.
`--force`::
  Causes the restore operation to continue even when the name of the
  domain to restore does not match the name of the domain stored in the
  backup file. +
  The default value is `false`.

[[sthref2005]]

=== Operands

domain-name::
  Specifies the name of the domain to restore. +
  This operand is optional if only one domain exists in the
  \{product---name} installation. +
  If the specified domain name does not match the domain name stored in
  the backup file, an error occurs unless the `--force` option is
  specified.

[[sthref2006]]

=== Exit Status

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

[[sthref2007]]

=== See Also

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

link:backup-domain.html#backup-domain-1[`backup-domain`(1)],
link:list-backups.html#list-backups-1[`list-backups`(1)]


