Oracle
Removing "Rogue" Expensive Oracle Options After Upgrading to 10.2.0.x.
· โ˜• 1 min read
Install 10.2.0.1 - the base release - of Oracle and deselect the various Enterprise Edition Options - these cost money and we don’t like that, especially if we don’t use them. Patching to 10.2.0.5 (in my installation - it could be different with previous versions) silently adds OLAP, Data Mining etc back into the mix. Not good - especially if/when Oracle decide to audit your licenses. You pay for what you install whether used or not.

Norm's Law of Computing
· โ˜• 1 min read
Software efficiency halves every 18 months thus compensating for Moore’s Law. Cheers.

A Day in London with Cary Millsap
· โ˜• 3 min read
Yesterday I had the pleasure of a day trip to London to attend the Mastering Oracle Trace Data session with Cary Millsap. The day got off to a great start as I arrived at the railway station in Leeds very early to find my train waiting for me at the platform. Excellent! I got on and 20 minutes before departure time, we headed on out of Leeds for London. WTF? The announcement that this was the 06:40 to London Kings Cross and not the 07:00 cleared things up a little.

Jonathan Lewis Has A New Book Coming Soon ....
· โ˜• 1 min read
Great news! (At least for us Oracle types anyway.) Jonathan Lewis has a new book coming out. The working title appears to be “A look at the internal mechanics of the important bits of Oracle for people who arenโ€™t planning to become rocket scientists but who do want to do a little more than just push buttons in OEM” but this will probably change by November when it is due to be published, all going well.

This Page Intentionally Left Blank ...
· โ˜• 1 min read
Except, it’s not! WTF is it all about? You open a report, or a book and see a page with no text on it except this page intentionally left blank. Except, because of that bit of text, it’s no longer blank is it? So why do they bother? Does the author/publisher think we readers are too stupid to realise that a page is blank without being told? Is it because they think we might assume that somehow, the printing process has mysteriously failed for that one page in particular and we may be missing some highly important information?

How To Extract Details From /etc/oratab on Linux
· โ˜• 1 min read
Ever wanted to parse /etc/oratab but ignore all the comments and blank lines? So did I. Here’s how … I can’t claim all the credit for this, it is based on something I was doing plus a bit of “stolen” code from SLES. 1 2 3 4 5 6 7 8 9 OLDIFS=$IFS IFS=: grep -v '^\(#\|$\)' /etc/oratab |\ while read ORASID ORAHOME AUTOSTART do ## Do what you like here with ## $ORASID, $ORAHOME and $AUTOSTART ## done IFS=$OLDIFS Cheers,

Wondering Why The Oracle Databases Won't Start With A SLES Reboot?
· โ˜• 1 min read
Me too. Took ages to hit the “duh” moment, then it became pretty obvious! The file /etc/init.d/oracle also known as rcoracle to root users can be used to do a number of things such as starting the databases, starting the (default LISTENER) listener, CRS etc but, as I eventually found out, you have to configure it to do so! The configuration file is /etc/sysconfig/oracle. Most of the options are defaulted to off, except for the setting of kernel parameters (SET_ORACLE_KERNEL_PARAMETERS="yes") which is very useful.

Does Your Windows Oracle Database Stay Down After A Server Reboot?
· โ˜• 3 min read
After a server reboot, your (windows) database stays down, even though you have it set to come up automatically - why? The services have started, just not the database. The following is a clue: 1 sqlplus "/ as sysdba" 1 2 3 4 5 SQL*Plus: Release 10.2.0.3.0 - Production on Tue Jun 21 07:29:08 2011 Copyright (c) 1982, 2006, Oracle. All Rights Reserved. ERROR: ORA-01031: insufficient privileges You now have two options to check, and both must be confirmed:

ExecutingPackaged Code Over a Database Link
· โ˜• 1 min read
Ever wondered how you can call a packaged procedure (or function) which resides at the far end of a database link? Wonder no more! 1 2 3 begin package_name.Procedure_name@db_link_name(parameter, parameter, ...); end; Calling a function is just as easy: 1 2 3 4 declare vResult number(10); begin vResult := package_name.Function_name@db_link_name(parameter, parameter, ...); end; Unfortunately, you don’t appear to be able to do this sort of thing via a synonym: 1 2 3 4 5 create or replace synonym X for package_name@db_link_name; begin X.

Oracle Change The Patching Process From 11.2.0.2
· โ˜• 1 min read
Oracle have made subtle changes to the way that they advise you to patch an installation from the release of 11.2.0.2. The full gory details can be found here (My Oracle Support link - support contract required) but in brief: You are now advised to perform an out-of-line patch, however, you can do an in-line patch if you are short of space. However, this will delete the existing installation. Beware & take copious backups!

My Oracle Scripting Standards
· โ˜• 4 min read
Subject to unannounced changes of course, but … All supplied scripts will be QA’d to ensure adherence to the following standards. Any script that fails on one or more of the following rules will not be applied to any system. Instead it will be returned to the vendor for correction. All vendor or internally supplied scripts must be able to be run - without error - in SQL*Plus. We need this as a standard because of all the wonderful GUI tools out there in vendor land, Toad etc are fine - if you can guarantee that the person running the script has the same tool.