欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

手把手系列:(一)用Benchmarksql测试Oracle数据库性能

发布时间:2025/3/19 数据库 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 手把手系列:(一)用Benchmarksql测试Oracle数据库性能 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

os 环境: Oracle linux /Oracle 12C RAC(搭建rac集群请参考这里),oracle12c数据库

  • 从 sourceforge 下载Benchmarksql 5.0: https://sourceforge.net/projects/benchmarksql/

  • 到写这篇文章为止,Benchmarksql 支持Firebird,Oracle和PostgreSQL

  • 编译BenchMarksql:

    网上关于benchmarksql5.0适用的jdk推荐1.7,笔者经过验证1.7,1.8版本都可以,只要编译和运行时的java版本匹配即可。

    1.设置环境变量: export JAVA_HOME=/path/to/jdk  export PATH=$JAVA_HOME/bin:$PATH

    2.用ant编译,在build.xml那个目录下面执行ant命令,在ant编译时遇到下面的错误:
    Error: Could not find or load main class org.apache.tools.ant.launch.Launcher
    解决办法:export CLASSPATH=.:${JAVA_HOME}/lib:/usr/share/ant/lib/ant-launcher.jar

    运行Benchmarksql之前需要做下准备:

  • cp $ORACLE_HOME/jdbc/lib/ojdbc8.jar $BENCHMARKSQLPATH/run

  • export CLASSPATH=$BENCHMARKSQLPATH/run/ojdbc8.jar$CLASSPATH

  • cp $ORACLE_HOME/jdbc/lib/ojdbc8.jar $BENCHMARKSQLPATH/lib/oracle(若没有这一步也会出现找不到oracle class的错误

  • 修改 props.ora:

    conn=jdbc:oracle:thin:@//scanip:1521/yourdb

    通过Oracle RAC的scanip可以访问整个oracle rac集群,yourdb部分是创建数据库时指定的数据库名称,注意不要配置某个数据库local instance的名字,这样scan ip listene在接收到连接请求时,才会根据特定算法将请求发送到集群中的某个节点。

    测试conn正确与否:sqlplus username/password@//scanip:1521/yourdb

    user和password即在oracle 数据库中配置的用户名和密码。

    terminals=100(配置100个并发用户),可以根据需要来自己配置。

    warehouses=1000 (1000个warehouse 大约需要120多G空间,在数据库中需要提前规划好数据文件)

    loadworkers=10

    运行BenchMarksql:

    cd run

    ./runSQL.sh props.ora ./sql.common/tableCreates.sql

    nohup ./runLoader.sh props.ora >./load.log 2>&1 &

    ./runSQL.sh props.ora ./sql.common/indexCreates.sql

    ./runBenchmark.sh props.ora | tee 100.out


    Benchmarksql 遵循Benchmark规范,结果文件中的TPMC即为我们最关注的指标。

    转载于:https://blog.51cto.com/7680062/1942573

    总结

    以上是生活随笔为你收集整理的手把手系列:(一)用Benchmarksql测试Oracle数据库性能的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。