Oracle单机、DMDSC数据库安装及性能测试实践分享
  

新手085061 6254

{{ttag.title}}
本帖最后由 新手085061 于 2024-10-8 18:03 编辑

Oracle、DM数据库安装及性能测试实践分享

由于BBS提供的虚拟机模板仅提供压测工具,不具备基本数据库环境,且测试指导仅提供通过DMP部署的方式,同时缺少DM等国产化数据库的相关资料,局限性较大,因此在自行手动安装数据库测试后对相关流程以及过程中遇到的一些问题进行总结分享(以下分享仅个人实验操作测试,仅安装部署及相关流程中遇到的一些问题,调优、最佳实践等配置调整需要结合数据库性能测试版块进行调整)。

一、单机Oracle安装部署(仅安装部署,调优、最佳实践等配置调整需要参考数据库性能测试版本进行调整):
1、oracle安装部署(磁盘分区)
2、创建表空间
3、压测工具连接测试
具体流程参考以下链接,经测试验证按照流程执行可正常顺利完成安装部署:

注:安装时先安装preinstall包,安装完成后修改oracle及/opt/oracle、/oradata目录权限,才能安装oracle包。

安装完成后写入数据库表操作:
创建表,其中'sysdba' 为具体的数据库名
  1. create tablespace SOE datafile 'sysdba' size 10240M autoextend on maxsize 20g;
复制代码

扩容表
  1. alter tablespace SOE add datafile 'sysdba' size 10240M autoextend on maxsize 20g;
复制代码


完成以上操作后才能正常使用swingbench对接识别,进行压测。


二、达梦安装部署:
安装部署可参照以下链接,包括图形化界面安装&纯命令行安装,经过验证严格按照流程指导可顺利完成安装(要注意命令行安装完成后系统会要求执行指定命令,切记不要直接执行,按照链接操作流程来,否则数据库服务会无法正常启动)

其他DM数据库相关可参考官方技术指导:DMDSC 搭建 | 达梦技术文档 (dameng.com)

达梦DMDSC(rac集群高可用部署)部署可能遇到的问题&解决方案
vote磁盘初始化异常:该磁盘类型禁止此操作
问题原因:CSDN安装流程指导中对磁盘进行了分区,将sdb分成sdb1、sdb2、sdb3、sdb4四个分区,导致磁盘识别异常,需要进入fdisk工具使用命令 d 删除所有分区后执行partprobe /dev/sdb命令刷新磁盘信息

注意事项:
代码执行工具放在安装目录下/data/dmdba/dmdbms/bin,相关的工具使用及命令执行需要切换到对应目录下才可执行/使用。

最终集群结果验证需要进入DSC实例的端口,即6636、6637端口,默认账号密码SYSDBA/SYSDBA,而非默认的5236数据库端口!!!使用默认端口登录进去是单机的数据库,不是集群数据库。

服务注册程序路径:/data/dmdba/dmdbms/script/root,注册服务时需要进入对应路径。


达梦数据库性能测试Sysbench安装问题
由于github上官方的sysbench本身不支持达梦数据库测试,需要修改相关代码调用达梦的接口后才能正常对达梦数据库测试,对应的工具包较难获取,此处已获取到相关资源并测试验证可用性:
sysbench-master-dm.zip (33.44 MB, 下载次数: 0)

Sysbench记得使用sysbench-master-dm的版本,不要用20211111版本!否则执行测试脚本运行阶段会有报错!(只使用以上提供的工具包不存在该问题)
1、DM数据库安装sysbench,执行autogen文件时报错:

问题原因:缺少依赖工具libtool
解决方案:安装libtool(调整yum源后使用yum install -y libtool自行安装或使用以下离线包安装),安装完毕后再执行。
libtool-2.4.6-32.ky10.rar (577.04 KB, 下载次数: 0)


2、DM数据库安装sysbench,执行confugure文件时报错:
问题原因:缺少DM_HOME环境变量,导致无法识别DM数据库已安装
解决方案:修改/etc/profile文件,手动添加DM_HOME环境变量至末尾

  1. export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
  2. export DM_HOME="/home/dmdba/dmdbms"
  3. PATH=$PATH:$HOME/.local/bin:$HOME/bin:$DM_HOME/bin
  4. export PATH
复制代码


添加完成后手动执行source /etc/profile令其生效
环境变量生效后再执行configure文件
正常执行后会显示DM support状态为yes

3、DM数据库安装sysbench,执行make编译时报错
问题原因:sysbench本身是不支持DM数据库的,是后续二次开发编译才支持的,而支持DM的dpi驱动后期做了改动,需要新增加一个库,链接命令需要增加-lrt

解决方案:
即根据libtool的报错内容,进入/src目录后复制后粘贴(若不再src目录下会报错,找不到文件),在最后添加上参数 -lrt ,再执行make编译。

  1. gcc -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthread -O3 -funroll-loops -rdynamic -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o sb_histogram.o sb_rand.o sb_thread.o sb_barrier.o sb_lua.o sb_util.o sb_counter.o  -L/usr/local/lib tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/mutex/libsbmutex.a drivers/dm/libsbdm.a  /home/dmdba/dmdbms/include/libdmdpi.a /root/sysbench-master-dpi/third_party/luajit/lib/libluajit-5.1.a -ldl /root/sysbench-master-dpi/third_party/concurrency_kit/lib/libck.a -lm -pthread -lrt
复制代码


make编译完成后在src目录下即可看到生成的可执行文件sysbench
随后将该可执行文件sysbench移动到/src/lua/目录下执行即可(若不移动该文件至指定目录,执行oltp测试脚本时会报错找不到文件位置)

4、sysbench-master-dpi-20211111版本执行脚本做prepare数据准备时报错:违反列[ID]非空约束

测试命令:
数据准备:
  1. ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=localhost:5236 --dm-user=SYSDBA --dm-password=SYSDBA --table_size=250 --auto-inc=1 --threads=32 --tables=5 --time=60 --report-interval=10 prepare
复制代码


运行测试:
  1. ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=localhost:5236 --dm-user=SYSDBA --dm-password=SYSDBA --table_size=250 --auto-inc=1 --threads=32 --tables=5 --time=60 --report-interval=10 run
复制代码


数据清理:
  1. ./sysbench oltp_read_write.lua --db-driver=dm --dm-db=localhost:5236 --dm-user=SYSDBA --dm-password=SYSDBA --table_size=250 --auto-inc=1 --threads=32 --tables=5 --time=60 --report-interval=10 cleanup
复制代码

问题原因:初步判断是sysbench工具版本脚本问题,设置--auto-inc参数值为1时该版本脚本执行判断存在异常,设置为0后执行正常

同样的问题,旧版本--auto-inc参数值要设置为1,否则执行脚本进行run测试时也会报违反列[ID]非空约束错误

5、sysbench-master-dpi-20211111版本执行脚本开始做run测试结束后会报错:句柄释放失败
问题原因:初步判断是该版本工具执行脚本代码存在问题,同样的命令参数使用旧版本可以正常执行无报错。


考虑到BBS对图片的压缩可能会导致模糊看不清,最后附上原文档
Oracle安装&DM安装性能测试环境部署.pdf (2.67 MB, 下载次数: 0)

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

嘀嘀柠柠 发表于 2024-10-1 05:23
  
图文比较详细,收藏慢慢看看学习。
发表新帖
热门标签
全部标签>
西北区每日一问
技术盲盒
每日一问
【 社区to talk】
干货满满
技术笔记
新版本体验
技术咨询
GIF动图学习
信服课堂视频
标准化排查
每周精选
功能体验
社区新周刊
测试报告
问题分析处理
高手请过招
产品连连看
安装部署配置
2023技术争霸赛专题
2024年技术争霸赛
POC测试案例
答题自测
运维工具
VPN 对接
SDP百科
技术晨报
自助服务平台操作指引
在线直播
资源访问
迁移
社区帮助指南
通用技术
秒懂零信任
齐鲁TV
畅聊IT
专家问答
技术圆桌
MVP
网络基础知识
升级
安全攻防
上网策略
日志审计
流量管理
每日一记
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
地址转换
虚拟机
存储
加速技术
排障笔记本
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
华北区交付直播
北京区每日一练
场景专题
故障笔记
排障那些事
升级&主动服务
高频问题集锦
全能先锋系列

本版热帖

本版达人