达梦与Oracle逻辑备份与还原性能对比
本文对逻辑备份进行学习与测试,并选取个别场景对达梦与Oracle进行对比测试。
一、测试环境
(一)达梦
系统平台 |
操作系统 |
配置 |
逻辑CPU个数 |
VMware |
REDHAT6.8 |
Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz MemTotal: 8061104kB |
4 |
数据库 |
软件信息 |
达梦 |
DM 数据库管理系统:DM Database Server x64 V7.1.5.158-Build ENT |
(二)Oracle
系统平台 |
操作系统 |
配置 |
逻辑CPU个数 |
VMware |
REDHAT6.8 |
Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz MemTotal: 8061104kB |
4 |
数据库 |
软件信息 |
Oracle |
Oracle数据库管理系统:Release 11.2.0.4.0 Production |
二、备份方式对比
逻辑/物理备份方式对比表 |
||
|
逻辑备份 |
物理备份 |
原理 |
逻辑导出数据 |
物理块拷贝 |
数据保护级别 |
只是备份时间点数据库数据。 |
不只备份时间点数据库数据,可以通过归档日志进行任意时刻数据恢复(归档覆盖时间范围)。 |
故障恢复时间(同恢复粒度) |
相对较慢 |
相对较快 |
数据恢复粒度 |
表、用户、模式、全库 |
表、表空间、全库 |
优势 |
针对表、用户、数据库进行备份恢复,能够跨平台、跨版本进行数据恢复,无需开启归档。 |
备份恢复范围更广、更为精确,可恢复到任意时间点数据(归档覆盖范围内)。数据库迁移场景可极大缩减停机窗口。 |
劣势 |
恢复时间较长且恢复数据时间点固定。数据库迁移场景停机窗口较长。 |
操作相对复杂,前提需开启归档模式。数据恢复粒度相对较粗。对源环境与目标环境匹配度要求较高。 |
三、逻辑备份与恢复
(一)逻辑备份
1、参数及注意事项
参数及默认值内容详见官方手册。在此只列出部分带有默认值的参数作为强化记忆。并对注意事项进行备注说明。
参数 |
参数含义 |
默认值 |
FULL |
是否导出整个数据库 |
N |
FUZZY_MATCH |
TABLES选项是否支持模糊匹配 |
N |
CONSTRAINTS |
是否导出约束 |
Y |
TABLESPACE |
导出的对象定义是否包含表空间 |
N |
GRANTS |
是否导出权限 |
Y |
INDEXES |
是否导出索引 |
Y |
TRIGGERS |
是否导出触发器 |
Y |
ROWS |
是否导出数据行 |
Y |
NOLOGFILE |
不使用日志文件 |
N |
NOLOG |
屏幕上不显示日志信息 |
N |
LOG_WRITE |
日志信息实时写入文件 |
N |
COMPRESS |
是否压缩导出数据文件 |
N |
ENCRYPT |
导出数据是否加密 |
N |
DROP |
导出后删除原表,但不级联删除 |
N |
LOCAL |
MPP环境使用MPP_LOCAL登录 |
N |
参数注意事项:
- TABLESPACE参数可解决数据恢复更换表空间的问题(可对比Oracle的REMAP_TABLESPACE参数),在做数据备份时需要提前为数据恢复做考虑。
- COMPRESS参数可对备份数据进行压缩以节省备份空间,但要注意开启压缩后,无论数据备份还是数据恢复速度都会变慢。
- PWD密码中带有特殊字符(/,@.:等),需要外加三层双引号("""""")进行转义。
- FILE和LOG中指定的路径,优先级高于DIRECTORY中指定的路径。如果都没有指定路径,则使用系统当前路径。
- 对象(CONSTRAINTS、GRANTS、INDEXES、TRIGGERS、ROWS)分别单独设置,和EXCLUDE/INCLUDE中批量设置功能一样。如果单独设置和批量同时出现时,以最后出现的为准。
- 对于导出单个文件过大的情况,可使用FILESIZE限制单个文件上限,同时配合FILE参数中的%u来自动扩展文件名,配合FILENUM控制文件个数。
- 对于命令过于复杂,长度过长的可使用PARFILE进行命令封装。
2、备份测试
2.1、测试案例1-导出schemas
- 构造测试用例:
- 备份schemas
dxep xxx/xxx@10.100.x.x:5236 directory=/dmdata file=exp.test1.dmp log=exp.test1.log schemas=test1
2.2、测试用例2-导出tables,并使用query过滤age小于20的记录
- 备份tables:
dexp xxx/xxx@10.100.x.x:5236 directory=/dmdata file=exp.test1_1.dmp log=exp.test1_1.log tables=test1.test query=" WHERE AGE<20"
2.3、测试用例3-导出tables,并指定定义表空间为test1data(后续恢复时验证)
- 备份tables:
dexp xxx/xxx@10.100.x.x:5236 directory=/dmdata file=exp.test1_2.log tables=test1.test tablespace=Y
(二)逻辑恢复
1、参数及注意事项
参数及默认值内容详见官方手册。在此只列出部分带有默认值的参数作为强化记忆。并对注意事项进行备注说明。
参数 |
参数含义 |
默认值 |
FULL |
是否导入整个数据库 |
N |
IGNORE |
忽略创建错误 |
N |
FAST_LOAD |
是否使用dmfldr进行数据导入 |
N |
GRANTS |
是否导入权限 |
Y |
CONSTRAINTS |
是否导入约束 |
Y |
INDEXES |
是否导入索引 |
Y |
TRIGGERS |
是否导入触发器 |
Y |
ROWS |
是否导入数据行 |
Y |
NOLOGFILE |
不使用日志文件 |
N |
NOLOG |
屏幕上不显示日志信息 |
N |
LOG_WRITE |
日志信息实时写入文件 |
N |
COMPILE |
编译过程、程序包和函数 |
Y |
INDEXFIRST |
导入时先创建索引 |
N |
TABLE_FIRST |
是否强制导入表 |
N |
LOCAL |
MPP环境使用MPP_LOCAL登录 |
N |
参数注意事项:
- 一般情况下,OWNER和SCHEMAS导入导出是相同的,但是用户可以包含多个模式,在这种情况下SCHEMAS的导入导出是OWNER导入导出的一个子集。
- 当FAST_LOAE=Y是才可以设置TABLE_PARALLEL参数,否则参数无效。
2、恢复测试
2.1、恢复用例1-将测试用例1恢复至test2模式下
- 数据恢复:
dimp xxx/xxx@10.100.x.x:5236 directory=/dmdata file=exp.test1.dmp log=imp_test1.log remap_schema=TEST1:TEST2
查看test所属表空间:可以看到由于备份时未指定tablespace选项,导出test表定义时未包含表空间,直接恢复到test2的默认表空间test2data中。
2.2、恢复用例2-将测试用例2恢复到test2模式下
- 数据恢复:
dimp xxx/xxx@10.100.x.x:5236 directory=/dmdata file=exp.test1_1.dmp log=imp.test1_1.log remap_schema=TEST1:TEST2
查看表数据:可以看到确为age小于20的2条记录。
2.3、恢复用例3-将测试用例3恢复到test2模式下
- 数据恢复:
dimp xxx/xxx@10.100.x.x:5236 directory=dmdata file=exp.test1_2.dmp log=imp.test1_2.log remap_schema=TEST1:TEST2
查看test所属表空间:可以看到由于备份时指定tablespace选项为Y,导出test表定义时包含表空间test1data,恢复时就直接恢复到test1data表空间中。
(三)Oracle和达梦数据库逻辑备份对比
将Oracle数据库TEST用户TEST01表迁移至达梦数据库,都执行逻辑备份,对比时间和数据量。
|
Oracle |
达梦 |
导出数据量(不压缩) |
7G |
5G |
导出用时(不压缩) |
4分18秒 |
7分23秒 |
导出数据量(压缩) |
4G |
4G |
导出用时(压缩) |
5分5秒 |
10分17秒 |
1、Oracle逻辑备份
- 导出表信息
- 导出测试1:不压缩,导出大小为7G,用时4分18秒。
- 导出测试2:压缩,导出大小为1.4G,用时5分5秒。
2、达梦逻辑备份
- 导出表信息
- 导出测试1:不压缩,导出大小为8.5G,用时7分23秒。
- 导出测试2:压缩,导出大小为1.4G,用时10分17秒。
(四)Oracle和达梦数据库逻辑恢复对比
导入对象为上一小节中导出的TEST用户TEST01表。
|
Oracle |
达梦 |
恢复用时(不压缩) |
3分55秒 |
11分11秒 |
恢复用时(压缩) |
6分16秒 |
11分10秒 |
1、Oracle逻辑恢复
- 导入测试1:不压缩,用时3分55秒。
- 导入测试2:压缩,用时6分16秒。
2、达梦逻辑恢复
- 导入测试1:不压缩,用时11分11秒。
- 导入测试2:压缩,用时11分10秒。
作者:花果山有猴子
出处:https://www.cnblogs.com/huzei/
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平有限,不足和错误之处在所难免,希望大家能够批评指出。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341