Craig Shallahamer is now blogging!

Craig Shallahamer is now blogging… check out his initial post here!

Earlier I had a few mail exchanges with him and got to check his new work.. called the Stress Identifier. Hmm.. so how it will be helpful? Well if you have already characterized your workload, you may want to definitively determine which internal database activity is stressing your CPU, IO, and network subsystems. So this tool will avoid the guess work of selecting that “unit of work”… check out the link for more details…

And most of all.. grab a copy of his new book Oracle Performance Firefighting (more...)

Workload characterization using DBA_HIST tables and kSar

Been busy these past few days..

Well, this post is about taking advantage of the built in data store that started in 10gR1.. yeah it’s AWR, and it’s very much like a “Statspack on steroids” (got that from Kyle Hailey’s modules). What’s exciting about 10g and above is we could utilize the “Time Model” and the OSSTAT view and use them together with the SYSTAT view to have a far better workload information when going through all the SNAP_IDs.

I have this “little” issue before of getting lazy when generating multiple AWR reports… yeah it’s just so daunting, you’ll get (more...)

50+ SQL Performance Optimization scenarios

Before the year ends I’d like to share some good stuff…

I have never seen a huge compilation of SQL tuning tips or rewrite scenarios (with test cases) and got them only on OracleFans forum… ooops… so you can’t read Chinese? try this translated version, whew.. good thing Google has this translate service that I am able to read in Chinese.. :)

So how did I end up on this forum? mm… I can’t really remember… I’m a curious wayward Googler, either I was having problems on a particular SQL on a client or I’m getting really curious about SQL (more...)

RAC system load testing and test plan

Yesterday I was browsing through some docs in Metalink regarding RAC on Windows… then again came across the “RAC Starter Kit and Best Practices” notes…

RAC Assurance Support Team: RAC Starter Kit and Best Practices (Generic) (Doc ID 810394.1)
RAC Assurance Support Team: RAC Starter Kit and Best Practices (Windows) (Doc ID 811271.1)

On the Generic note, just recently they’ve uploaded a new version of the RAC System Load Testing white paper… you can also find on the attached docs the RAC System Test Plan

Both of these docs are good stuff.. we all know that critical (more...)

RHEV (Red Hat Enterprise Virtualization) is out!!! :)

The company I work for, SQL*Wizard,  is a RedHat Advanced Business Partner so I was lucky to get my hands dirty on the BETA release of RHEV, also a pleasure to work with Siva Shunmugam (Sr. Solutions Architect@RedHat & RHCA). I must say, KVM is so fast… plus the RHEV manager is so cool as a management platform :)

Soon I’ll have some Virtualization related posts about my experiences RHEV-iiinnggg…..


You may also want to download the RedHat whitepaper on Scaling Oracle Database on RHEV:
Scaling Oracle 10g in a Red Hat® Enterprise Virtualization Environment – RedHat Reference Architecture Series


Knowing the trend of Deadlock occurrences from the Alert Log

Recently, my client deployed a new application and had this intermittent “Deadlock Storm” …

A trace file was sent and I was able to pinpoint the cause of the deadlock and the session that caused it.
The deadlock was a TX enqueue with mode of 4 (S – share) which could be verified by looking at the following lines of the Process State dump:

   last wait for 'enq: TX - row lock contention' blocking sess=0x 7000000cb239d60 seq=7849 wait_time=2929705 seconds since wait started=3
            name|mode=54580004, usn<<16 | slot=a0028, sequence=283f2

the “enqueue and lock mode” is explained as:
mode=54580004 (see above)
5458 (hex) (more...)

Lucky to find it…

Earlier this month I was able to bought the book “Sun Performance and Tuning: Java and the Internet (2nd Edition)” for only 190pesos at some bookstore :)


Amazon sells it for 2400pesos.. ;)

It’s a pretty old book and was published around 1995-1996 but the content is still interesting. This led me to research more on the author and all of his work. Well hey! This guy is a recipient of the Michelson Award by Computer Measurement Group (CMG) I strongly suggest you subscribe to the monthly MeasureIT publication.. lots of good stuff on performance. The name of the mystery guy is (more...)

Diagnosing and Resolving “gc block lost”

Last week, one of our clients had a sudden slow down on all of their applications which is running on two node RAC environment

Below is the summary of the setup:
- Server and Storage: SunFire X4200 with LUNs on EMC CX300
- OS: RHEL 4.3 ES
- Oracle (database and clusterware)
- Database Files, Flash Recovery Area, OCR, and Voting disk are located on OCFS2 filesystems
- Application: Forms and Reports (6i and also lower)

As per the DBA, the workload on the database was normal and there were no changes on the RAC (more...)

Yast on OEL

Lately I’ve been playing with Enterprise Manager Grid Control on OEL 4.4 (I’ll upgrade this to soon) and I’ve had a couple of product presentation and demo focusing on the Database Enterprise Management, well among all the packs under this Grid Control “Area” the hottest are the Configuration Management and Data Masking.

…While clicking around the huge monitoring tool I’ve reached the page of “Targets -> Hosts -> Administration”…that happens to be part of the Oracle Management Pack for Linux and noticed it was not working and says it needs the (more...)

Understanding the SCN

For the DBAs who want to have a refreser on SCN (system change number), this article article is very nice and explained clearly written by Sandeep Makol. It started on where you ‘ll find info for SCN (controlfile and datafile headers) then goes to the backup and recovery scenarios where knowledge of this “magic number” is very useful.

Below are some useful scripts (with sample output) as well

-- get specific datafile
col name format a50
select 'controlfile' "SCN location",'SYSTEM checkpoint' name,checkpoint_change#
from v$database
select 'file in controlfile',name,checkpoint_change#
from v$datafile where lower(name) like '%&&datafile%'
select 'file header',name,checkpoint_change#
from  (more...)

Advanced Oracle Troubleshooting by Tanel Poder in Singapore

When I first saw that Tanel will conduct his seminar in Singapore, I told myself that I would even spend my own money just to be on that training! I’ve already read performance books like Optimizing Oracle Performance, Oracle 8i Internal Services, Forecasting Oracle Performance… And after that I still want more, and I still have questions that need to be answered. Well, if you’re on a tight budget you just opt to download some more docs/books to do multiple reads coupled with research/test cases and also reading through others blog…
But thanks to my boss for the funding, I (more...)

OS Thread Startup

Recently I encountered a performance problem scenario where a simple sqlplus “/ as sysdba” took about 2minutes to finish, this is critical to the client’s business because they have a local C program that loads Call Detail Reports on the database making use of local authentication for most of its operations and Sql*Loader to load the data, so this “2minutes of waiting” when accumulated greatly consumes significant time on their operations and greatly impacts the business.

When I arrived on the client I first checked the alert logs of both ASM (they have a separate home for ASM) and RDBMS, (more...)

Single Instance and RAC Kernel/OS upgrade

This document will serve as a guide for the Kernel and OS upgrade activities for

  1. Single Instance on ASM using raw devices
  2. RAC with ASM (using ASMlib) and OCFS2

Upgrading the Kernel and OS is easy and will just need some few commands. The critical part is the dependencies once the Kernel gets updated, so if you’re using ASMlib and OCFS2 you’ll notice that after the upgrade they’re not working anymore… you can’t startup the ASM, then if your OCR and Voting Disk are on OCFS2 the CRS stack wont start all because the RPMs of ASMlib and OCFS2 are (more...)

Security, Forecasting Oracle Performance and Some stuff to post… soon…

I’ve been busy this February “playing around/studying” on the following:

1) Oracle Security products (Advance Security Option, Database Vault, Audit Vault, Data Masking, etc. etc.). Well, every organization must guard their digital assets against any threat (external/internal) because once compromised it could lead to negative publicity, lost revenue, litigation, lost of trust.. and the list goes on.. I’m telling you, Oracle has a lot to offer (breadth of products and features, some of them (more...)

Migrate from Windows XP 64bit to Ubuntu Intrepid Ibex 8.10 64bit

I’ve been using the newest and the greatest version of Ubuntu (Intrepid 8.10) for almost a month now and I’m happy with it :) Finally I’m using a Linux OS, and not even dual booting.. I’m an RHCT who’s aiming to be an RHCE by this first quarter of 2009.. So why not CentOS 5? Or other Linux distros?

Below are some of my opinions about it:

  • Ubuntu has a vast hardware support which (more...)

Oracle-Validated RPM on OEL 4.5

This is officially my first post on this blog.. finally after weeks of procrastination ..So here it goes..

Last August 29, 2008 on one of the RSS feeds of OTN TechBlog Sergio Leunissen posted a blog about Oracle Validated being available outside ULN which is very nice to hear.. then after 2 months (October), Alejandro Vargas posted a blog on how to do the Oracle-Validated installation on OEL5..

which then made me want to try (more...)