命令 - RESTORE DATABASE
从一个备份恢复数据库。必须作用在一个新的数据库上,不支持和一个已经存在的数据库进行合并。如果你需要在一个已经存在的数据库备份和恢复,使用EXPORT DATABASE
和IMPORT 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();
}