The topic of Oracle Performance, or should I put it more correctly – application design leading to performance – has been my focus point through most of my career. I have been an employee of Oracle Corporation for more than 25 years, and I still enjoy my business life there, where I am part of the Real World Performance team. My approach – and that of the RWP team – to trouble shooting is really quite simple: Start at the top, then go down to the real root cause using scientific analysis. Once the root cause is known, you can work your way back up to see what changes might be required. So put shortly: Via science to wisdom; per scientiam ad sapientiam. And do see my coat of arms! I don’t do freelance consulting – if you think you require my assistance, please get hold of me via your official Oracle contacts.
The RWP*Load Simulator
Part of the work I do for Oracle is to measure database performance with all sorts of workloads. To ease that, I have created the “RWP*Load Simulator“, which is available as open source for anybody to use. You probably already know SQL*Plus, which has lots of features for executing and creating reports, but lack the ability to be programmed. You will also know PL/SQL which exactly is a programming language combined with SQL, and therefore is idea for database centric application programming, but does not exist on the client side. If you ever did anything on Linux or UNIX, you will also have been using the shell such as /bin/bash as a programming tool, which however doesn’t execute SQL. One way to think of rwloadsim is exactly that it fills this void. If you think of a bit of bash and SQL, a dose of PL/SQL, a nip of C or Java, a fragment of Oracle Call Interface, a dash of awk, a grain of sed plus a few drops of secret sauce and put it all into one tool, you will have an idea about what rwloadsim is. In its core, it is a programming language that takes a bit of each of these known tools and programming languages and integrates them into one. Without writing much more code than some SQL statements combined with procedural language that implements your business logic simulation, you can experiment with things like different types of connection methods, pooling, cursor handling, parameters, and much more. Additionally, you can use rwloadsim for various sorts of scripting closely integrated with the Oracle database as it nicely fills the somewhat void space between the shell such as bash, sqlplus, and tedious programming in Java or C. Another way to look at is it to say it allows you to write database centric code without writing a line of Java or C. This is all free and you can get it at github.com/oracle/rwloadsim where you will find both sources and pre-compiled binaries for Linux and Solaris. A users guide is available online and reference manual comes with the download.