【原创】oracle的tpc-c测试及方法
大家好,很高兴来到博客园分享自己的所见所得。希望和大家多多交流,共同进步。
本文重点在于简介使用BenchmarkSQL对oracle进行tpcc的测试步骤,只是一个简单入门的过程。
开源测试工具:BenchmarkSQL。
平台:windows
之前也使用过hammerDB这个测试工具,但是它给的输出结果的单位是tpm,而不是tpmc。所以不是特别直观,因此选择了BenchmarkSQL。
BenchmarkSQL简单介绍:目前仍然在维护,现在可选择的最新版本是BenchmarkSQL-4.1.0版本。但是2.3版本以后停止了对windows的支持。基于本文的测试环境是windows,所以选择了2.3版本。
测试步骤:
1.安装必要的软件
1.1 jdk
1.2 BenchmarkSQL.
1.3 oracle
我使用的是jdk1.7,BenchmarkSQL-2.3,oracle11gXE版本。
2.建oracle的tpcc测试用户
2.1先建表空间tpcctab
create tablespace tpcctab
logging
datafile 'D:\oraclexe\app\oracle\oradata\XE\tpcctab_data.dbf'
size 32M
autoextend on
next 32M maxsize 2048M
extent management local;
2.2建立改表空间下的用户tpcc
create user tpcc identified by tpcc
default tablespace tpcctab
temporary tablespace temp;
2.3给tpcc赋予见表的权限
grant connect to tpcc;
grant create table to tpcc;
grant resource to tpcc;
3.配置BenchmarkSQL
在BenchmarkSQL/run下面,修改oracle.properties文件。
内容为(我的):
driver=oracle.jdbc.driver.OracleDriver
conn=jdbc:oracle:thin:@localhost:1521:xe
user=tpcc
password=tpcc
这些其实就是java代码中连接oracle数据库的参数。
4.创建TPC-C基础表
TPC-C一共9个表,现在需要建对应的表。
执行 runSQL.bat oracle.properties sqlTableCreates
如果需要删除表,执行 runSQL.bat oracle.properties sqlTableDrops
可以在oracle的tpcc用户下执行:select table_name from user_tables;
看到如下9张表:

5.
向Warehouse导入数据
比如建立10个Warehouses,执行loadData.bat oracle.properties numWarehouses
10
你会发现oracle下的data下,TPCCTAB_DATA.DBF有将近900M大小。
6. 为基础表创建必要的索引
这一步可执行也可不执行。
执行:runSQL.bat oracle.properties sqlIndexCreates
7.运行runBenchmark.bat进行测试
执行runBenchmark.bat
oracle.properties ,并设置相关参数。
可以按自己的需求选择各个参数,注意Warehouses的大小。



最后点击create,成功后并点击start开始测试。
测试结果会实时的显示在图形界面的最下面。

这样就完成了整个测试过程。
祝好。
转载请注明出处,谢谢~ http://www.cnblogs.com/xiaoboCSer/p/3661124.html
【原创】oracle的tpc-c测试及方法的更多相关文章
- oracle 索引失效原因及解决方法
oracle 索引失效原因及解决方法 2010年11月26日 星期五 17:10 一.以下的方法会引起索引失效 1,<>2,单独的>,<,(有时会用到,有时不会)3,like ...
- Oracle自定义数据类型 2 (调用对象方法)
调用对象方法 调用对象方法基于类型创建表后,就可以在查询中调用对象方法 A. 创建基于对象的表语法: create table <表名> of <对象类型>意义 ...
- Oracle中对列加密的方法
Oracle中对列加密的方法 2011-12-22 17:21:13 分类: Linux Oracle支持多种列加密方式: 1,透明数据加密(TDE):create table encrypt_col ...
- [原创]浅谈H5页面性能优化方法
[原创]浅谈H5页面性能优化方法 前阶段公司H5页面性能测试,其中测试时也发现了一些性能瓶颈问题,接下来我们在来谈谈H5页面性能优化,仅仅是一些常用H5页面性能优化措施,其实和Web页面性能优化思路大 ...
- Nmap渗透测试使用方法
Nmap渗透测试使用方法 目标选择2 端口选择2 操作系统和服务检测2 Nmap输出格式2 用NSE脚本深入挖掘2 HTTP服务信息3 检测SSL漏洞问题的主机3 设备扫描3 按VNC扫描5 按SMB ...
- 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节
1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...
- 【SQL】Oracle分页查询的三种方法
[SQL]Oracle分页查询的三种方法 采用伪列 rownum 查询前10条记录 ? 1 2 3 4 5 6 7 8 9 10 11 [sql] select * from t_user t whe ...
- Oracle表空间数据文件移动的方法
最近遇到这样的一个问题,Oracle存放表空间文件的盘符 空间不够了,必须把部分表空间迁移出去, [转]http://www.jb51.net/article/77026.htm 实现把用户表空间中的 ...
- ORACLE导入、导出命令使用方法
oracle导入.导出命令使用方法: 给用户增加导入数据权限的操作 第一,启动sql*puls 第二,以system/manager登陆 第三,create user 用户名 IDENTIFIED B ...
随机推荐
- MySQL EER反向建表
Database > Synchronize Model... Choose Stored Connection Select the Schemata Choose which to upda ...
- sublime text2之js压缩-Js Minifier
一款基于Google Closure compiler压缩Js文件插件. 快捷键: Ctrl+Alt+M 当前文件内压缩Js代码(不推荐) Ctrl+Alt+Shift+M ...
- 关于Segmentation fault (core dumped)几个简单问题的整理
有的程序可以通过编译,但在运行时会出现Segment fault(段错误).这通常都是指针错误引起的.但这不像编译错误一样会提示到文件一行,而是没有任何信息.一种办法是用gdb的step, 一步一步寻 ...
- mac 下 sphinx + mysql + php 实现全文搜索(xampp)(4)php api 解析
1:function GetLastError() // 假如报错的话,会输出报错信息 2:function GetLastWarning ()// 输出 警告信息 3:function SetSe ...
- 【CSS】盒模型+选择器(你选择的要操作的对象)
盒模型 转http://www.cnblogs.com/cchyao/archive/2010/07/12/1775846.html 1.w3c标准的盒模型和ie的盒模型主要差别在于content的w ...
- Hibernate从入门到精通(四)基本映射
映射的概念 在上次的博文Hibernate从入门到精通(三)Hibernate配置文件我们已经讲解了一下Hibernate中的两种配置文件,其中提到了两种配置文件的主要区别就是XML可以配置映射.这里 ...
- struts2拦截器-简单实现非法登录验证
概念:什么是拦截器 拦截器实现了面向切面的组件,它会影响多个业务对象的公共行为封装到一个个可重用的模块,减少了系统的重复代码,实现高度内聚,确保业务对象的整洁! 为什么使用拦截器 拦截器消除了动作 ...
- embed标签遮住div层
依然是上次的那个返工友情项目,当时帮忙用jquery ui写了一个漂浮的投票箱,就是类似点击一个项目然后就收藏到了投票箱中的效果.. 虽然不是很复杂,但是由于页面上有大面积的由kindeditor上传 ...
- log4j示例
示例代码:此示例从控制台输入日志,设置了输出等级. # # Log4J Settings for log4j 1.2.x (via jakarta-commons-logging) # # The f ...
- js原生removeclass方法
//如果列表中有存在给定的值就删除 // function removeClass(ele,txt){ // var str = ele.className, // ary = str.split(/ ...