一、环境变量设置:
Java
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
export BENCHMARKsqlPATH=/home/benchmarksql-5.0
export CLASSPATH=.:JAVA_HOME/lib:$BENCHMARKsqlPATH/run/ojdbc8.jar
二、基础库准备:
cp ~/oracle/product/12.1.0/db_1/jdbc/lib/ojdbc8.jar benchmarksql-5.0/run/
cp $ORACLE_HOME/jdbc/lib/ojdbc8.jar $BENCHMARKsqlPATH/lib/oracle //若没有这一步也会出现找不到oracle class的错误
三、编译Benchmarksql:
切换到 build.xml所在目录,执行 ant编译;
四、修改runsql.sh:
添加如下
$ vi runsql.sh
myCP="$myCP:../dist/Benchmarksql-4.1.jar"
myOPTS="-Dprop=$1"
#添加 CLASSPATH
java -cp .:$myCP:$CLASSPATH $myOPTS ExecJDBC
五、修改 props.ora:
conn=jdbc:oracle:thin:@//192.168.1.1:1521/yourdb
通过Oracle RAC的scanip可以访问整个oracle rac集群,yourdb部分是创建数据库时指定的数据库名称,注意不要配置某个数据库local instance的名字,这样scan ip listene在接收到连接请求时,才会根据特定算法将请求发送到集群中的某个节点。
测试conn正确与否:sqlplus username/password@//192.168.1.1:1521/yourdb
user和password即在oracle 数据库中配置的用户名和密码。
terminals=100(配置100个并发用户),可以根据需要来自己配置。
warehouses=1000 (1000个warehouse 大约需要120多G空间,在数据库中需要提前规划好数据文件)
loadworkers=10
六、数据库操作:
创建数据库用户
$ sqlplus "/ as sysdba"
sql> create user benchmarksql identified by "benchmarksql";
sql> grant dba,connect to benchmarksql;
sql> alter user benchmarksql default tablespace users;
设置ORACLE 批量提交参数
sql> alter system set commit_write='batch,nowait';
扩展表空间,防止空间不够。(1000个warehouse够用了)。
sql> alter tablespace users add datafile '/disk1/digoal/oradata/users01.dbf' size 31G;
sql> alter tablespace users add datafile '/disk1/digoal/oradata/users02.dbf' size 31G;
sql> alter tablespace users add datafile '/disk1/digoal/oradata/users03.dbf' size 31G;
sql> alter tablespace users add datafile '/disk1/digoal/oradata/users04.dbf' size 31G;
sql> alter tablespace users add datafile '/disk1/digoal/oradata/users05.dbf' size 31G;
sql> alter tablespace users add datafile '/disk1/digoal/oradata/users06.dbf' size 31G;
sql> alter tablespace users add datafile '/disk1/digoal/oradata/users07.dbf' size 31G;
sql> alter tablespace users add datafile '/disk1/digoal/oradata/users08.dbf' size 31G;
sql> alter tablespace users add datafile '/disk1/digoal/oradata/users09.dbf' size 31G;
七、运行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
[其他]
清数据
./runsql.sh props.pg sqlTableTruncates
删表
./runsql.sh props.pg sqlTableDrops
参考:
http://7680062.blog.51cto.com/7670062/1942573
https://yq.aliyun.com/articles/290 另: 设置默认JDK版本: sudo update-alternatives --config java 这时如果有多个jdk的话(比如openJDK和SUN JDK),就会出来一个列表,当前默认的会在列表前面有一个" * " 号,这时我们就要选择我们刚装的SUN JDK的java的那个序号,输入这个序号,回车就行了。 原文链接:https://www.f2er.com/oracle/207294.html