Skip to content

RWP*Load Simulator - your tool for scripting, simulation and much more. Like having a bit of bash and SQL, a nip of C or Java, a dash of awk, a grain of sed plus drops of secret sauce in one single tool. See https://blogs.oracle.com/database/rwploadsim-oracle-db-performance-simluator for the announcement on the Oracle database blog.

License

Notifications You must be signed in to change notification settings

finddbbug/rwloadsim

 
 

Repository files navigation

RWP*Load Simulator

This is the RWP*Load Simulator - a tool that can be used for several purposes:

  • Simulate a workload using an Oracle database
  • Write shell scripts that are closely integrated with Oracle SQL

Please see the docs directory for Users' Guide; the reference manual is available after installation using rwlman and from https://oracle.github.io/rwloadsim/refman/

News

Release 3.0 includes these major new features:

  • SQL declaration no longer needs explicit bind and/or define, as bind variables and select list elements can be implicitly matched to declared variables.
  • The separate declaration and subsequent execution of SQL is no longer needed.
  • Formatting of output using printf.
  • You can generate a single executable with an included rwl script.
  • New syntax for file open for read, append or pipe (added in 3.0.3)

In addition, there are several minor update, a number of bug fixes and updates to the standard oltp workload as shown in CHANGELOG.md.

Note that there is an update to the repository in 3.0.4 and that you must apply the rwl304.sql script before using the new version. See docs/INSTALL.md for details.

Branches

The branches that should be used by ordinary users are named after the release, e.g. 3.0.3. The master branch is always the development branch and may as such contain intermediate code. You should normally not clone or checkout the master branch unless you are developing the rwloadsim code or always want the latest. If you use the master branch, you must do compilation yourself; no binaries are released.

At present, branch 3.0.5 is the release branch.

Please see CHANGELOG.md for details.

Using a binary distribution

Using a binary distribution is simple as all it requires is an Oracle Client environment and access to one (or more) databases. Please see docs/INSTALL.md for details.

Getting started

The suggested documentation for getting started is the first two chapters of the users manual available at docs/index.md. To get quickly started with some of the rwloadsim basics, a good starting point is at docs/WORKING.md. The demo directory contains all files mentioned there.

Building rwloadsim from sources

Please see BUILDING.md

Documentation

The users guide is found in docs and is distributed into a number of .md files. You should start with docs/index.md which has a very brief introduction and links to all files of the users guide.

The reference guide is created as manual pages that are found in man/man1rwl. The shell script rwlman, that will be copied to the bin directory when you run make is the documented way to read these manual pages. Simply start by typing rwlman.

Included workload

Both the binary and source distributions include a complete oltp workload.
Please see docs/OLTP.md for details.

Next steps in evolving rwloadsim

What would you like to see in upcoming releases of rwloadsim? Some ideas that I have myself are:

  • Add a "date" data type that can be used similarly to dates in SQL and PL/SQL
  • Add "raw" and "blob" data types together with support for binary files
  • Add input of hexadecimal (and octal) plus binary operators such as <<, >>, &, |

Please contact me with suggestions and ideas. You are also welcome to contribute.

About

RWP*Load Simulator - your tool for scripting, simulation and much more. Like having a bit of bash and SQL, a nip of C or Java, a dash of awk, a grain of sed plus drops of secret sauce in one single tool. See https://blogs.oracle.com/database/rwploadsim-oracle-db-performance-simluator for the announcement on the Oracle database blog.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 67.1%
  • Yacc 15.3%
  • Shell 9.9%
  • Lex 5.9%
  • Vim Script 0.9%
  • Awk 0.5%
  • PLSQL 0.4%