This blog contains experience gained over the years of implementing (and de-implementing) large scale IT applications/software.

Oracle vs SQL Server – I like it!

I found this today https://www.oaktable.net/sites/default/files/deathmatch.pdf
It shows a good comparison of basic syntactical differences in SQL Server and Oracle when looking to compare performance / features.
I especially like the use of blockrecover in RMAN towards the end.  Nice.

Just take a look at the tags for it’s hosting blog page and it’s obvious which one will win without even reading the slide.

Use of Oracle AWR / ASH leading to bad coding?

I had a brief email exchange with another Oracle guru the other day.
He suggested that the quality of Oracle coding in PL*SQL and Plain Jane (www.medicaltextbooksrevealed.com/blog/2010/02/plain-jane/) SQL had gone down hill.

This could be attributed to two factors:
1, The level of coding experience has dropped.  Older more experienced coders have filled into the new architect roles and the void is being filled quickly by newer in-experienced coders.
2, The rigour with which debugging, testing and tuning is performed has become somewhat lax (www.thefreedictionary.com/lax ) because there’s just no emphasis on the developers to tune their code when the DBA has such great tools to do it for them.

Is it possible that the use of the additionally licensed tools such as AWR (Automatic Workload Repository) and ASH (Active Session History) introduced in Oracle 10g, have provided an easy mechanism for DBAs to seek out better performance.
I don’t think these tools are just for DBAs, but the way they are marketed makes me feel they are pushed that way.

Running Oracle (Windows vs UNIX/Linux)

For most of my IT career I’ve been using UNIX/Linux (let’s call this ULix to save my fingers) to run Oracle.
Humans are creatures of habit (like cats https://www.simonscat.com/) and so why would I want to change this.
Running Oracle on ULix is a measured quantity.  It works, it’s reliable, you can tune it and then you can really tune it.

Whilst browsing my book library I came across a book I’ve had for years:
Configuring & Tuning Databases on the Solaris Platform” by Allan N. Packer
If you have ever wondered what the possibilities are in tuning an Oracle system on ULix, then read this book.  It might be old, but it’s a good one, and it establishes all the basic principles of tuning.

Now if we were to consider running Oracle on Windows (https://www.dba-oracle.com/art_builder_linux_oracle.htm), then out-of-the-box (https://www.ukrapmusic.com/mixtapes/717-rootz-sparka-presents-out-of-the-box) it would work perfectly fine.

Microsoft have made vast improvements to the monitoring/tuning capabilities in newer Windows Server versions, but I don’t think this can compare to the flexibility of monitoring/tuning in ULix.
I find it very difficult to profile a database on Windows.
Think about it, where can I see the individual shadow processes (https://cavyspirit.deviantart.com/art/Don-t-Mess-with-Shadow-Process-194711067) at the OS level?

On Tanel Poder’s company’s website, there’s a great whitepaper “Understanding LGWR, Log File Sync Waits and Commit Performance”.
In this whitepaper, Tanel mentions monitoring and tuning the Oracle log writer (LGWR) process to get better CPU time.  I thought to myself, how would someone do this on Windows?

I really don’t think you can.
To summarise: I like Windows, it can run Oracle RDBMS perfectly fine, but it’s not as flexible as running on ULix.