HammerDB的安装和使用(超详细)
目录
编辑
一、HammerDB的介绍
二、HammerDB的安装
1、下载hammerdb安装包
2、权限配置以及安装
3、查看安装目录
三、安装前的配置
1、启动监听
2、启动数据库
3、创建表空间
1.修改临时表空间
2.修改undo表空间
3.创建HammerDB用户表空间 – tpcctab
4、设置非归档模式
四、造数据
五、压测
一、HammerDB的介绍
HammerDB是针对Oracle,Microsoft SQL Server,IBM DB2,TimesTen,MySQL,MariaDB,PostgreSQL,Postgres Plus Advanced Server等数据以及Greenplum,Redis,Amazon Aurora和Redshift以及Hadoop上的传统 SQL的开源数据库负载测试和基准测试工具。
可以模拟TPC-C测试模型(是在线事务处理OLTP的基准程序),主要用于模拟一个批发商的货物管理环境,测试结果由TPC-C吞吐率衡量,标准测试模型中的单位是tpmC(在hammerdb中,测试结果的单位是tpm,不是tpmC。tpm表示每分钟的事务交易数量。tpmC是TPC-C的事务交易单位)。
也可以模拟TPC-H测试模型(是在线分析处理OLAP的基准程序),主要用来模拟供应商和采购商之间的交易行为,测试结果由TPCH Power来衡量,该值与数据量和交易平均时间有关,表示一个小时内能够完成的复杂交易的数量。
二、HammerDB的安装
1、下载hammerdb安装包
百度网盘下载:
链接:https://pan.baidu.com/s/1cSpdaktK9u8XizvVr7WDBQ?pwd=d0so
提取码:d0so
链接下载:
wget https://nchc.dl.sourceforge.net/project/hammerora/HammerDB/HammerDB-2.23/HammerDB-2.23-Linux-x86-64-Install
将安装包下载完成之后上传到/home/oracle下
2、权限配置以及安装
[root@master /root] chmod +x HammerDB-2.23-Linux-x86-64-Install[root@master /root] ./HammerDB-2.23-Linux-x86-64-InstallThis will install HammerDB on your computer. Continue? [n/Y] y
Where do you want to install HammerDB? [/usr/local/HammerDB-2.23] 在这里可以执行目录,如果要默认的话就直接回车就行,我这里更倾向自动以一下,我定义的是/home/oracle
Installing HammerDB...
Installing Program Files...
Installation complete.
3、查看安装目录
这里具体的安装目录以上边自己定义的为主
[root@master /root] cd /home/oracle/HammerDB-2.23/
[root@master /home/oracle/HammerDB-2.23] ll
total 1508
drwx------ 2 root 4096 Dec 5 15:51 agent
drwxr-xr-x 2 root 4096 Dec 5 15:51 bin
-rw-r--r-- 1 root 25744 Jun 16 19:24 ChangeLog
-rw-r--r-- 1 root 13789 Jun 8 01:05 config.xml
-rw-r--r-- 1 root 618 Dec 20 2016 COPYRIGHT
-rw-r--r-- 1 root 18009 Feb 16 2013 hammerdb.license
-rwxr--r-- 1 root 7050 Mar 14 2017 hammerdb.tcl
drwxr-xr-x 2 root 4096 Dec 5 15:51 hdb-components
drwxr-xr-x 2 root 4096 Dec 5 15:51 hdb-modules
drwxr-xr-x 2 root 4096 Dec 5 15:51 include
drwxr-xr-x 21 root 4096 Dec 5 15:51 lib
-rw-r--r-- 1 root 883 Mar 14 2017 readme
-rwxr-xr-x 1 root 1433874 Dec 5 15:51 uninstall
修改/etc/selinux/config
vim /etc/selinux/configSELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
重启虚拟机
使用oracle用户执行export DISPLAY=':1.0'
export DISPLAY=':1.0'
到此安装完成。
三、安装前的配置
1、启动监听
lsnrctl start
监听无服务,连接不到数据库时
vim $ORACLE_HOME/network/admin/listener.ora
添加
SID_LIST_LISTENER =
(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = orcl) (SID_NAME = orcl) )
)
2、启动数据库
进入数据库
sqlplus / as sysdba
启动数据库
startup
3、创建表空间
1.修改临时表空间
ALTER TABLESPACE temp ADD TEMPFILE '/u01/app/oracle/oradata/orcl/temp02.dbf' SIZE 30G;
2.修改undo表空间
ALTER TABLESPACE undotbs1 ADD DATAFILE '/u01/app/oracle/oradata/orcl/undotbs1.dbf' SIZE 30G;
3.创建HammerDB用户表空间 – tpcctab
CREATE TABLESPACE tpcctab DATAFILE '/u01/app/oracle/oradata/orcl/tpcctab1.dbf' SIZE 30G;
4、设置非归档模式
要将Oracle数据库设置为非归档模式,你需要执行以下步骤:
1. 首先,确认数据库当前的归档模式。可以通过执行以下SQL语句来查看:
```
SELECT log_mode FROM v$database;
```
2. 如果当前的归档模式是“ARCHIVELOG”,则需要先将其设置为“NOARCHIVELOG”模式。执行以下SQL语句来修改归档模式:
```
SHUTDOWN IMMEDIATE; (这一步执行比较慢)
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG OFF;
ALTER DATABASE OPEN;
```
3. 此时数据库已经成功设置为非归档模式。你可以通过执行以下SQL语句来确认设置是否生效:
```
SELECT log_mode FROM v$database;
```
请注意,在将数据库设置为非归档模式后,你将无法进行数据库完全恢复和点恢复操作,因此在执行此操作之前,请确保你已经备份了所有重要的数据。
四、造数据
进入HammerDB
./hammerdb
然后开始造数据,进行等待就可以了
中间如果出错可能是 数据库的服务或者监听没打开,如果执行了一下之后出错那可能是存在相同的用户了(他通常会说是什么大括号错误之类的,语法错误)
这个时候需要进去数据库删除用户
sql状态下执行:
drop user tpcc cascade;
五、压测
然后压测结束。
相关文章:

HammerDB的安装和使用(超详细)
目录 编辑 一、HammerDB的介绍 二、HammerDB的安装 1、下载hammerdb安装包 2、权限配置以及安装 3、查看安装目录 三、安装前的配置 1、启动监听 2、启动数据库 3、创建表空间 1.修改临时表空间 2…...
java经典面试题总结
1.请简述Java的继承,重写和多态的概念和运用 继承是一种Java中重要的面向对象编程方式,它允许一个类从另一个类继承某些属性和方法,在这种关系下,子类可以重写父类的方法,从而实现不同的行为。 多态是继承实现的一种关…...
django中template中post请求接口csrf问题
$(function () {$.ajaxSetup({headers: { "X-CSRFToken": getCookie("csrftoken") }}); });// 为防止CSRF(Cross-site request forgery)跨站请求伪造,发post请求时需要在cookie中创建随机码 function getCookie(name) {v…...
聊聊RocketMQMessageListener的实现机制
序 本文主要研究一下RocketMQMessageListener的实现机制 示例 Service RocketMQMessageListener(nameServer "${demo.rocketmq.myNameServer}", topic "${demo.rocketmq.topic.user}", consumerGroup "user_consumer") public class UserC…...
ConfigurationProperties注解详解
ConfigurationProperties和Value注解用于获取配置文件中的属性定义并绑定到Java Bean或属性中 一个简单的例子 ConfigurationProperties需要和Configuration配合使用,我们通常在一个POJO里面进行配置: Data Configuration ConfigurationProperties(pre…...

三、组件与数据交互
一、组件基础 1、单文件组件 第一步:引入组件 import ComponentTest from ./components/ComponentTest.vue 第二步:挂载组件 components: {ComponentTest } 第三步:显示组件 <ComponentTest></ComponentTest><!-- 父组件 --…...

#define 宏定义看这一篇文章就够了
前言:在c/c学习的过程中,宏定义(#define)是作为初学者学习到的为数不多的预处理指令,在学习的时候我们被告知他可以帮助我们更高效的写程序,可以增加程序的可读性,但宏定义(#define&…...

LeetCode算法栈—验证图书取出顺序
验证图书取出顺序 目录 验证图书取出顺序 题解: 代码: 运行结果: 验证图书取出顺序 现在图书馆有一堆图书需要放入书架,并且图书馆的书架是一种特殊的数据结构,只能按照 一定 的顺序 放入 和 拿取 书籍。 给定一个…...

PAM从入门到精通(十八)
接前一篇文章:PAM从入门到精通(十七) 本文参考: 《The Linux-PAM Application Developers Guide》 PAM 的应用开发和内部实现源码分析 先再来重温一下PAM系统架构: 更加形象的形式: 六、整体流程示例 2.…...
【区间 DP】热门区间 DP 运用题
题目描述 这是 LeetCode 上的 「312. 戳气球」 ,难度为 「困难」。 Tag : 「区间 DP」、「动态规划」 有 n 个气球,编号为 0 到 n - 1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所有的气球。戳破第 i …...

正则表达式,日期选择器时间限制,报错原因
目录 一、正则表达式 1、表达式含义 2、书写表达式 二、时间限制 1、原始日期选择器改造 2、禁止选择未来时间 3、从...到...两个日期选择器的时间限制 三、Uncaught (in promise) Error报错 一、正则表达式 1、表达式含义 (1)/^([a-zA-Z0-9_.…...
YOLOv7 改进原创 HFAMPAN 结构,信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别
💡本篇内容:YOLOv7 改进原创 HFAMPAN 结构,信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv7 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,YOLOv7 专属 论文理…...

django建站过程(1)
django建站过程(1) 使用pycharm创建过程运行项目创建数据库创建超级用户登录生成的后台:界面本地化 准备以django,bootstrap来做一个过程记录,文章主要阐述过程的细节。 使用pycharm创建过程 创建项目“schoolapps”,…...

使用 Typhoeus 和 Ruby 编写的爬虫程序
以下是一个使用 Typhoeus 和 Ruby 编写的爬虫程序,用于爬取 ,同时使用了 jshk.com.cn/get_proxy 这段代码获取代理: #!/usr/bin/env rubyrequire typhoeus require jsondef get_proxyurl "https://www.duoip.cn/get_proxy"respon…...

Git 安装和基础命令、IDEA 基础操作
目录 总结命令:1、安装:1、安装2、配置环境变量: 2、Git操作:1、初始化:1、姓名邮箱:2、初始化仓库:3、工作区和暂存区分析 2、提交文件3、查看版本库状态4、安装小乌龟git不显示图标 5、查看提…...

做一个最新版的淘宝客返利程序源码有多难?
我们都知道淘宝客返利程序成为了很多人的创业和赚钱的工具。这种程序允许通过推广淘宝商品来获得佣金。然而,你知道构建这样一个淘宝客返利程序有多难吗?今天我们就从最基本的API说起,现在我将介绍构建一个最新版淘宝客返利程序所需的关键API…...
day5:Node.js 第三方库
day5:Node.js 第三方库 文章目录 day5:Node.js 第三方库使用 Express.js 构建 Web 应用安装 Express第一个 Express 框架实例第二个 Express 框架实例Node.js 连接 MySQL查询数据插入数据更新数据删除数据使用 Express.js 构建 Web 应用 Express框架是Node.js生态系统中的一…...

如何正确停止线程?为什么 volatile 标记位的停止方法是错误的?
Java全能学习面试指南:https://javaxiaobear.cn 今天我们主要学习如何正确停止一个线程?以及为什么用 volatile 标记位的停止方法是错误的? 首先,我们来复习如何启动一个线程,想要启动线程需要调用 Thread 类的 start…...

pytorch nn.Embedding 读取gensim训练好的词/字向量(有例子)
最近在跑深度学习模型,发现Embedding随机性太强导致模型结果有出入,因此考虑固定初始随机向量,既提前训练好词/字向量,不多说上代码!! 1、利用gensim训练字向量(词向量自行修改) #…...

2.1.1BFS中的Flood Fill和最短路模型
1.池塘计数 农夫约翰有一片 N ∗ M N∗M N∗M 的矩形土地。 最近,由于降雨的原因,部分土地被水淹没了。 现在用一个字符矩阵来表示他的土地。 每个单元格内,如果包含雨水,则用”W”表示,如果不含雨水,…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...