Oracle Logminer性能测试

1 测试介绍

1.1 测试目的

通过模拟不同环境下LogMiner解析联机/归档日志文件运行情况,通过测试所获取的数据分析,通过对以下两点的验证来确定通过LogMiner技术技术可行性:

1、在日志文件不同大小、不同数据压力情况下对数据库服务器内存、CPU的影响;

2、并通过查询LogMiner的动态表和实际物理表中数据数目是否一致,验证其准确性。

1.2 测试环境

用途及说明

硬件配置

软件配置

其它说明

数据库服务器

型号:T420i

处理器:Intel(R)core(TM) i5 CPU M430

主频:2.2G

内存:2G

硬盘:300G

操作系统:WindowXP

数据库及版本:Oracle10.2g

IP地址:10.88.54.83

 

测试机

型号:T420i

处理器:Intel(R)core(TM) i5 CPU M430

主频:2.2GHz

内存:1.8 GB

显示器:1280*800 宽屏

操作系统:windows xp

浏览器及版本:ie8

 

1.3 测试方案

1.3.1 性能影响(针对目标一)

为了模拟实际运行环境,加入了Logminer运行背景环境,分别测试数据库在无操作、300个插入/秒操作、500个插入/秒操作情况下运行情况,并且对比日志文件50M、100M大小下运行情况

1.3.2 准确性(针对目标二)

1、数据类型

序号

数据类型

是否支持

问题处理

1

BINARY_DOUBLE

8.1及以上

 

2

BINARY_FLOAT

8.1及以上

 

3

CHAR

8.1及以上

 

4

DATE

8.1及以上

需设置时间格式,否则只能同步日期

alter system set nls_date_format='yyyy-MM-dd HH24:mi:ss' scope=spfile;

5

INTERVAL DAY

8.1及以上

 

6

INTERVAL YEAR

8.1及以上

 

7

NUMBER

8.1及以上

 

8

NVARCHAR2

8.1及以上

 

9

RAW

8.1及以上

 

10

TIMESTAMP

8.1及以上

 

11

TIMESTAMP

WITH LOCAL

TIME ZONE

8.1及以上

 

12

VARCHAR2

8.1及以上

 

13

LONG

9.2及以上

 

14

CLOB

10.1及以上

需要设置如下:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

插入时分为两条语句,另外插入二进制数据未进行测试

15

BLOB

10.0及以上

2、DDL语句测试(未测试完毕)

序号

类型

是否支持

1

创建表(Create table)

支持

2

删除表(Drop table)

支持,出现两个语句,首先修改表名为临时表名,然后删除该临时表

监控该类型需要进行合并处理

3

创建作业(Create job)

不支持

4

创建序列(Create sequence)

支持

5

创建存储过程(Create pocedure)

支持

6

增加字段(alter table TABLE add column)

支持

7

删除字段(alter table emp drop column)

支持

8

修改字段(alter table emp modify column)

支持

9

修改列名(alter table rename column)

支持

10

修改表名(rename emp to TABLE)

支持

11

清除表数据(truncate table TABLE)

支持

12

删除表(drop table TABLE)

支持

13

恢复被删除的表(Flashback table TABLE to before drop)

支持

14

NOT NULL约束(alter table TABLE modify COLUMN not null)

支持

15

UNIQUE约束

支持

16

PRIMARY KEY约束

支持

17

FOREIGN KEY 约束

支持

18

CKECK 约束

支持

19

禁用/激活约束

支持

20

删除约束

支持

21

创建不唯一索引

支持

22

创建唯一索引

支持

23

创建位图索引

支持

24

创建反序索引

支持

25

创建函数索引

支持

26

修改索引

支持

27

合并索引

支持

28

重建索引

支持

29

删除索引

支持

30

创建视图(CREATE VIEW)

支持

31

修改视图(CREATE OR REPLACE VIEW)

支持

32

删除视图(DROP VIEW)

支持

33

创建序列(CREATE SEQUENCE)

支持

34

修改序列(ALTER SEQUENCE)

支持

35

删除序列(DROP SEQUENCE)

支持

3、其他问题测试

序号

问题

现象及处理方式

1

主子表插入数据测试

能够正常插入及同步

2

事务提交(commit、rollback)

能够看到提交和未提交的内容,考虑在产品设计中加入DBMS_LOGMNR.COMMITTED_DATA_ONLY

参数,该参数只读取已经提交事务

3

批量更新时,影响多条数据,在联机日志中每一条更新数据对应生成一条语句

不影响,可同步获取再执行

4

更新和删除语句中带rowid

加入去除rowid参数dbms_logmnr.NO_ROWID_IN_STMT

5

   

2 测试结论

2.1 测试初步结论

1. 从性能影响测试中可以看出:

a) logminer加载分析过程随机器根据负载不同在6~21秒完成;

b) 加载分析过程并不随日志文件个数增加在时间、CPU、内存有较大变化;

c) 加载分析过程中受分析日志文件个数最大是内存,其次是CPU,耗时应影响较小;

2. 从准确性测试来看

a) 通过设置基本上能够获取DML语句(其中LOB字段还需要进行测试);

b) 从现有情况来看,DDL支持并不充分,需要进一步测试;

附测试数据:

 

联机日志大小

读取文件个数

运行作业数目

插入数据量

生成字典文件

加载处理

分析处理

log_contents
数据量

大小(M)

时间(秒)

耗时(秒)

CPU(%)

内存(M)

耗时(秒)

CPU(%)

内存(M)

方案一

50M

1个

0个

0笔/秒

47.5

12.7

1

1

309

5.5

25

438

600

3个

0个

0笔/秒

1

1

309

5.7

25

444

222,236

5个

0个

0笔/秒

1

1

326

5.6

25

445

492,606

10个

0个

0笔/秒

1

1

326

5.6

25

445

1,149,284

方案二

50M

1个

500个

估计300笔/秒

47.5

20

1

26

391

6.7

35

530

111,328

3个

500个

估计300笔/秒

1

21

473

6.4

37

619

372,389

5个

500个

估计300笔/秒

1

25

534

6.8

44

692

622,390

10个

500个

估计300笔/秒

1

30

624

6.7

39

780

1,254,748

方案三

50M(未运行CPU80%,680M)

1个

1000个

估计500笔/秒

47.5

54.7

3.5

71

688

15

80

806

35,892

3个

1000个

估计500笔/秒

1.5

41

688

14.4

78

777

384,743

5个

1000个

估计500笔/秒

1

68

687

 

75

805

652,148

10个

1000个

估计500笔/秒

10

80

689

13.2

79

806

1,295,158

方案四

50M(未运行CPU80%,667M)

1个

2000个

估计1000笔/秒

47.5

73.7

5.5

84

691

14.6

78

808

133,844

3个

2000个

估计1000笔/秒

11.4

70

691

12

75

809

390,029

5个

2000个

估计1000笔/秒

5.5

76

690

13.6

76

806

668,013

10个

2000个

估计1000笔/秒

6.1

40

690

15.4

88

809

1,335,587

方案五

100M(未运行CPU25%,464M)

1个

500个

估计300笔/秒

23.8

8.7

0.8

26

484

4.1

30

573

268,715

3个

500个

估计300笔/秒

0.9

25

534

3.2

36

622

768,989

5个

500个

估计300笔/秒

0.9

27

581

3.2

35

662

1,324,447

10个

500个

估计300笔/秒

1.1

29

690

5.2

35

763

2,619,322

2、Oracle Logminer性能测试的更多相关文章

  1. 总结:基于Oracle Logminer数据同步

    第 1 页 共 20 页 出自石山园主,博客地址:http://www.cnblogs.com/shishanyuan LogMiner 配置使用手册 1 Logminer 简介 1.1 LogMin ...

  2. 3、使用Oracle Logminer同步Demo

    使用Oracle Logminer同步Demo 1 Demo介绍 1.1 Demo设想 前面介绍了Oracle LogMiner配置使用以及使用LogMiner进行解析日志文件性能,在这篇文章中将利用 ...

  3. 1、图解Oracle Logminer配置使用

    LogMiner配置使用手册 1 Logminer简介 1.1 LogMiner介绍 Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻 ...

  4. Oracle logminer 分析redo log(TOAD与PLSQL)

    Oracle logminer 分析redo log Oracle 11g r2 RAC centos 6.5 设置时间格式 select to_char(sysdate,'yyyy-mm-dd hh ...

  5. 使用Oracle Logminer同步Demo

    使用Oracle Logminer同步Demo 1 Demo介绍 1.1 Demo设想 前面介绍了Oracle LogMiner配置使用以及使用LogMiner进行解析日志文件性能,在这篇文章中将利用 ...

  6. Oracle IO性能测试

    Oracle IO性能测试 前言 最近发生了迁移测试库后(单节点迁移RAC)因为IO性能问题导致迁移后性能非常差的问题. 原本想在创建ASM磁盘组之前用Orion做测试,但是忘了做就没做结果出了这档子 ...

  7. 4、总结:基于Oracle Logminer数据同步

    最近开发Oracle数据同步功能,做了些调研和验证,这个工作过去有段时间,怕时间长了忘记,故用博客共享出来.在这系列中共写了三篇文章,第一篇是写LogMiner配置及使用,第二篇是测试了LogMine ...

  8. 基于LR的Oracle应用性能测试

    最近对一个oracle ERP系统的INV模块进行性能测试,因为之前大部分都是测试web类型的应用,在这方面经验较少,期间也遇到了不少问题,因此有必要作些总结,以备后忘.首先先简单了解下测试对象相关的 ...

  9. oracle LogMiner配置使用

    一.安装LogMiner1.@D:\app\product\11.1.0\db_1\RDBMS\ADMIN\dbmslm.sql 2.@D:\app\product\11.1.0\db_1\RDBMS ...

随机推荐

  1. 用 Mahout 和 Elasticsearch 实现推荐系统

    原文地址 本文内容 软件 步骤 控制相关性 总结 参考资料 本文介绍如何用带 Apache Mahout 的 MapR Sandbox for Hadoop 和 Elasticsearch 搭建推荐引 ...

  2. Linux--U盘安装Ubuntu12.04

    前言 最近一直在研究Android内核驱动开发的相关事宜,使用VMware虚拟机虽然可以更方便的开发,但是对于开发环境硬件的要求还是比较高的,若用于开发,效率太低了,所以考虑使用单独PC去装载Linu ...

  3. Web 开发常备工具

    工欲善其事,必先利其器.如今 Web 开发标准越来越高,Web 开发者也在不断寻找途径提升自己的技能.为使大家的开发工作更顺利进行,本文整理了 10+ 款比较优秀的 Web 开发工具,希望对你有帮助. ...

  4. AWVS漏洞测试-01节-AWVS的主要作用

    AWVS漏洞工具简单介绍 AWVS全称: Acunetix Web Vulnerability Scanner 中文翻译就是:Acunetix网站攻击扫描器 扫描网站漏洞,通过网络爬虫Crawler的 ...

  5. Python从内存中使用编译后的模块

    在Windows编程的时候,有些时候,我们经常会要使用一些非常规的方法,比如说从内存中加载DLL,然后使用DLL中的函数.于是就思索在用Python的时候是否能够将几个编译好的Pyc合并成一个,然后使 ...

  6. Android Studio 中关于NDK编译及jni header生成的问题

    之前由于工作原因使用grails这个基于groovy的框架做项目,对groovy感觉很好. 基于groovy的gradle构建系统对我而言自然也是好的没得说. Android Studio 正式版出来 ...

  7. 【分享】分享一个压缩 PNG 的网站 TinyPNG

    TinyPNG 能做什么? TinyPNG 采用智能的有损压缩技术来减少你的 PNG 文件的文件大小.通过选择性地减少图像中的颜色数量,更少的字节用于存储数据.效果几乎是看不见的,但它在文件大小方面差 ...

  8. IT部门能力评估...

    IT运行成本和变化成本越来越高,IT部门是否上了一些对企业无价值的系统,是否充分利用了已有系统的价值? 随 着IT应用不断深入,庞大的企业IT系统日积月累,各种隐患渐渐显露.IT系统变得越来越复杂,运 ...

  9. 手动安装 atom 扩展包 packages

    由于某些原因, 我们下载 atom 扩展时发现速度特别慢, 或者根本无法下载, 那我们可以尝试手动安装 首先, 从 github 上下载(或其它地方) 扩展包, 解压 进入该文件夹, 找到 packa ...

  10. 在 Visual Studio 中打开编辑 cshtml 文件时出现错误:未能完成该操作 无效指针 的解决方法

    第一步:关闭 Visual Studio: 第二步:删除 %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache 下的所有文件: ...