Enterprise Databases

To clone an Enterprise database, please contact our support engineers. They will be happy to perform the clone operation for you.

## Overview

You can clone your database and create a new one by clicking on the _Clone database_ button in the databases _Overview_ page. You can also simply click on the _Upgrade / Clone_ button if you are inside the database area.


GrapheneDB offers two different methods to clone an existing database:

  • [Clone by exporting](🔗)

  • [Clone from backup](🔗)

Please keep in mind that the new database will have a different connection endpoint, and the origin database will not be deleted. You will need to **update your application’s connection settings** to your new cloned database and **ensure you have deleted the origin database** to avoid being charged for a database you no longer need.

## Clone by exporting

If you want an exact copy of your existing dataset to be provisioned into a new database, use _clone by exporting_.

Clone by exporting is always used for Neo4j version upgrades or plan changes:

  • [Upgrading your database Neo4j version](🔗)

  • [Changing your database plan](🔗)

Clone operation and the original database

The described procedure works by creating a new database from a copy of the original instance. After the operation is completed, the original database will continue to run. It is up the user to delete it when it is no longer needed. Any modifications to the original database after the clone process is started will not be reflected in the new instance.


Please take into account that this operation involves downtime. More details below.

### Downtime

After requests to the origin database are stopped, when the clone procedure is initiated, the Neo4j process is stopped, a new database is provisioned, data is copied over until it is available again and finally requests to the new database can be resumed.

Neo4j version upgrades will often imply store or index migrations. This is most often the case when upgrading through major versions.

After the clone process is completed, the database will have a different endpoint and a new user will need to be created in order to connect from your code.

The overall downtime duration can vary depending on the size of your database, the time Neo4j needs to write to disk, any time spent in Neo4j version upgrades if any, and the time it takes to create a new user and update the code to point to the new instance and use the new credentials.

### Steps

You can perform this operation on your own by following the steps below:

  1. Stop requests to the database. Any write request that hits the database after the clone process is started, will not be replicated on the destination database, potentially resulting in data loss.

  2. Click on the _Upgrade/Clone_ button

  3. Select _Clone by exporting_.

  4. Once completed, verify that the clone process went well and everything looks good.

  5. Create a new user for the new database

  6. Update the Neo4j endpoint and credentials in your code to point to the new database/user

  7. Resume requests to the database, making sure to hit the new database only

## Clone from backup

Use cloning from backup if you want to provision a new database with one of your latest backups. **This feature is available in our production-ready databases, Standard or higher.**

To restore a backup into the same database, please read [Restore database](🔗).

You can trigger the operation if you select the option _Clone from backup_ while cloning your database. Alternatively you can navigate to your Backups area and select _Create a new database from backup_.


Dataset will not reflect latest state

There is no downtime involved for the origin database, but the dataset in the new database will not reflect the current state of the database.