-
Notifications
You must be signed in to change notification settings - Fork 24
二、DBeaver备份还原
原生DBeaver还原功能较弱,在此基础上拓展了备份还原功能。
当前DBeaver 支持以下数据库备份还原:MySQL、Oracle、SQL server、DM、瀚高、人大金仓、Oscar、Clickhouse
注意:Oracle、SQL server、Clickhouse备份生成的文件只有DBeaver可以还原
注意:Windows机器请尽量使用exe包进行安装,否则部分备份还原功能将无法使用
-
在要备份的数据库右击选择工具,点击导出数据库
-
设置备份参数,点击导出按钮
-
等待导出完成
-
在要备份的数据库上右击,点击导入数据库
-
点击开始进行导入
-
等待导入完成
Oracle、SQL server、Clickhouse备份还原操作方法大致相同此处只演示Oracle
如果数据库大小超过10G以上建议走原生的备份方式
-
在要备份的模式上右键,点击导出
-
直接点击开始即可进行导出,一般选择默认配置即可
-
等待导出完成
注意;还原前请保证当前模式对其表空间有写入权限,否则将导入失败
-
在需要导入的模式上右键,点击导入
导入前如果没有权限请先执行这条SQL语句:
ALTER USER TEST(模式名) QUOTA UNLIMITED ON USERS(该模式所属表空间名)
-
选择备份文件,点击导入
-
等待还原完成
FAQ: 如果出现java.io.StreamCorruptedException: invalid stream header: 00000000这种报错, 极有可能是备份文件前面数据为空,但是输入流仍然读取了数据。可以使用下面代码来读取备份文件进行测试:
byte[] bytes=new byte[1024*1024*100]; //读取前100M
File file =new File("C:\\Users\\surive\\Desktop\\test.edb");
InputStream inputStream=new BufferedInputStream(new FileInputStream(file),100000);
inputStream.read(bytes);
System.out.println(new String(bytes));
Oscar、DM、瀚高、人大金仓备份还原方式大致相同,此处只演示DM的备份还原
-
在要导出的模式上右键,点击备份
-
直接使用默认配置即可导出
- 等待备份完成
-
在需要导入的模式上右键点击导入
-
设置导入参数,点击导入
-
等待还原完成