2、Oracle Logminer性能测试
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性能测试的更多相关文章
- 总结:基于Oracle Logminer数据同步
第 1 页 共 20 页 出自石山园主,博客地址:http://www.cnblogs.com/shishanyuan LogMiner 配置使用手册 1 Logminer 简介 1.1 LogMin ...
- 3、使用Oracle Logminer同步Demo
使用Oracle Logminer同步Demo 1 Demo介绍 1.1 Demo设想 前面介绍了Oracle LogMiner配置使用以及使用LogMiner进行解析日志文件性能,在这篇文章中将利用 ...
- 1、图解Oracle Logminer配置使用
LogMiner配置使用手册 1 Logminer简介 1.1 LogMiner介绍 Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻 ...
- 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 ...
- 使用Oracle Logminer同步Demo
使用Oracle Logminer同步Demo 1 Demo介绍 1.1 Demo设想 前面介绍了Oracle LogMiner配置使用以及使用LogMiner进行解析日志文件性能,在这篇文章中将利用 ...
- Oracle IO性能测试
Oracle IO性能测试 前言 最近发生了迁移测试库后(单节点迁移RAC)因为IO性能问题导致迁移后性能非常差的问题. 原本想在创建ASM磁盘组之前用Orion做测试,但是忘了做就没做结果出了这档子 ...
- 4、总结:基于Oracle Logminer数据同步
最近开发Oracle数据同步功能,做了些调研和验证,这个工作过去有段时间,怕时间长了忘记,故用博客共享出来.在这系列中共写了三篇文章,第一篇是写LogMiner配置及使用,第二篇是测试了LogMine ...
- 基于LR的Oracle应用性能测试
最近对一个oracle ERP系统的INV模块进行性能测试,因为之前大部分都是测试web类型的应用,在这方面经验较少,期间也遇到了不少问题,因此有必要作些总结,以备后忘.首先先简单了解下测试对象相关的 ...
- 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 ...
随机推荐
- 用 Mahout 和 Elasticsearch 实现推荐系统
原文地址 本文内容 软件 步骤 控制相关性 总结 参考资料 本文介绍如何用带 Apache Mahout 的 MapR Sandbox for Hadoop 和 Elasticsearch 搭建推荐引 ...
- Linux--U盘安装Ubuntu12.04
前言 最近一直在研究Android内核驱动开发的相关事宜,使用VMware虚拟机虽然可以更方便的开发,但是对于开发环境硬件的要求还是比较高的,若用于开发,效率太低了,所以考虑使用单独PC去装载Linu ...
- Web 开发常备工具
工欲善其事,必先利其器.如今 Web 开发标准越来越高,Web 开发者也在不断寻找途径提升自己的技能.为使大家的开发工作更顺利进行,本文整理了 10+ 款比较优秀的 Web 开发工具,希望对你有帮助. ...
- AWVS漏洞测试-01节-AWVS的主要作用
AWVS漏洞工具简单介绍 AWVS全称: Acunetix Web Vulnerability Scanner 中文翻译就是:Acunetix网站攻击扫描器 扫描网站漏洞,通过网络爬虫Crawler的 ...
- Python从内存中使用编译后的模块
在Windows编程的时候,有些时候,我们经常会要使用一些非常规的方法,比如说从内存中加载DLL,然后使用DLL中的函数.于是就思索在用Python的时候是否能够将几个编译好的Pyc合并成一个,然后使 ...
- Android Studio 中关于NDK编译及jni header生成的问题
之前由于工作原因使用grails这个基于groovy的框架做项目,对groovy感觉很好. 基于groovy的gradle构建系统对我而言自然也是好的没得说. Android Studio 正式版出来 ...
- 【分享】分享一个压缩 PNG 的网站 TinyPNG
TinyPNG 能做什么? TinyPNG 采用智能的有损压缩技术来减少你的 PNG 文件的文件大小.通过选择性地减少图像中的颜色数量,更少的字节用于存储数据.效果几乎是看不见的,但它在文件大小方面差 ...
- IT部门能力评估...
IT运行成本和变化成本越来越高,IT部门是否上了一些对企业无价值的系统,是否充分利用了已有系统的价值? 随 着IT应用不断深入,庞大的企业IT系统日积月累,各种隐患渐渐显露.IT系统变得越来越复杂,运 ...
- 手动安装 atom 扩展包 packages
由于某些原因, 我们下载 atom 扩展时发现速度特别慢, 或者根本无法下载, 那我们可以尝试手动安装 首先, 从 github 上下载(或其它地方) 扩展包, 解压 进入该文件夹, 找到 packa ...
- 在 Visual Studio 中打开编辑 cshtml 文件时出现错误:未能完成该操作 无效指针 的解决方法
第一步:关闭 Visual Studio: 第二步:删除 %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache 下的所有文件: ...