Search

OakieTags

Who's online

There are currently 0 users and 39 guests online.

Recent comments

Affiliations

SLOB awr_info.sh script

This is a very simple script to extract some helpful information from the awr reports generated from a SLOB run.
PREPARATION:
First, rename it to awr_info.sh and chmod it for execute permission:
$ mv awr_info.sh_.txt awr_info.sh
$ md5 awr_info.sh
MD5 (awr_info.sh) = 48c39d920a2c128899cff74901ceae1b

$ chmod +x awr_info.sh
 
USAGE:
By convention you should rename awr.txt after a run of runit.sh. It is best to rename to some arbitrary name that makes sense to you but have 2 dot-seperated suffixes to track the number of writer and reader sessions. For example:
$ sh ./runit.sh 0 32
$ mv awr.txt awr.txt.0.32
$ sh ./awr_info.sh awr.txt.0.32
FILE|WRITERS|READERS|PREADS|PWRITES|REDO|DFSR_LAT|DFPW_LAT|LFPW_LAT|TOP WAIT|
awr.txt.0.32|0 | 32|100817.2|7.6|3773.1|   289|     0|     0|db file sequential read 38,463,069 11,113 0 95.4 User I/O|

 
 

AttachmentSize
awr_info.sh_.txt1.23 KB

Understanding and Interpreting Deadlocks

This is my deadlocks presentation, first given at Hotsos 2006 in Dallas, TX.

AttachmentSize
Deadlocks_Hotsos_2006.zip868.98 KB

slb-the-silly-little-benchmark

 New SLB Kit
I’d like to point out a couple of things about the new SLB tar archive.

  1. The code has changed so results from this kit are not comparable to prior kits.
  2. The kit now performs 30 seconds of random memory reads followed by 30 seconds of random memory writes.
  3. The kit includes a wrapper script called runit.sh that runs SLB processes each with 512MB physical memory. The argument to runit.sh is a loop control of how many SLB processes to run upon each invocation of the benchmark.
  4. The kit includes a README that shows how to compile the kit and also offers further explanation of item #3 in this list.

 

AttachmentSize
SLB-NOV2010.tar_.gz5.68 KB

Database Deathmatch: Oracle vs. SQL Server

Recently I presented my new live demo pitting Oracle against SQL server under full load enduring a series of catastrophic ordeals.  These are my slides.  I will present it again at the Michigan Oak Table Symposium and Oracle Closed World in September. -Jeremiah

AttachmentSize
deathmatch.pdf2.12 MB

10053 Viewer

The attached file is a zip file containing the 10053 trace file viewer written by Hans-Peter Sloot of Atos Origin and Robert van der Erde.
 
Warning - when I uploaded the file as a .zip file it seemed to get corrupted, so I've added a .doc extension to the filename. When you download it you need to save it without the .doc extension before you try to unzip it.
 
 

AttachmentSize
new_treeview.zip.doc10.42 KB

RAC Synchonous Alert File Reader

So you have 3 alert files from your 3 node RAC and you are trying to see what happened in the cluster as a whole. The Rac Synchro Reader will let you view the alert files of all 3 nodes side by side, with the timestamps aligned. When you scroll one alert file the others will scroll to a matching timestamp.

Windows executable. Others have found it works with the Listener logfiles, too. Tested for alertfiles from version 9 and 10.

{------------------
  Read alert-log files from RAC from several instances.
  Scrolling will scroll the text synchronised by the timestamps

  Usage:
    Open at least two ordinary alert files (up to 8 supported)
    Use the scroll bar.
      The marked filewindow will scroll according to the scrollbar
      The other files will scroll trying to match the visible timestamp
    Using the scrollbar in a filewindow will scroll that file
      without the others moving.

  Version beta 0.4 - (under development)

  Usage features To Be Implemented
    MouseWheel scroll to work for main scroll bar.
      (Or enable/disable individual scroll (Shift?) )
    ?Specify a time offset +/- factor to each file's timestamps
    Find string

   Known bugs - or "Will work or crash or do funny things"
      A zero byte in text files (stops input)
(The bug wih the "nul"-byte occurs in some unix based alert files, so 
strip nul bytes when trasnferring to you window machine. It is a bother 
for me to fix as the file is parsed by a delphi library routine.)
      No matching time found at all. (scrolls to EOF on slaves.)
        Should be TOF/EOF appropiate to best timestamp fix
      ?Start scrolling action(s) before >=2 files loaded. (Block until ready?)
      ?small files, huge files (Huge: CPU processing! avoid reparse)
      Non-alert files (parse trace files?!)
  The current search implementation it is "Quick and VERY dirty and CPU waste"
  ----------- } 

This program was written in Delphi (v4) This is the first "proof of concept" version (thus the 0.x version) where it does a brute force scan of the input files every time anything is scrolled. With the large computing power of any laptop/desktop this was sufficient to get the job done (for alertfiles < 1Mb) and the fancy version with parsing and mainting index pointers and other optimizations never got written.

One of these days I'll make a Java version so the linux people can se it, too.

 

AttachmentSize
Rac_Syncro.zip171.14 KB

Sane SAN pdf

 In a world of SAN-based insanity, seek refuge in a few logical thoughts on how to regain predictable, measured performance, and simple maintenance of your SAN.

AttachmentSize
Sane_SAN_WP.pdf641.75 KB

A simple script for enchancing the functionality of dbms_stats to gather optimizer statistics.

 A simple script for enchancing the functionality of dbms_stats to gather optimizer statistics.

AttachmentSize
dbstat.rename9.68 KB

Translate hex into ascii

$ ascii.sh 5458 
T X 

ie in HEX, the string "TX" is 5458 

like wise you can pipe an Oracle Trace file with HEX dumps in it and get some interesting output 
$ cat ora_88008.trc | ascii.sh 
 
 

AttachmentSize
ascii.rename_to_sh2.81 KB