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
  {productName} 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)]


