当前位置: 首页 > news >正文

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、单文件组件 第一步&#xff1a;引入组件 import ComponentTest from ./components/ComponentTest.vue 第二步&#xff1a;挂载组件 components: {ComponentTest } 第三步&#xff1a;显示组件 <ComponentTest></ComponentTest><!-- 父组件 --…...

#define 宏定义看这一篇文章就够了

前言&#xff1a;在c/c学习的过程中&#xff0c;宏定义&#xff08;#define&#xff09;是作为初学者学习到的为数不多的预处理指令&#xff0c;在学习的时候我们被告知他可以帮助我们更高效的写程序&#xff0c;可以增加程序的可读性&#xff0c;但宏定义&#xff08;#define&…...

LeetCode算法栈—验证图书取出顺序

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

PAM从入门到精通(十八)

接前一篇文章&#xff1a;PAM从入门到精通&#xff08;十七&#xff09; 本文参考&#xff1a; 《The Linux-PAM Application Developers Guide》 PAM 的应用开发和内部实现源码分析 先再来重温一下PAM系统架构&#xff1a; 更加形象的形式&#xff1a; 六、整体流程示例 2.…...

【区间 DP】热门区间 DP 运用题

题目描述 这是 LeetCode 上的 「312. 戳气球」 &#xff0c;难度为 「困难」。 Tag : 「区间 DP」、「动态规划」 有 n 个气球&#xff0c;编号为 0 到 n - 1&#xff0c;每个气球上都标有一个数字&#xff0c;这些数字存在数组 nums 中。 现在要求你戳破所有的气球。戳破第 i …...

正则表达式,日期选择器时间限制,报错原因

目录 一、正则表达式 1、表达式含义 2、书写表达式 二、时间限制 1、原始日期选择器改造 2、禁止选择未来时间 3、从...到...两个日期选择器的时间限制 三、Uncaught (in promise) Error报错 一、正则表达式 1、表达式含义 &#xff08;1&#xff09;/^([a-zA-Z0-9_.…...

YOLOv7 改进原创 HFAMPAN 结构,信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别

💡本篇内容:YOLOv7 改进原创 HFAMPAN 结构,信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv7 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,YOLOv7 专属 论文理…...

django建站过程(1)

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

使用 Typhoeus 和 Ruby 编写的爬虫程序

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

Git 安装和基础命令、IDEA 基础操作

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

做一个最新版的淘宝客返利程序源码有多难?

我们都知道淘宝客返利程序成为了很多人的创业和赚钱的工具。这种程序允许通过推广淘宝商品来获得佣金。然而&#xff0c;你知道构建这样一个淘宝客返利程序有多难吗&#xff1f;今天我们就从最基本的API说起&#xff0c;现在我将介绍构建一个最新版淘宝客返利程序所需的关键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全能学习面试指南&#xff1a;https://javaxiaobear.cn 今天我们主要学习如何正确停止一个线程&#xff1f;以及为什么用 volatile 标记位的停止方法是错误的&#xff1f; 首先&#xff0c;我们来复习如何启动一个线程&#xff0c;想要启动线程需要调用 Thread 类的 start…...

pytorch nn.Embedding 读取gensim训练好的词/字向量(有例子)

最近在跑深度学习模型&#xff0c;发现Embedding随机性太强导致模型结果有出入&#xff0c;因此考虑固定初始随机向量&#xff0c;既提前训练好词/字向量&#xff0c;不多说上代码&#xff01;&#xff01; 1、利用gensim训练字向量&#xff08;词向量自行修改&#xff09; #…...

2.1.1BFS中的Flood Fill和最短路模型

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

python打卡day49

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

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

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编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

什么是Ansible Jinja2

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

优选算法第十二讲:队列 + 宽搜 优先级队列

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

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...