Here I am again – in the BA lounge at Heathrow waiting for a plane. Take-off is in 45 minutes, and I land in Dallas at 14:40 local time after nine or ten hours of flying time. The movie selection looks good this month, so I don’t think I’ll need to worry about the entertainment.
If you see me aroundt the Omni over the next few days, feel free to come up and say hello – despite any rumours to the contrary I am an ordinary human being and you won’t get struck by lightning if you get too close. (I also tend to head for bed early in the US, so don’t assume that I’ll be around the bars or restaurants later in the evening – but I might be in the gym around 5:00 am)
Looking forward to seeing you.
Here’s a quirky little detail that may make you think carefully about how you define and load large tables.
I have a large table which I load with data and then apply the following:
alter table t_15400 modify (id not null, small_vc not null);
Would you really expect to find Oracle doing two tablescans on the table to enable these constraints ? This is what I found in a trace file (with a lot of db file scattered read waits and other stuff in between) when I ran the test recently on 188.8.131.52:
select /*+ all_rows ordered */ A.rowid, :1, :2, :3 from "SYS"."T_15400" A where( "ID" is null) select /*+ all_rows ordered */ A.rowid, :1, :2, :3 from "SYS"."T_15400" A where( "SMALL_VC" is null)
It’s just a little difficult to come up with a good reason for this approach, rather than a single statement that validates both constaints at once.
Information for members of the UKOUG:
A little while ago, the UKOUG re-organised its management to split board of directors into a board and a council. The board is responsible solely for handling the company side of the UKOUG while the council focuses solely on the services that the user group supplies to members.
Elections for seats on the council will be starting next week (27th Feb) and I have put forward a nomination in my own name. This includes a description of my involvement with Oracle and the user group, and a description of what I could offer to the user group. The nomination also include a manifesto, which I have reproduced below.
A while ago I said that I’d be posting a product review here. Unfortunately work got in the way of me posting the review as quickly as I would have liked. The nice people at Ucertify sent me a review kit for the OCA Oracle Database 11g: Administration 1 exam. I very much like the [...]
San Antonio is the site for Kscope12. I had a chance to visit the site of Kscope12 at the JW Marriott Hill Country in San Antonio. I thought the conference committee must have been exaggerating but this is truly a huge, beautiful place. We’re reserving an extra room the weekend before so that some of my family can join us in reveling in the water park, golf course, and nature preserve. Of course, the conference will be outstanding but this venue is so cool you might find it tempting to “play hooky” and miss a few sessions!
There is more and more happening in the world of visualization and visualizing Oracle performance specifically with v$active_session_history.
Of these visualizations, the one pushing the envelope the most is Marcin Przepiorowski. Marcin is responsible for writing S-ASH , ie Simulated ASH versions 2.1,2.2 and 2.3. See
Here are some examples of what I have seen happening out there in the web with these visualizations grouped by the visualization tool.
I’d be grateful if anyone who is responsible for Oracle database backups could take a quick (3 question) survey on their use or otherwise of the Fast (Flash) Recovery Area feature. http://www.surveymonkey.com/s/J93L7WT All responses are anonymous.
Database is getting high waits on buffer busy waits. Here is an example period where 5 sessions are completely blocked on buffer busy waits for 4 minutes:
select to_char(min(sample_time),'HH24:MI') maxst, to_char(max(sample_time),'HH24:MI') minst, count(*), session_id, ash.p1, ash.p2, ash.SQL_ID, blocking_session bsid from DBA_HIST_ACTIVE_SESS_HISTORY ash where event='buffer busy waits' and session_state='WAITING' group by session_id ,sql_id ,blocking_session ,ash.p1 ,ash.p2 Order by 1 /
Def v_secs=3600 -- bucket size Def v_days=1 -- total time analyze Def v_bars=5 -- size of one AAS in characters Def v_graph=80 col aveact format 999.99 col graph format a80 col fpct format 9.99 col spct format 9.99 col tpct format 9.99 col aas format 9.99 col pct1 format 999 col pct2 format 999 col first format a15 col second format a15 Def p_value=4 select to_char(start_time,'DD HH24:MI'), --samples, --total, --waits, --cpu, (total/&v_secs) aas, --round(fpct * (total/&v_secs),2) aas1, fpct*100 pct1, decode(fpct,null,null,first) first, --round(spct * (total/&v_s
OK, so wordpress got hacked. I’ve had problems with this in the past and tried tactical surgery, but this time decided to do a full re-install. My first attempt today left me with the wordpress blank screen of death, so here I’m outlining the steps I took that finally got the new version working: