达梦与oracle的对比_达梦数据库与oracle对比

达梦与oracle的对比_达梦数据库与oracle对比本文对逻辑备份进行学习与测试,并选取个别场景对达梦与Oracle进行对比测试。 一、测试环境 (一)达梦 系统平台 操作系统 配置 逻辑CPU个数 VMware REDHAT6.8 Intel(R)

达梦与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

  • 构造测试用例:

 达梦与oracle的对比_达梦数据库与oracle对比

  • 备份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中。

 达梦与oracle的对比_达梦数据库与oracle对比

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条记录。

 达梦与oracle的对比_达梦数据库与oracle对比

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对比

(三)Oracle和达梦数据库逻辑备份对比

将Oracle数据库TEST用户TEST01表迁移至达梦数据库,都执行逻辑备份,对比时间和数据量。 

 

Oracle

达梦

导出数据量(不压缩)

7G

8.5G

导出用时(不压缩)

4分18秒

7分23秒

导出数据量(压缩)

1.4G

1.4G

导出用时(压缩)

5分5秒

10分17秒

1、Oracle逻辑备份

  • 导出表信息

达梦与oracle的对比_达梦数据库与oracle对比

达梦与oracle的对比_达梦数据库与oracle对比

  • 导出测试1:不压缩,导出大小为7G,用时4分18秒。
  • 导出测试2:压缩,导出大小为1.4G,用时5分5秒。

2、达梦逻辑备份

  • 导出表信息

达梦与oracle的对比_达梦数据库与oracle对比

  • 导出测试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/

本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。

由于博主的水平有限,不足和错误之处在所难免,希望大家能够批评指出。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5620.html

(0)
上一篇 2023-05-01
下一篇 2023-05-01

相关推荐

  • python中英文时间转换的简单介绍

    python中英文时间转换的简单介绍python编程用datetime方法进行时间转换,代码如下:

    2023-11-01
    128
  • 提高效率的时间模块Python编程技巧

    提高效率的时间模块Python编程技巧计算机编程领域中,时间处理一直是一个很重要的任务。在Python编程中,提高时间处理的效率和精度是非常必要的,也是非常具有挑战性的。Python的时间模块是一个非常强大的工具,提供了许多函数和类,可以轻松地处理日期和时间的各种操作。这篇文章将分享一些提高时间模块Python编程效率的技巧,希望能够帮助读者提高编程效率,减少开发时间。

    2024-02-22
    105
  • win7原版系统安装教程_windows怎么安装

    win7原版系统安装教程_windows怎么安装
    场景 PostgreSQL PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。 用于安全地存储数据; 支持最佳做法,并允许在处…

    2023-04-08
    161
  • Python len函数:返回对象长度

    Python len函数:返回对象长度Python中的blen()/b函数是一个常用的函数,它的作用是返回一个对象的长度或者元素个数,比如字符串、列表、元组、集合、字典等。

    2024-02-24
    157
  • 技术分享 | MySQL 子查询优化

    技术分享 | MySQL 子查询优化作者:胡呈清 爱可生 DBA 团队成员,擅长故障分析、性能优化,个人博客:https://www.jianshu.com/u/a95ec11f67a8,欢迎讨论。 本文来源:原创投稿 *爱可生开源社…

    2023-03-16
    152
  • Redis 的基本数据类型 和 基础应用场景「建议收藏」

    Redis 的基本数据类型 和 基础应用场景「建议收藏」1. 获取中奖用户ID,随机弹出之后集合中就不存在了【set】
    2. 存储活动中中奖的用户ID,保证同一个用户不会中奖两次【set】
    3. 存储粉丝列表,value 为粉丝的用户ID,score 是关

    2023-03-16
    154
  • Python编程,无所不能

    Python编程,无所不能Python是一种面向对象、解释型的高级编程语言,由Guido van Rossum于1989年底在荷兰创造。它具有简单明了、易读易学、代码量少、可移植性强等特点,并且可以用于各种编程领域。

    2024-04-29
    69
  • docker官网_DOCKER

    docker官网_DOCKER一 mysql 1,拉取镜像 2,创建容器 docker run -di –name mysql88 -p 3307:3307 -v /mydata/docker_mysql/conf:/etc/…

    2023-04-19
    185

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注