> For the complete documentation index, see [llms.txt](https://docs.migration-center.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.migration-center.com/26.2/installation-guide/backup-and-restore.md).

# Backup and Restore

Since in migration-center all the critical data and configuration is saved in the **database**, you only need to back up **the migration-center database schema**.

{% hint style="danger" %}
Before any Backup or Restore operation, ensure there are no running scanners or importers, any migset operations such as transformation or selection, deletion and no scheduler configurations that could start jobs in the middle of your backup/restore.&#x20;
{% endhint %}

## **Oracle**

### Backup <a href="#back-up-a-migration-center-database" id="back-up-a-migration-center-database"></a>

To back up the migration-center schema, use **Oracle Data Pump Export** (`expdp`). Export both the objects and the data within the `FMEMC` schema.

{% hint style="info" %}
Use Data Pump for new backups. Oracle no longer supports the original `exp` utility for general use. Dumps previously created with `exp` must still be restored with `imp`. \
See [Oracle's original Export documentation](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-original-export-utility.html).
{% endhint %}

1. Create a backup folder on the **Oracle database server**, for example `D:\MCBackup`. Give the Oracle database service account access to this folder.

{% hint style="warning" %}
On Linux, use a server path such as `/backup/migration-center`. The directory object does not create the folder.&#x20;
{% endhint %}

2. Connect as a database administrator to the database containing `FMEMC`. For a multitenant installation, connect to the correct PDB. Create a directory object and grant access:

```sql
CREATE DIRECTORY MC_BACKUP_DIR AS 'D:\MCBackup';
GRANT READ, WRITE ON DIRECTORY MC_BACKUP_DIR TO FMEMC;
```

3. Create a text file named `mc_export.par` on the machine where you run `expdp`:

<pre><code><strong>DIRECTORY=MC_BACKUP_DIR
</strong>SCHEMAS=fmemc
CONTENT=ALL
DUMPFILE=fmemc_20260929.dmp
LOGFILE=fmemc_20260929_export.log
FLASHBACK_TIME=SYSTIMESTAMP
</code></pre>

`CONTENT=ALL` exports object definitions and data. `FLASHBACK_TIME` gives the exported data a common consistency point. See [Oracle Data Pump Export](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-export-utility.html).

4. Run the following command, replacing the placeholders in <> with the correct value:

```
expdp fmemc/<password>@<hostname/IP>:<port>/<pdb_service_name> PARFILE=mc_export.par
```

The database administrator must provide sufficient undo space and retention for the export. Do not change the schema during the backup. See [Oracle Data Pump best practices](https://www.oracle.com/a/ocom/docs/oracle-data-pump-best-practices.pdf).

5. Check the command exit status and export log. Resolve any errors before accepting the backup. Copy the dump and log from the server's backup folder to protected backup storage.

### Restore <a href="#restore-a-migration-center-database" id="restore-a-migration-center-database"></a>

To restore the backup, follow the steps below:

1. Prepare a compatible Oracle database or PDB. **Use the same database character sets**.
2. Create the **fmemc user** and **tablespace** according to the [Advanced DB installation](/26.2/installation-guide/install-migration-center.md#advanced-db-installation).
3. Copy the dump to the target database server. Create `MC_BACKUP_DIR` and grant access there as described above.
4. Create `mc_import.par`:

```
DIRECTORY=MC_BACKUP_DIR
SCHEMAS=fmemc
CONTENT=ALL
DUMPFILE=fmemc_20260929.dmp
LOGFILE=fmemc_20260929_import.log
```

6. Run the following command, replacing the placeholders in <> with the correct value:

```
impdp fmemc/<password>@<hostname/IP>:<port>/<pdb_service_name> PARFILE=mc_import.par
```

{% hint style="info" %}
Data Pump creates a logical schema backup. For database-server recovery or recovery to a specific point in time, the database administrator must also configure and test RMAN backups and the required archived redo logs. See [Oracle's backup and recovery guidance](https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/backing-up-database.html).
{% endhint %}

## PostgreSQL

### Backup <a href="#back-up-a-migration-center-database-1" id="back-up-a-migration-center-database-1"></a>

Use **pgAdmin 4** to back up the complete migration-center database, including all schemas, object definitions and data.

1. Connect to the PostgreSQL server in pgAdmin using a database administration account, such as `postgres`.
2. Expand **Databases**, right-click the migration-center database and select **Backup...**.
3. On the **General** tab, select the backup file location, enter a filename such as `migrationcenter_20261005.backup` and select **Custom** as the format.
4. On **Data Options**, include **Pre-data**, **Data** and **Post-data**. \
   Leave **Only data** and **Only schemas** disabled.&#x20;
5. Click **Backup**. Open the **Processes** tab and check that the backup completed without errors.

{% hint style="info" %}
For more information, see the [pgAdmin Backup dialog](https://www.pgadmin.org/docs/pgadmin4/latest/backup_dialog.html).
{% endhint %}

{% hint style="info" %}
The file is saved on the machine running pgAdmin. If pgAdmin runs in server mode, download the file through **Tools > Storage Manager**. See [pgAdmin Storage Manager](https://www.pgadmin.org/docs/pgadmin4/latest/storage_manager.html).
{% endhint %}

### Restore <a href="#restore-a-migration-center-database-1" id="restore-a-migration-center-database-1"></a>

To restore the backup, follow the steps below:

1. Prepare a compatible PostgreSQL server ensuring the [System Requirements](/26.2/installation-guide/system-requirements.md) are fulfiled.
2. In pgAdmin, right-click **Databases** and select **Create > Database...**. Create a new database for the restore. See the [pgAdmin Database dialog](https://www.pgadmin.org/docs/pgadmin4/latest/database_dialog.html).
3. Create the FMEMC user by running the `create_user.sql` script according to the [Postgres Advanced Installation](/26.2/installation-guide/install-migration-center.md#postgresql-1) guide, if it does not already exist on this server.
4. In pgAdmin, connect as the database administration account. Right-click the newly prepared migration-center database and select **Restore...**.
5. On **General**, select **Custom or tar** and choose the backup file. \
   Select the following options in each tab:\
   \- Data Options: **Pre-data**, **Data**, **Post-data**\
   \- Query Options: **Clean before restore**, **Include IF EXISTS clause**

{% hint style="info" %}
**Clean before restore** replaces the installation's initial database objects and data with those in the backup. The restore uses the selected database.
{% endhint %}

6. Click **Restore**. Check the process log and resolve any errors before continuing. See the [pgAdmin Restore dialog](https://www.pgadmin.org/docs/pgadmin4/latest/restore_dialog.html).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.migration-center.com/26.2/installation-guide/backup-and-restore.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
