Downloads

Windows Software

These applications are explained in more detail from the Products menu.

 

Windows Software
SpeedQuel My Oracle development and support tool. Check out my products page for more details.
LittleThought A grandmaster strength chess engine. Check out my products page for more details.
LittleBlitzer A GUI for rapid testing of multiple chess engines. Check out my products page for more details.

 

Database Scripts

These are a selection of the scripts useful for day to day database and system administration. NOTE this section is being updated regularly and not currently included in the RSS feed. Check back for new/changed scripts!

 

PostgreSQL - Shell Scripts

Each shell script contains comments on how to use it, in some cases I have also written a blog entry about it. All scripts were written for the bash shell under Redhat linux.

compact_table.sh Used to defragment a table without locking it (unlike a VACUUM FULL). Based on script from depesz but tuned to run much faster. See this blog post describing its usage.
db_setparm.sh Set a PostgreSQL database parameter in the postgresql.conf file and call pg_ctl to reload it. See this blog post describing its usage.
db_settings.sh List the most commonly used/changed settings in the cluster. Does not show any database specific settings which may override the cluster level settings.
db_analyze.sh Runs an ANALYZE on every table in a database or schema making use of parallel processing at a table level to improve performance for large databases. See this blog post describing its usage.
db_archive_log.sh Designed to be called directly by PostgreSQL via the archive_command parameter. It checks to see if archiving has been disabled and if not, copies the file. If the copy fails, an alert will be raised (uses alert.sh script below).
kill_old_queries.sh Looks for long running queries by specific users and kills them automatically. Also raises alerts via the alert.sh script below. See this blog post describing its usage.
mon_disks.sh Monitor the size of the OS file systems, log it into the repository and alert if the usage threshold is breached.
mon_size.sh Monitor the size of all databases and tablespaces and log itinto the repository.
mon_tables.sh Monitor the size of all tables and indexes in a database and log it into the repository.
PostgreSQL - SQL Scripts

These scripts contain SQL queries designed to be called directly from psql using the -f on command line or \i from the prompt, e.g.:

psql -f db_size

postgres=# \i db_size

db_size Lists all databases in the cluster and their sizes on disk.
locks.sql Shows all sessions involved in blocking locks. Links the holders and waiters to easily find the cause of the locks in a busy system.
schema Lists all schemas, tables and columns in the current database. For each column it will show the data types and foreign key references where they exist.
schema_size Lists all schemas in the current database and their sizes on disk.
stats Summarises how many tables in each schema of the current database have stats collected, and how many are missing stats. Described in this blog post.
tb_size Lists all tablespaces in the cluster and their sizes on disk.
tid Shows the current transaction IDs and how close each database is to the transaction wrap-around limit.
top10 Lists the 10 biggest objects in the current database.
Oracle Scripts
Monitoring.wks This is my main workspace for SpeedQuel. It contains 43 tabs covering every query imaginable for an Oracle database 9i to 11g, including:
  • Running queries, slow operations, locks, parallel slaves, session information
  • Waits, statistics, AWR, ASH, SQL profiles
  • Tablespaces, files, extents, indexes, disk I/O stats
  • RMAN, flashback, ASM
  • Temporary/undo/redo usage, latches/mutexes, SGA/PGA, RAC, services
  • Parameters, security, tracing
   
Helper Scripts
alert.sh Sends a HTML formatted email. Used by many of my shell scripts to raise alerts to the support team.