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,oac_no_warn]
----
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)]


