celebrity watch

Yesterday, my son took part in a junior tennis tournament. As I watched the competitive matches in progress, there was a lot of fist pumping, grunts, muttered expletives, muted swearing, loud groans and self flagellation. And that was just the parents. Most of the kids were just enjoying the tennis. I often wonder how many of these parents were living out their dreams through their offspring. Both of my children have already achieved more in competitive sport than I ever did so I am immensely proud of them and just try to support them in everything they do - win, lose or draw. ...

October 25, 2006

custom Oracle search engine

Google Co-op is a customisable Google search engine and I just created a personalised, custom search for Oracle that scours AskTom, Jonathan Lewis’ site and www.oracle.com (including TechNet). This targetted search is useful and will undoubtedly save me time. However, I was unable to get any results from ‘tahiti.oracle.com’ (Oracle documentation set) which is normally my first port of call. Also, I assume Metalink is similarly off limits (account required).

October 25, 2006

new dawn fades

‘A change of speed, a change of style A change of scene, with no regrets ' I simply couldn’t take any more so I reluctantly handed in my resignation yesterday. I have moved my blog to another cheap hosting provider, Bluehost. If this ends in tears, then I swear I am reverting to hosted WordPress. As Steve Redgrave once said ‘If you ever see me signing up with another cheap hosting provider, shoot me !’ ...

October 24, 2006

a picture

…is worth a thousand words, particularly when annotated.

October 24, 2006

the never ending quest for the truth

Modern versions of Siebel use the Cost Based Optimizer (CBO) so the strategy used for gathering (and refreshing) statistics and histograms becomes increasingly important. Sometimes, the strategy can be articulated by the Oracle DBA or may even be documented or SQL scripts may be supplied that define the strategy. Normally, however, the definitive version of the truth lies in the data dictionary. SQL> exec dbms_stats.gather_table_stats(ownname=>user,tabname=>'PERSON',cascade=>TRUE, method_opt=>'FOR ALL COLUMNS SIZE AUTO'); SQL> select column_name, to_char(last_analyzed, 'mm/dd/yyyy hh24:mi:ss') as last_analyzed, num_nulls, global_stats, user_stats from user_tab_col_statistics where table_name='PERSON' and column_name = 'SALARY'; COLUMN_NAME LAST_ANALYZED NUM_NULLS GLOBAL USER SALARY 10/23/2006 14:55:15 0 YES NO SQL> exec dbms_stats.set_column_stats(ownname=>user,tabname=>'PERSON',colname=>'SALARY', nullcnt=>1000000); SQL> / COLUMN_NAME LAST_ANALYZED NUM_NULLS GLOBAL USER SALARY 10/23/2006 14:55:18 1000000 YES YES So when trying to answer to question: ‘Have you ever had cause to manually populate column statistics ?’, although the Oracle DBA is your friend, the USER_STATS column in the DBA_TAB_COL_STATISTICS view is your best friend.

October 23, 2006