HammerOra Quick Start...

Its time to test some IO.

I have used OraBM/OraStress in the past to throw a load at an Oracle server.

(DMann 08-APR-2015 Note: Hammerora has been renamed HammerDB and is available at : http://www.hammerdb.com/ - This post may not be up to date with current versions. )

This time I wanted to see what else was out there. I had seen mention of HammerOra on forums and listserves so I figured I'de give it a shot. Here's what it took to get it running on a Windows server.

1) Download and Install HammerOra

Their home page is here: http://hammerora.sourceforge.net/

2) Create Schemas

Login as system and run the following script:

CREATE TABLESPACE TPCCTAB LOGGING DATAFILE
'C:\oracle\oradata\TPCCTAB0.DBF'
SIZE 128M AUTOEXTEND ON NEXT 2M MAXSIZE 4000M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8k;

CREATE USER TPCC
PROFILE DEFAULT
IDENTIFIED BY tpcc
DEFAULT TABLESPACE TPCCTAB
TEMPORARY TABLESPACE TEMP
ACCOUNT UNLOCK;

GRANT CONNECT, DBA TO TPCC;

CREATE TABLESPACE TPCHTAB LOGGING DATAFILE
'C:\oracle\oradata\TPCHTAB0.DBF'
SIZE 128M AUTOEXTEND ON NEXT 2M MAXSIZE 4000M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8k;

CREATE USER TPCH
PROFILE DEFAULT
IDENTIFIED BY tpch
DEFAULT TABLESPACE TPCHTAB
TEMPORARY TABLESPACE TEMP
ACCOUNT UNLOCK;

GRANT CONNECT, DBA TO TPCH;

3) Edit Config.xml

Open C:\Program Files\hammerora-2.0\config.xml

1) Change the system_password

2) Change to instance

3) Change the connect_string for the Transaction Counter

4) Create schema objects
Start HammerOra.

Click the 3-box icon to create the schema.

This only needs to be done once.

5) Load a script and run it

Select TPC -> TPC-C -> TPC-C Driver Script

Select "Load virtual users" icon.
Virtual users will populate the middle pane.

Select "Run Hammerora Load test" icon.
The Virtual Users will start their work.

You can hit the "Transaction Counter" icon to get statistics on current transaction load.

If you want to look at resources used by the system, the hammerora process name is WISH84T . The Oracle process name is of course ORACLE.EXE .

Now what?

If you were able to successfully get 1 virtual user creating transactions, time to turn it up to 11. Or 111. Or 1111.

Stop the current test, select Virtual Users -> Vuser Options. Set the Number of Virtual Users to 100 or more and retry a test. Alternately you can modify the config.xml to set it up permanently.

My Impressions:

Overall I am very impressed by this tool.

Pros:
Open source.
Can create custom scripts to exercise the database using Oratcl.
Can create custom scripts using TclCurl. These can be used to test Web applications (GET, PUT, POST, etc).
Built-in scripts for TPC-C and TPC-H.
Possibility for master/slave configuration for load generation (not tested).
Cons:
Interface is a little cumbersome.
Permanent config done through manually editing XML file.
Documentation is sparse, could use a Quick Start guide for quickly getting up and running.

-- Dave

Comments

Hi Dave - Your post on hammerora was incredibly useful. Thanks for taking the time to put together the information. I did think however, that there were some small details that you left out (may have been obvious to those experienced with Oracle but confused me for some time):

1) It seems necessary to install hammerora inside the Oracle (OXE in my case) installation folders or set up an ORACLE_HOME environment variable. In my case having installed Oracle Express 10g under the C: drive my ORACLE_HOME environment variable needed to be set to "C:\oraclexe\app\oracle\product\10.2.0"

2) The target Oracle RAC instance needs to be correctly set up in the Oracle tnsnames.ora file.
3) The latest version of hammerora may not need the tablespace, user etc to be set up by hand, but if people do need to do it, then I think you need to update your 'Create Schema' section to include the tablespace creation for TPCC. You covered TPCH correctly I think

Let me know if you agree with these updates
Thanks, Saikat.

You are correct, I forgot the Create Tablespace statement so I added it to the original article above. Thank you for pointing that out.

I did not include the connectivity details because I was assuming most setups were already configured to connect (I used SQLPLUS to test before I installed HammerOra). I think I may add a "prerequisites" section though which addresses your points.

I recently downloaded the latest version of HammerOra and ran though this procedure again. They have added new features and have improved the documentation as well.

Add new comment