SLOB Sustained Throughput Test: Installing SLOB

slob ghostThis page is part of a process for running a sustained throughput test using Oracle SLOB. If you stumbled across this by accident, you can start at the beginning here.

Now that we have a database installed and ready to go, it’s time to install the SLOB toolkit itself. As a reminder, this is available from the author Kevin Closson via his SLOB landing page.

At the time of writing, the latest version is SLOB version 2, for which there is an additional patch. [Later versions now exist here] I have already downloaded the two files from their residing place on Syncplicity and am now ready to untar them:

[oracle@server4 ~]$ ls -l
total 1008
-rw-r--r-- 1 oracle oinstall 1024000 Jul 16 10:57 2013.05.05.slob2.tar
-rw-r--r-- 1 oracle oinstall    6569 Jul 16 10:57 SLOB2_patch_2014.03.11.tar.gz
[oracle@server4 ~]$ tar xf 2013.05.05.slob2.tar
[oracle@server4 ~]$ ls -l
total 1012
-rw-r--r-- 1 oracle oinstall 1024000 Jul 16 10:57 2013.05.05.slob2.tar
drwxr-xr-x 6 oracle oinstall    4096 May  5  2013 SLOB
-rw-r--r-- 1 oracle oinstall    6569 Jul 16 10:57 SLOB2_patch_2014.03.11.tar.gz
[oracle@server4 ~]$ cd SLOB
[oracle@server4 SLOB]$ tar zxf ../SLOB2_patch_2014.03.11.tar.gz
[oracle@server4 SLOB]$ ls -l
total 68
drwxr-xr-x 2 oracle oinstall  4096 May  4  2013 advanced_topics
drwxr-xr-x 2 oracle oinstall  4096 May  3  2013 awr
drwxr-xr-x 4 oracle oinstall  4096 May  5  2013 misc
-rwxr-xr-x 1 oracle oinstall  3353 Jan 13  2014 procedure.sql
-rw-r--r-- 1 oracle oinstall  1298 May  4  2013 README
-rwxr-xr-x 1 oracle oinstall   307 Mar 11 15:30 README.bundle.2014.03.11.txt
-rwxr-xr-x 1 oracle oinstall 12354 Jan 13  2014 runit.sh
-rwxr-xr-x 1 oracle oinstall  7555 May  4  2013 setup.sh
-rw-r--r-- 1 oracle oinstall  1155 May  2  2013 simple.ora
-rw-r--r-- 1 oracle oinstall   385 May  5  2013 slob.conf
-rwxr-xr-x 1 oracle oinstall  5600 Jan 13  2014 slob.sql
drwxr-xr-x 2 oracle oinstall  4096 May  4  2013 wait_kit

First we have to make the wait kit which is used to kick off all of the SLOB sessions at the same time during a run:

oracle@server4 SLOB]$ cd wait_kit/
[oracle@server4 wait_kit]$ make all
rm -fr *.o mywait trigger create_sem
cc     -c -o mywait.o mywait.c
cc -o mywait mywait.o
cc     -c -o trigger.o trigger.c
cc -o trigger trigger.o
cc     -c -o create_sem.o create_sem.c
cc -o create_sem create_sem.o
cp mywait trigger create_sem ../
rm -fr *.o
[oracle@server4 wait_kit]$ cd ..

Next we need to edit the slob.conf file to use the parameters I listed on the first page. I’ll re-list them here just for good measure:

UPDATE_PCT=25
RUN_TIME=28800
WORK_LOOP=0
SCALE=1398101
WORK_UNIT=3
REDO_STRESS=LITE
LOAD_PARALLEL_DEGREE=16
SHARED_DATA_MODULUS=0

The parameter LOAD_PARALLEL_DEGREE will have an affect on the time taken to load the SLOB schema with data, so set it based on the number of cores and threads you have available. My server is has two Intel Xeon E5-2470 eight-core processors with HyperThreading enabled, which means it’s a 2s16c32t machine, so I’m going to set it to 16. Be careful though, because if the PROCESSES parameter is too low, this will cause the setup script to fail. Read more about how to set the LOAD_PARALLEL_DEGREE parameter here.

We can now run the setup.sh script to create the SLOB data. You might want to temporarily increase the size of the database buffer cache before running this, to speed up the time taken to run setup.sh – but don’t forget to reset it back to 1GB afterwards.

[oracle@server4 SLOB]$ nohup ./setup.sh IOPS 96 > setup.log 2>&1 &
[1] 18105
[oracle@server4 SLOB]$ tail -100f setup.log
nohup: ignoring input

NOTIFY: Load Parameters (slob.conf):

LOAD_PARALLEL_DEGREE == 32
SCALE == 1398101
ADMIN_SQLNET_SERVICE == ""
CONNECT_STRING == "/ as sysdba"
NON_ADMIN_CONNECT_STRING ==

NOTIFY: Testing connectivity to the instance to validate slob.conf settings.
NOTIFY: ./setup.sh: Successful test connection: "sqlplus -L / as sysdba"

NOTIFY: Creating and loading seed table.

Table created.

PL/SQL procedure successfully completed.

NOTIFY: Seed table loading procedure has exited.
NOTIFY: Setting up user   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32
NOTIFY: Waiting for background processes - Wed Jul 16 17:18:05 BST 2014
NOTIFY: Setting up user   33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64
NOTIFY: Waiting for background processes - Wed Jul 16 17:26:57 BST 2014
NOTIFY: Setting up user   65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96
NOTIFY: Waiting for background processes - Wed Jul 16 17:35:33 BST 2014

Table dropped.

NOTIFY: ./setup.sh: Loading procedure complete (1709 seconds). Please check ./cr_tab_and_load.out for any errors

Running the setup.sh script creates a lot of data, so if you have capable storage you are liable to see rather a lot of bandwidth being used: slob-setup-io-generation At this point it’s important to check the cr_tab_and_load.out file for errors:

[oracle@server4 SLOB]$ grep ORA cr_tab_and_load.out

Looks like everything went ok. Finally – and I always forget to do this the first time round – you need to run the procedure.sql file which comes with the patch:

[oracle@server4 SLOB]$ sqlplus user1/user1 @procedure
SQL*Plus: Release 11.2.0.4.0 Production on Wed Jul 16 17:51:26 2014
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

Procedure created.

If you increased the buffer cache during the run of setup.sh then at this point you need to set it back to 1GB. I also recommend disabling the resource manager at this point, which you can easily do using the script in the misc directory:

[oracle@server4 SLOB]$ sqlplus / as sysdba @misc/dis_resmgr

That’s it. SLOB is now ready for the tests to begin.

Next page: Running SLOB

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s