命令 - RESTORE DATABASE

从一个备份恢复数据库。必须作用在一个新的数据库上,不支持和一个已经存在的数据库进行合并。如果你需要在一个已经存在的数据库备份和恢复,使用EXPORT DATABASEIMPORT DATABASE命令。

创建一个用于恢复的备份,使用命令BACKUP DATABASE

语法

RESTORE DATABASE <backup-file>
  • <backup-file> 定义恢复的文件。

例子

  • 创建一个新的数据库用于恢复:

    orientdb> CREATE DATABASE PLOCAL:/tmp/mydb
    
  • 从文件mydb.zip恢复数据库:

    orientdb {db=/tmp/mydb}> RESTORE DATABASE /backups/mydb.zip
    

更多备份和恢复,导入和导出,参考下面命令:

恢复API

Java API,在对应数据库实例上使用restore()方法。

db.restore(in, options, callable, listener);
  • in 定义备份内容的输入流InputStream。使用FileInputStream 表示从文件读取备份内容。
  • options 定义备份选项,使用Map<String, Object>
  • callable 定义执行过程中,数据库被锁时的回调。
  • listener 备份消息的监听器。
  • compressionLevel 定义Zip压缩级别,0(无压缩)到9(最大压缩)。压缩级别越大,备份内容越小,需要的CPU和时间越多。
  • bufferSize 缓存大小(字节),越大,压缩效率越高。

例子

ODatabaseDocumentTx db = new ODatabaseDocumentTx("plocal:/temp/mydb");
db.open("admin", "admin");
try{
  OCommandOutputListener listener = new OCommandOutputListener() {
    @Override
    public void onMessage(String iText) {
      System.out.print(iText);
    }
  };

  InputStream out = new FileInputStream("/temp/mydb.zip");
  db.restore(in,null,null,listener);
} finally {
   db.close();
}