Oracle XE fails on HammerDB benchmark

All we need is an easy explanation of the problem, so here it is.

I have Oracle XE 21c and HammerDB 4.4. The task is to benchmark database.

Oracle Database 21c Express Edition Release 21.0.0.0.0 – Production
Version 21.3.0.0.0

Well, because of that I’ve done the command below after ‘sqlplus system/pass_of_sys’:

alter session set container=XEPDB1; (that's the name of pluggable DB);
create tablespace tpcctab datafile 'tpcctab.dat' size 8G autoextend on;
create temporary tablespace tpcctemp tempfile 'tpcctemp.dat' size 4G autoextend on;

And I’ve created HammerDB creating schema script which runs on local machine:

dbset bm TPROC-C
dbset db ora
diset connection system_user system
diset connection system_password pass_of_sys
diset connection instance 192.168.192.11/XEPDB1
diset tpcc tpcc_user tpcc
diset tpcc tpcc_pass tpcc
diset tpcc tpcc_def_tab tpcctab
diset tpcc tpcc_def_temp tpcctemp
diset tpcc count_ware 4
diset tpcc num_vu 3
buildschema

…. and driver script which runs on another machine in the same network:

dbset db ora
dbset bm TPROC-C
diset connection system_user system
diset connection system_password pass_of_sys
diset connection instance 192.168.192.11/XEPDB1
diset tpcc tpcc_user tpcc
diset tpcc tpcc_pass tpcc
diset tpcc ora_driver timed
diset tpcc rampup 1
diset tpcc duration 1
diset tpcc checkpoint true
diset tpcc total_iterations 1000
diset tpcc allwarehouse true
loadscript
vuset vu 3
vuset logtotemp 1
vucreate
vurun

Every time first script creates tpcc user, both then executes several transactions and fails – even if to write ‘diset connection instance 192.168.192.11:1521/XEPDB1’, Oracle XE returns different errors, every time error is different:

  • KPEDBG_HDL_PUSH_FCPTRMAX;
  • KPEDBG_HDL_POP_FCPTR;
  • KPEDBG-…TLSORA-24550 and smth else.

Moreover, rampup period does not start. If in driver script in string ‘diset tpcc total_iterations 1000’ write more than 1000, or in ‘diset tpcc duration 2’ write more than 1 – driver script fails even with no transaction with the same error codes…. And of course I know about XE limitations.

So WHAT should I do to come over that task? Any ideas, please?((

How to solve :

I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.

Method 1

HammerDB is looking for a connect string of system_user/[email protected]
The best approach is to configure your instance in your tnsnames.ora file as follows:

XEPDB1 =
  (DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.192.11)(PORT = 1521)))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XEPDB1)
    )
  )

Then use the command tnsping to check that you can ping the instance and check with sqlplus system/[email protected] that you have the correct permissions to login. If this works correctly and your instance is registered with the listener then HammerDB will connect also.

If running on Windows also set the following in your sqlnet.ora because of Oracle bug 12733000 that is detailed in the HammerDB release notes. On Linux this does not apply.

SQLNET.AUTHENTICATION_SERVICES = (NTS)
DIAG_ADR_ENABLED=OFF 
DIAG_SIGHANDLER_ENABLED=FALSE
DIAG_DDE_ENABLED=FALSE

Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply