和 RDBMS 一样,OrientDB 也支持备份和恢复操作。在执行备份操作时,它将使用 ZIP 算法将当前数据库的所有文件转换为压缩的 zip 格式。通过启用自动备份服务器插件,可以自动利用此功能(备份)。
但是,根据必须知道何时使用备份以及何时使用导出的过程,对数据库进行备份或导出数据库是相同的。
在进行备份时,它会创建一个数据库的一致副本,所有进一步的写入操作都会被锁定并等待完成备份过程。在这个操作中,它将创建一个只读的备份文件。
如果在进行备份时需要并发读取和写入操作,则必须选择导出数据库而不是备份数据库。导出不会锁定数据库,并允许在导出过程中进行并发写入。
以下语句是数据库备份的基本语法。
./backup.sh <dburl> <user> <password> <destination> [<type>]
以下是有关上述语法中选项的详细信息。
<dburl>
- 数据库位于本地或远程位置的数据库 URL。<user>
- 指定运行备份的用户名。<password>
- 指定用户的密码。<destination>
- 目标文件位置,说明存储备份 zip 文件的位置。<type>
- 可选的备份类型。它有两种选择之一。Default
- 在备份过程中锁定数据库。LVM
- 在后台使用 LVM 写时复制快照。
示例
将位于本地文件系统/opt/orientdb/databases/demo
中的数据库演示文件备份到名为sample-demo.zip
的文件中,并位于当前目录中。
可以使用以下命令来备份数据库演示。
$ backup.sh plocal: opt/orientdb/database/demo admin admin ./backup-demo.zip
使用控制台
可以使用 OrientDB 控制台进行同样的操作。在进行特定数据库的备份之前,必须先连接到数据库。可以使用以下命令连接到名为demo
的数据库。
orientdb> CONNECT PLOCAL:/opt/orientdb/databases/demo admin admin
连接后,可以使用以下命令将数据库备份到当前目录中名为'backup-demo.zip'
的文件中。
orientdb {db=demo}> BACKUP DATABASE ./backup-demo.zip
如果此命令执行成功,您将收到一些成功通知以及以下消息。
Backup executed in 0.18 seconds