Oracle Notepad vi
 
Home

Community
Events
Training
Evening Workshops

Resources
Library
How Can I?
Code Samples
Presentations
Links
Book Reviews
Downloads
User Groups
Humor


General
Contact
About
Services
Legal Notice & Terms of Use
Privacy Statement
Thursday, Jan 19, 2012
We, here at Morgan's Library, are dedicated to the freedom, and freedom to exchange both knowledge and information.

If you are in the U.S. please contact our
President, and your legislators in the Senate and the House of Representatives. Tell them you are their constituent, that you oppose SOPA and PIPA, and to get your vote they must oppose them too.

If you are not in the US please, in whatever manner is appropriate in your country and your culture join the fight for freedom from oppression.
Wednesday, Oct 05, 2011
 

 
Friday, Sep 23, 2011
Another great trip north of the border to enjoy a great meeting with a great group of Oracle customers ... nothing so enjoyable as traveling by seaplane ... nothing so enjoyable as having some decent scotch with good friends ... nothing so enjoyable as visiting a civilized society.
 
VicOUG President Caleb Small Camosun College Meeting Room before the meeting started
Friday, Sep 14, 2011
It has been a long time since I've been inclined to write anything here. But today was a great day among friends in Salt Lake City at the Utah Oracle Users Group Fall Seminar. You can find my papers on the Presentations page and here are three of my favorite pictures from today.
 
UTOUG President Michelle Kolbe Phil Rizzo - Oracle Golden Gate
Friday, May 13, 2011
Anything but a stereotypical Friday the 13th. All is going well Yesterday Melina took Francisco and me to Sandanski: A Four hour trip through beautiful country with a side-trip to Melnick: Home of the best wine-vinegar on the planet (alas they think it drinkable wine) but still a very nice trip to a city that appears to have reached its zenith in somewhere around the year 1230.

Today was the first day of the conference and I presented a new paper on PL/SQL Tips and Tricks which was a way of packaging Oracle 9i to 11g new features in a way that didn't say ... "hey you should have learned this stuff years ago." Well received with lots of questions. Tonight was the first conference dinner ... great food and the pictures will tell the rest of the story except that Joze and his wife, Kusai Mensah, and Chris Date joined us for dinner.

The pictures are here: [Click Here].
Sunday, May 01, 2011
I am getting ready to for a mental health break the Netherlands, Germany, Bulgaria, and Finland with a possible side-trip to the UK. Here is the link for the trip and any resulting images [Click Here].
Tuesday, February 22, 2011: Humility 101
Saturday, January 10, 2011
Nothing like a good rant to get the keyboard moving. So if you are unprepared for me dumping on network administrators please go visit a porn site as it will be a far less offensive.

<RANT>
Over my 30+ years in IT there is one thing I have learned is a constant. Not the value of Pi, not the number of atoms in a mole, not the speed of light in a vacuum: Rather it is the ability of network admins to state, authoritatively and with a straight face, that the network is fine. Their concept of fine seems to roughly equate to the fact that the hardware is plugged in, the little green link lights are blinking, nothing red is lit up, and the fire alarm is not sounding.

If databases were run with the same degree of intelligence and attentiveness as a network router we would log in as SYS, type SELECT * FROM dual, and if we did not get an exception, declare everything was perfect. Were it not for what just happened in Arizona, so I am choosing my words with care, I might be inclined to recommend that we plug a couple of them in to their own networks and see if they light up.

Why this rant? Because at one of the largest telecoms on the planet, sorry no names, I have been monitoring the cache fusion interconnect on a four node cluster since June of 2010. And since at least July of 2010 stating that there is a physical problem with the network hardware. Was I greeted by someone eager to jump in and identify the obvious problem, well supported with latency data? If you think so I recommend Thorazine. Of course not. I was assured over and over and over and over again that everything was fine.

Fine that is until it broke. Broke as in I spent 5 days over what was supposed to be a Christmas holiday, with family, babysitting an outage bridge of which the end results were that two IO cards and one NIC card were replaced along with one switch port: All defective. And then was treated to a wrap up in which an admin admitted that there was evidence in the logs that some of the hardware had been bad since October. That is three months during which they claimed it had to be a database issue and I strongly suspect if they looked more they'd find the hardware was bad a lot longer than that.

So the lesson learned, or perhaps I should say relearned, is to never trust a network admin's word to be worth more than the energy it takes to dismiss it unless that network admin can back up their statement with physical evidence ... not their usual absence of evidence.
</RANT>
Saturday, January 07, 2011
UKOUG was UKOUG ... the world's best user group conference. There were a few rough edges but ... enough to make UKOUG leadership a bit uncomfortable but not enough to detract from the overall experience which was the reason why I come every year.

This year was a bit different for me. I arrived without a speaking spot ... something that thanks to bad weather and good friends didn't last for long. Within hours of the conference opening I had two spots and presented on Edition Based Redefinition and Developing Extremely large databases.

We seem to be at a point in our industry where we need to redefine some terminology so I will attempt to do so here with a modest proposal.

Acronym Terminology Size
VLDB Very Large Database 1- 100 TB
ExDB Extremely Large Database 100 - 250TB
ALDB Amazingly Large Database 250 - 500TB
SLDB Staggeringly Large Database 500 - 1000TB
ILDB Insanely Large Database 1PB+

I've no doubt, in a few years, this will become laughable as the monsters we manage keep getting larger and larger.
Friday, November 19, 2010
The conference here in Pravets has been a lot of fun. Much like my experience in Germany ... the skills and professional skill of the practitioners here in Europe greatly exceeds that of those I routinely see in the US. I've got the pictures ready to post so here's the link for DOAG (Germany), BGOUG (Bulgaria), and if there are pics from UKOUG I will post them here as well. [Click Here]
Wednesday, November 17, 2010
I am currently in Germany attending DOAG. Heading for Sofia Bulgaria tomorrow and then to the UK. I will post pictures and a bit more soon.
Tuesday, October 26, 2010
I have the pages reasonably complete from the OTN LAD tour so click on the link, below, and enjoy.

Now for a little rant. And if you recognize yourself in this consider yourself taken out to the woodshed and severely beaten.

I am fighting a team of DBA's that, I hope, would be horrified if they ever went to a surgeon, dentist, attorney, or accountant who had the same level of skill his or her profession as these DBAs have in theirs. I am not SYS and can not either train them or fire them but ... good grief ... take some pride in what you do and take some classes, read some books (not books about 8i and 9i) and understand your responsibilities to your employer and your customers. If your employer won't invest money in you invest it in yourself.

How can I, as an outside vendor, help you to understand that the reason your database is slow is that you do not have sufficient skill to manage it? How can I convince your manager of the critical importance of finding the training dollars necessary to either get you the education you need or to bring in someone senior enough to mentor you.

I have bitten my tongue bloody not saying out loud what I am thinking.
Monday, October 11, 2010
I've done a lot of things since August ... gone to OpenWorld. Gone to ClosedWorld and I may find the time to write about them ... who can say. But right now I am in Lima Peru and I am beginning to record my journey on the OTN (Oracle Technology Network) Latin America Tour. I will write about it a bit more but for starters here is a link to the pages I am starting to build. These initial pages cover preparations for the trip, the trip into Lima Peru, and the tour of Cusco and Machu Piccu. [Click Here] and enjoy. I will be adding more pictures, text, and pages as the trip goes on and time permits
Upon arriving in Cusco Stanley immediately went native with coca tea Stanley complained about altitude sickness and has some more coca
Fully prepared for altitude Stanley visits Machu Picchu Stanley enjoys a Cusquena at Chi Cha in Cusco
Saturday, August 28, 2010
Getting ready for OpenWorld and cleaning up the hard disk a bit ... here are a few pics I thought worth sharing.
45
Mogens in Tallinn Bigger than yours my friend
A lot bigger than yours. ;-)   (this is from slide 1 of 5) Morgan and Chris Date in Tallinn
Friday, August 27, 2010
Back in Seattle from a great conference with the NWOUG in Portland Oregon. Reconnected with a lot of friends from around the region including Jeremiah Wilton, Holly Willey, Dale Rae, Lee Murray, Neil Isenberg, Terry Golden, and the leadership Board of NWOUG. Presented on "11gR2 New Features that Oracle Doesn't Talk About" and Edition Based Redefinition" and took a few pictures you can view if you [click here].
Friday, August 20, 2010
Went down to the Bay Area to enjoy the warmth, the sunshine, and California hospitality with friends at NoCOUG. I pulled out the Nikon a few times and here are some pictures that made it past the censors  [click here].
Friday, June 4, 2010
We now have more than 15,000 years of human history during which events like this, and far worse, have happened again and again and again.

And from each of these events we have learned precisely nothing. Each new tragedy leaves the apathetic public scratching heads and wondering why all of the assurances by those solely focused on profits did not protect them. And in a few short weeks, or months, Paris Hilton will re-emerge and we will again amuse ourselves to death.


"The human race, to which so many of my readers belong, has been playing at children's games from the beginning and will probably do it 'till the end, which is a nuisance for the few people who grow up."

~ G. K. Chesterton
   The Napoleon of Notting Hill (1904)
Friday, May 21, 2010
It is 6:00am in Tallinn and the sun has now been up for three hours.

Today one of the father's of relational algebra and the relational database, Christopher J. Date, will be presenting three seminars: (1) The Closed World Assumption, (2) An Introduction to Logic, and (3) Why Three-Valued Logic Doesn't Work.

By some miracle I present on EBR after he is done. Who would want to come to an empty room. I wouldn't even come to my own seminar if Chris was presenting.

Chris is currently writing four books, I encouraged him to write the history from his perspective of the relational database revolution, and we talked about the good old days when 360s and 370s were the face of computing and IBM couldn't get out of its own way and handed the database industry to Ingres and Oracle.

I have a firm invitation to be in Latin America in October. And an equally firm invitation at the same time to fly to Venice and accompany Joze Senegacnik to Slovenia and Croatia for the HROUG conference in Rovinj. Decisions decisions.

You can follow this link to my pictures from Tallinn.
Thursday, May 20, 2010
Heli made a big deal out of the importance of the ACE program to the Baltic countries and Russia and we had a full-house for the presentation. I was joined by Mogens Norgaard, Francisco Munoz Alvarez, Tuomas Pystynen, and Piet de Visser. Among those attending is the current Chair person of RUOUG and Dmitry Volkov of Oracle Russia. Tanel presented a paper titled "Understanding LGWR, log file sync Waits and Commit Performance" that should be mandatory for every IT professional touching a keyboard connected to an Oracle database, and we had dinner at the House of the Brotherhood of Black Heads, the name of which would require more space to explain than I have here. <g>

But there is no question that the highlight of the day was Mogen's telling the story of the "Whiskey on the Rocks" to the audience. If you are not familiar with what most people think happened click here. We, on the other hand, learned what really happened and it is payment enough for the pain I will feel Saturday waking up at 5:00am to fly Tallinn to Copenhagen to Amsterdam to Minneapolis to Seattle. A story worthy of many retellings. But you'll have to ask me in person for the verbal version. It is, after all, Mogen's story not mine.
Wednesday, May 19, 2010
Presented my second paper here at Orcan, Edition Based Redefinition, made the outrageous claim which I truly believe, that if you don't know EBR you will be essentially unskilled in Oracle within 5 years, joined Husnu and his wife for the taxi to the airport, and flown to Tallinn, Estonia. I will put together a paper of pictures after I get done editing them.

Heading for Tallinn so here's the link for the Stockholm-Orcan pics.
Tuesday, May 18, 2010
Arrived at Yasuragi in Hasseludden for Orcan. It is a combination of the simplicity that is Scandinavian elegance with the simplicity that is Japanese elegance: A planet or two away from Stockholm: A galaxy away from home. Presented my seminar on 11gR2 new features Oracle doesn't talk about ... although I did spend some time, also, on Hybrid Columnar Compression. Heading up to the third floor for sushi and saki not necessarily in that order.
Monday, May 17, 2010



 
In Stockholm Sweden ... third day ... this feels like it could be, should be, home. Last night, in the executive lounge we met another American couple, they were from Bothell, Washington ...moved there from Sweden 30 or so years ago and go home every year to see family and friends. Otherwise this has been a blessedly non-American trip. Not once have we been subjected to the gross ignorance and star spangled myopia that fuels US politics. Not once have we been forced to bite our tongues confronting belief systems based on nothing more substantive than 1960s flashbacks.

But lets not forget the trip that got me here.

In Shiphol Airport, Amsterdam, at the entrance to C Gates, there are two shops that tell you, without equivocation, you aren't in Kansas any more. The first, and one I visit every chance I get, is Bubbles. The best place in the airport to catch great salmon, sushi, and champagne. This is where civilized life resides and where everyone is interesting and every conversation equally so. Today I met someone traveling from Northern Ohio (via Detroit) to Stockholm and a PhD biologist from Trondheim Norway for a fascinating conversation.

Just a few feet away, pictures below, is the Chocolate Bar. And while I have so far resisted temptation it is just another sign that airport food need not be Burger King and other tributes to mediocrity.
 

 

 
Friday, May 14, 2010


 
If you do not recognize yourself ...

perhaps you are in the wrong business ...

or reading the wrong blog.
Tuesday, April 20, 2010
Arrived yesterday at Keflavik Airport in Reykjanesbaer Iceland. I am dressed for Norway, not Iceland, and most of those here at the hotel are refugees. Compared with refugees from various wars and genocides this has been a walk in the park. But the perspective it has given is not lost upon this observer. Volcano tours appear to be canceled as you will see from the pictures from the University of Oslo, the airport, and the trip to Keflavik [ Click Here ].

Flying, non-stop, back to Seattle on Wednesday. Nothing to do except walk the neo-Siberian tundra and commune with the wind-chill and wait.

I just tried that "walk on the wild side." 22 minutes and I surrendered to the beginning of frostbite ... and it is snowing. The Icelandic Air presentation on the plane coming in here boasted that Iceland had a mild climate because it is warmed by the Gulf Stream. Mild compared with what? Vladivostok? Three weeks ago I was walking with penguins on the beaches of South Island New Zealand ... in a tee shirt.
Saturday, April 17, 2010
I've assembled a few selected pictures from the conference trip for your viewing pleasure: [ Click Here ]. And, on behalf of my many friends in the UK ... "We said send "Cash" not "ash."

Looking at the political news from the US right now I am reminded of a quote from the 1960s and the Cold War which I will paraphrase:
"If the Democrats announced that they were going to go to to hell ... Republicans would announce a plan to get there first."

Anyone wondering when, or if I am coming home, before the Orcan conference in Stockholm in just three weeks here are my plans. And I use the word "plans" with quotes ... (1) Tuesday Oslo -> Frankfurt -> Seattle, (2) Oslo -> Helsinki (by train) -> Tallinn (by ferry) -> Moscow (by airplane) -> Los Angeles -> Seattle, and finally (3) Oslo -> Bergen (by train) -> Newcastle (by ferry) -> London (by train) -> Oxfordshire (by train or bus). Anybody need a DBA? ;-)
Friday, April 16, 2010
The Eyjafjallajokull volcano has erupted in Iceland. For such a little country they sure can create big messes for everybody else. <g> Heading for the Radisson Blu and trying to figure out whether to stay or go ... and if to go ... how?

I've worked out a deal to teach at the University of Oslo on Monday in the last two hours. Now it is up to the Moirae as to what I do on Tuesday.
Tuesday, April 13, 2010
Arrived in Oslo after an easy an uneventful trip through Frankfurt Germany. Going out tonight for dinner at Tjuvholmen Sjømagas with Trules, Debra, Sten, Harald, Joel, and a few other friends. More soon: But probably not until the Color Magic returns to port on Friday.
 
Just signed on to Twitter and found Justin tweeting about some Oracle Cloud Computing event. Seeing it reminded me that it was mandatory learning for everyone to watch to this YouTube video.

I put Cloud Computing right up there with all the other marketing jargon. Our industry seems to leap from one nonsense phrase to another as companies try to claim their brand of toilet paper is better than the other guy's. Wash your  clothes or brush your teeth with "Brand X" and see where that gets you. Where are all the object databases? Where are all the XML databases? Now it is "the Cloud."

In three years will anyone other than Amazon and Google have any use for NoSQL databases?

A database that can not deliver a correct answer has limited utility. A phrase, like "Cloud" is just the latest nonsense phrase.

What makes Oracle different is that after you peel away all of the checkboxes on the marketing brochure, and all the market-speak about value and cost of ownership, there are very real redo logs, undo segments, atomic transactions, and system change numbers. The stuff that actually works.
 
Wednesday, March 1, 2010
I'm a bit slow here but I've finally started putting up pics from New Zealand. You can find them [ here ].
Monday, March 1, 2010
If you have yet to meet XKCD

Here's your invitation

[ Click Here ]

Enjoy
Thursday, February 18, 2010

Keynote at RMOUG
Here I am at Denver Irrational Airport (a pathetic follow-on to the beloved Stapleton of days past) following a Rocky Mountain User Group training and conference event that is clearly best-of-breed for North America.

Among my personal highlights was being part of the Wednesday keynote panel with Chen Shapiro, Alex Gorbachev, and Debra Lilley, and managing, in the final half-hour of my hour-and-a-half presentation to do Edition Based Redefinition live in SQL*Plus.

Some people jump out of airplanes and trust their parachute. Some people jump up in front of audiences and trust their software. The later group likely suffers more catastrophic failures but I was once again spared that fate.

Among those here and presenting, not mentioned previously, and making this the event is was ... Mogens Norgaard, Cary Millsap, Jeremiah Wilton, Graham Wood, Jose Senegacnik, Sridhar Avantsa, and Robert Freeman (post-LDS job, now with Oracle).

Non presenters included Angela, SQL*Developer product manager, who I hope to lure into presenting at the next WWOUG meeting and Dan Norris who insists that he doesn't sell Exadata but helps those that do, and Paul Veilleux, formerly with Larry's Pillar Data Systems returned to Oracle to also work with Exadata.
Friday, January 29, 2010
Today is the last day of the IOUC Leadership Conference and, following the pics, I have posted a few comments from the event.
 
Mark Townsend Willie Hardie
 
Margaret Lee Morgan Stanley?
  • Extended support for Database 9i (9.0 and 9.2) ends July 31, 2010
  • Extended support for Database 10g (10gR1 and 10gR2) begins August 1, 2010
  • Larry Ellison is dismissive of the entire buzz around the buzzword d'jour "Cloud" and "Cloud Computing." So much for v12c.
Friday, January 01, 2010
From a private communication:
I have just confirmed that attempting to do GbE line rate TCP writes on e1000s is sub-optimal.

Customers that are using Intel e1000 NICS (or e1000e in the new Nelly) and are running the NFS client on ANY version of RHEL on either AMD or Intel,
will only see a sequential TCP write range of 75-85MB/sec. This is a GbE part. I don't know about 10GbE NFS client performance yet (I do now have 2
Intel 10GbE parts).

https://bugzilla.redhat.com/show_bug.cgi?id=541411

Broadcom 5700 parts are fine. nVidia MCP55 (a builtin found in AMD servers) are fine.

It is a corner case, but affects database performance for TCP writes and e1000s are ubiquitous parts.

TCP read is line rate
TCP write is about 70% of line rate
UDP read is line rate
UDP write is line rate

Line rate is PAYLOAD, so this is about 105-108. At the filer, this renders to about 113MB/sec

-- private communication from an Oracle Platform Engineering at Red Hat Software
Wednesday, December 23, 2009

Sunrise Analemma at the Tholos (Delphi)
I am just a few days from beginning my 61st analemma and we are pleased to report that the only disappointment we face is the sad realization that we still can not tell whether Schrödinger's cat is ok.

To all of our many friends and acquaintances around the world: "Thank you." Lets do it again ... in in twenty-ten.
 
nav varsh ki subhkamna
xin nian kuai le / xin nian hao felice anno nuovo, buon anno
sretna nova godina
gelukkig Nieuwjaar
happy new year bliadhna mhath ur
head uut aastat
onnellista uutta vuotta
bonne année
ein gutes neues Jahr / prost Neujahr yeni yiliniz kutlu olsun
hauoli makahiki hou blwyddyn newydd dda
Monday, November 30, 2009
Well things have calmed down a bit so you can Click Here to view a few pictures from B'ham that were taken after the Speakers' event at All Bar One and later at Thai Edge: both in Brindley Place.

There is no question but that UKOUG is the best Oracle uses group in the world ... nor has there ever been much question that the UKOUG conference is the best conference ... far outshining Oracle's own OpenWorld from the standpoint of serious DBAs and developers. This year UKOUG outdid itself and this was, without a doubt, the best Oracle conference I have ever attended.

Just to give you a sense of why I say that ... review this list of those attending (and I mean no slight or disrespect to anyone not listed below):
  • Alex Gorbachev
  • Bryn Llewellyn
  • Christian Antognini
  • Connor McDonald
  • David Kurtz
  • Debra Lilley
  • Graham Wood
  • Husnu Sensoy
  • James Morle
  • John King
  • Jonathan Lewis
  • Joze Senegacnik
  • Julian Dyke
  • Larry Carpenter
  • Mogen Norgaard
  • Niall Litchfield
  • Pete Finnigan
  • Ronan Miles
  • Steven Feuerstein
  • Tanel Poder
  • Thomas Kyte
  • Tim Hall
  • Tuomas Pystynen
  • Wolfgang Breitling
 

 
Bryn Lewellyn
meets
ACE Director
Stanley who
travelled to
UKOUG
from Vietnam
And there wasn't a dull moment with great parties, wonderful meet-the-speaker sessions, and entertainment ranging from live opera with Matt Minter and Lynn Boudreau of "Opera on the Run" to decent scotch everywhere I went.
Wednesday, November 25, 2009
Some may wish to juxtapose the following:
"If a nation expects to be ignorant and free, in a state of civilization, it expects what never was and never will be."
 ~Thomas Jefferson to Charles Yancey, 1816

"As Putin rears his head and comes into the air space of the United States of America, where - where do they go? It's Alaska. It's just right over the border."
 ~ Sarah Palin September 4, 2008

Others need only look up the definition of the word "Rogue" in a dictionary ... something Ms. Palin obviously has not done or can not do for lack of working  synapses.

The title of her book, it would seem, is both accurate and precise.

Rogue used as a noun:
1: vagrant, tramp
2: a dishonest or worthless person : scoundrel
3: a mischievous person : scamp
4: a horse inclined to shirk or misbehave
5: an individual exhibiting a chance and usually inferior biological variation

Rogue used as an intransitive verb:

to weed out inferior, diseased, or non-typical individuals from a crop plant or a field

Rogue used as an adjective:
1: resembling or suggesting a rogue elephant especially in being isolated, aberrant, dangerous, or uncontrollable
2: corrupt, dishonest <rogue cops>
3: of or being a nation whose leaders defy international law or norms of international behavior
<rogue states>
 
Thursday, November 12, 2009
Today I attended the second meeting of the Western Washington OUG. The new Oracle user group formed here in the Puget Sound area. I presented one of my favorite topics: What Oracle includes in their software, for free, that they don't talk.

It was great to get back together with former students, my many local friends, and a tremendous and welcome surprise ... my good friend Sridhar Avantsa (formerly with Pacific NW Bell and Amazon.com). A big thank you to everyone that made me feel so welcome.

A copy of my presentation slides can be found [Here] on the presentation's page. It will not, of course, include my lecture notes ... I never have any ... nor the part that was live in SQL*Plus.

Again a very big thank you to everyone and best wishes with your new user group. I have no doubt that with leadership like Jeremiah and Gary things will go well.
Monday, November 09, 2009
I am updating the page on the package SYS.STANDARD today and found the following comment along with the DDL.
 
-- ROWID: this dreadful identifier is supposed to represent a datatype
-- outside of SQL and and a pseudo-column (function, to us) when inside
-- a sql statement. ADA data model doesn't allow for any
-- function X return X;
-- so we must special case this. Yuk. There's special-case code in ph2nre
-- which maps "rowid" to "rowid " if we're inside a SQL stmt.

function "ROWID " return ROWID; pragma builtin('ROWID ', 1, 209, 240);
-- this had better never be called.

Maybe it is just me but I can't think of a better way to get a DBA or Developer to try something than a comment like this.
 
Thursday, November 05, 2009
It is snowing in Helsinki but it is amazingly comfortable here at OUGF where the finest Oracle talent in Finland has gathered.

I was terribly distracted after that first sentence by Heli and a call to Tiina and Bambi, and Rudolph and Winnie the Pooh at the dinner table so I will write more now that I am back in Seattle. For now, though, here are some pictures from Saaga. The bear balls were excellent. I'll leave the rest to your imagination.
 
     
     
Friday, October 16, 2009
Please remind me to write something about OpenWorld here .... <g>
Friday, October 09, 2009
The ACE Briefing at the Oracle conference center has been extraordinarily valuable and were it that what I am hearing was not covered by NDA I could write a small book: Perhaps if some of this is formally announced I will write about it. On the other hand we are be briefed on middleware subjects of which I must confess there is less relevance so I opened a new SR and reported a bug involving DBMS_REDEFINITION I will share with you.

The bug qualifies as an irritant and little more but it is an important irritant in that the result created using DBMS_REDEFINITION is different from make the change in the traditional way. Here's the code that will allow you to see this yourself.
 
-- the tables
CREATE TABLE emp (
empno    NUMBER(15),
ename    VARCHAR2(10),
hiredate DATE);

ALTER TABLE emp
ADD CONSTRAINT pk_emp
PRIMARY KEY (empno);

CREATE TABLE int_emp (
empno    NUMBER(15),
name     VARCHAR(100),
hiredate DATE);

-- the triggers
CREATE OR REPLACE TRIGGER bu1_hiredate
BEFORE UPDATE OF hiredate ON emp
FOR EACH ROW
BEGIN
  :NEW.hiredate := SYSDATE;
END bu1_hiredate;
/

CREATE OR REPLACE TRIGGER bu2_hiredate
BEFORE UPDATE OF hiredate ON int_emp
FOR EACH ROW
BEGIN
  :NEW.hiredate := SYSDATE+10;
END bu2_hiredate;
/

-- the redefinition calls
exec dbms_redefinition.start_redef_table('UWCLASS', 'EMP', 'INT_EMP', 'EMPNO EMPNO, HIREDATE HIREDATE');

exec dbms_redefinition.register_dependent_object('UWCLASS', 'EMP', 'INT_EMP', dbms_redefinition.cons_trigger, 'UWCLASS', 'bu1_hiredate', 'bu2_hiredate');

exec dbms_redefinition.finish_redef_table('UWCLASS', 'EMP', 'INT_EMP');

-- retrieve the trigger body source code
SELECT dbms_metadata.get_ddl('TRIGGER','BU1_HIREDATE') FROM dual;

DBMS_METADATA.GET_DDL('TRIGGER','BU1_HIREDATE')
-------------------------------------------------------------------
CREATE OR REPLACE TRIGGER "UWCLASS"."BU1_HIREDATE" BEFORE UPDATE OF hiredate ON EMP
FOR EACH ROW
BEGIN
  :NEW.hiredate := SYSDATE+10;
END bu2_hiredate;
 
 
Monday, October 05, 2009
I am pleased to share with friends and colleagues the formation of the Western Washington Oracle Users Group.

Tonight the group got together at Oracle's offices for the formation meeting, listened to an excellent presentation by Oak Table Network member Jeremiah Wilton, and elected an eight member Board of Directors.

It is going to be wonderful, again, having an active Oracle community here in the Northwest. Thank you, Jeremiah, for spearheading the efforts. I look forward to presenting a paper worthy of this new group at the November meeting.
   
Friday, September 18, 2009
I am getting ready for OpenWorld 2009 and, while going through the archives, came across an as yet unposted picture taken at Palisade last year when some friends came to visit. You never know what you may find when you start looking on your had drive.
 


 
Thursday, September 10, 2009
English language Library updates are on schedule to be loaded by the end of the month. Then I go back and work through some of the higher-level demos and start bringing in the foreign language content. Tonight I found some errors in the Oracle docs demos of CONNECT BY, fixed mine, and emailed the issue to Oracle so they will get theirs fixed too.

Also enjoyed, again, having a President acting like one and watching an opposition prove it is anything but a loyal opposition. So in honor of Barack Obama's speech to the Congress and the people of the United States we affirm that ....
s s s
x We did not come here to fear the future
s s ~ Barack Obama 9 September 2009
Monday, September 07, 2009
Time for another entry into the trust but verify chronicles.

I spent some time this weekend cleaning out old files and found a usenet post from 1-May-2002 to comp.databases.oracle.server posted by Pablo Sanchez and referencing an item published to the Ixora News back in April 2002. The operative words in the posting were: "you're incorrect Daniel" so I decided to see if I was, in fact, still incorrect. Here's my quick test to determine if column placement, at the beginning of a table affects performance. I'll let you decide how important column placement is in 11.1.0.7.

CREATE TABLE test AS
SELECT * FROM dba_objects;

set timing on

DECLARE
 CURSOR tcur IS
 SELECT owner
 FROM test;

 x test.owner%TYPE;
BEGIN
  FOR i IN 1 .. 100 LOOP
    FOR trec IN tcur LOOP
      x := trec.owner;
    END LOOP;
  END LOOP;
END;
/

DECLARE
 CURSOR tcur IS
 SELECT edition_name
 FROM test;

 x test.owner%TYPE;
BEGIN
  FOR i IN 1 .. 100 LOOP
    FOR trec IN tcur LOOP
      x := trec.edition_name;
    END LOOP;
  END LOOP;
END;
/
 
First Column Access Last Column Access
Elapsed: 00:00:16.37 Elapsed: 00:00:16.18
Elapsed: 00:00:16.29 Elapsed: 00:00:16.14
Elapsed: 00:00:16.31 Elapsed: 00:00:16.45
Elapsed: 00:00:16.36 Elapsed: 00:00:16.23

Wednesday, August 26, 2009
     

the dream lives on
 
Monday, August 17, 2009
I'm begining my preparations for OOW 2009 and in reminiscing about last year it occured to me that I had not shared this video clip so I am doing it now.

If you are looking for any of these these attributes:
  • Zero Latency
  • Infinite Scalability
  • Zero Change
  • Zero Patching
  • Instant Operations
  • Subzero Defects
  • Lightspeed and Beyond
Anything, and everything, is possible in the Secret Virtual Office.
 
Sunday, August 16, 2009
 
Over the weekend I ran into another one of my videos and thought I'd post the links: Here it is.

I also found the link to my previous Oracle Magazine interview and here it is as well.

 
 
Wednesday, August 12, 2009
It was an interesting day to be sure. Sometimes "interesting" is an arrow with flashing lights that translates to "with extreme sarcasm." This wasn't one of those days. We are getting closer to two very important events ... OpenWorld and the release of 11gR2. What can I say that is not covered by NDA? Hmmm. Not much. <g>

I have another photo shoot coming up with Oracle Magazine which is enough information for you to figure out the rest and I am also working on scheduling dates for another live video shoot at HQ.

Are you interested in an early preview of 11gR2 live in SQL*Plus? Well the class is done and ready to present following OpenWorld so you shouldn't have to wait too much longer. Watch for information about the class on the home page.
Tuesday, August 11, 2009
Daw Aung San Suu Kyi
Out of sight ... not out of mind
Thursday, August 6, 2009
Today's chalenge:

Run the following SQL statment.

SELECT segment_name, tablespace_name
FROM dba_segments
WHERE segment_name IN ('OBJ$', 'COL$', 'IND$', 'TAB$');


Surprised by the result? Do you know why it produce the result it does?
Wednesday, August 5, 2009
It seems our profession is destined to be tortured by the promotion of ignorance and a refusal to accept reality.

Tom Kyte spent years beating the drum of bind variables and Tom and members of the Oak Table Network continue to promote education over ignorance with respect to hit ratios, index rebuilds, multiple block sizes, etc. What is it about the NOLOGGING clause that people find so bloody hard to understand?

The Oracle docs are perfectly clear ... perhaps no one actually reads them.
 
Doc Link 1 Doc Link 2 Doc Link 3

Nothing about eliminating logging for normal DML statements. Nothing. Nada. Zip. Zilch. Nyet. Get over it already. There are only two ways to avoid logging DML. The first is direct load operations. The second is to never issue a COMMIT.
 
Saturday, August 1, 2009
The summer here in Seattle is hot and so is Oracle. I am getting near the end of my 11gR2 beta testing and while I still can't talk specifics I can talk generalities. Conservatively speaking, something that does not come naturally to me, if 11.1.0.6 could have been named 10.3.0.1 ... this is truly 11g. There are far fewer small incremental changes and a  number of very substantive changes that are going to rock the database world in a way that will put both Microsoft and IBM on notice that they are not catching up anytime during the next two decades. IBM's DB2/UDS is so marginalized it is hard to find it on anything other than IBM's own hardware and operating systems and even then IBM's hardware teams have stated quite openly that the new hardware they are selling, especially z10's, are almost all hosting Oracle. Microsoft, on the other hand, is about to release the highly acclaimed Window 7 which is, it appears, nothing more than Vista stripped of a lot of brain-dead functionality that was tacked on in the hope of competing with Apple's Mac. It seems, perhaps, it is just a dumbed down version of Windows Server 2008 but we will know a lot more when we are able to load the production release rather than just late Betas.
 
Meanwhile, the new 11.2 library is just about done and I have created a new "Oracle Database 11.2 New Features" class. I am starting to set up dates to deliver the presentation, of course live in SQL*Plus, following OpenWorld so if your organization is interested give me a call or drop me an email.
 
Wednesday, July 15, 2009
I have been fielding a lot of requests to put together a suite of videos of Oracle Database 11g functionality. Videos that meet a number of criteria including:
  • Professional production quality (both video and audio)
  • Source code published here at morganslibrary.org
  • 11gR1 and R2 New Features
  • 11gR1 and R2 Best Practices
  • Short ... high impact ... targeted at specific functionality and indexed not just by syntax but by how to address business and coding problems
  • Free
Well I didn't want to say anything without first discussing it with our friends in Redwood Shores but can now announce that we have their full support.

I will start filming soon and you will find the new videos published on YouTube and elsewhere in Q4.
 
Thursday, June 25, 2009
 
Just back from a day-and-a-half at ODTUG Kaleidoscope in Monterey California where I presented an updated paper on Oracle's Audit Vault technology and participated in an ACE Sundown session with fellow ACEs Cary Millsap, Richard Foote, and Anjo Kolk.

Thank's ODTUG for a great conference, Thank's Oracle for the ACE Program and a special thanks to Justin, Vikki, and Lillian for what they have created and how their efforts have benefited all of us in the international community.

Thanks Bryn for your time and a special thank you to Cary, Richard, and Anjo for the courage to be seen in public with me.

For those of you not fortunate enough to be able to join us in beautiful California please do so at OpenWorld in October and watch for my new video ... shot at ODTUG with Willie Hardie's team. I will post a link to the video when it is release.

The YouTube Video, I am deeply embarrassed but must admit it is undoctored.
Thursday, June 20, 2009

 
when will we ever learn?

Rest in peace Neda Agha Soltan
 

  Gotta get down to it.
Soldiers are gunning us down.
Should have been done long ago.
What if you knew her and
Found her dead on the ground?
How can you run when you know?
  Gotta get down to it.
Soldiers are cutting us down.
Should have been done long ago.
What if you knew her and
Found her dead on the ground?
How can you run when you know?
 

 
Thursday, June 18, 2009
It's a 2 bug day! My initial reaction when people "find a bug" in the Oracle database is to wonder why they think their lack of reading the docs is Oracle's bug ... well not today. One of them is a small little thing involving timezones and DBMS_SCHEDULER and not of tremendous consequence but the other, originally found by John Awald in a complex environment I have reproduced as a test case and submitted as an SR. Here it is for your viewing pleasure.

Note: I have created this in several versions but, most recently, not been able to replicate it with 11.1.0.7.
CREATE TABLE t AS SELECT * FROM emp;

UPDATE t SET comm = 100 WHERE comm IS NULL;
UPDATE t SET comm = 100 WHERE comm = 0;

CREATE OR REPLACE VIEW v AS SELECT * FROM t;

CREATE OR REPLACE TRIGGER inoftr
INSTEAD OF INSERT ON v
FOR EACH ROW
BEGIN
  dbms_output.put_line(:NEW.sal);
  INSERT INTO t
  (empno, sal)
  VALUES
  (:NEW.empno, :NEW.sal);
END;
/

SELECT empno, val * val FROM (
  SELECT 2 empno, sal/SUM(comm) OVER (PARTITION BY deptno) val
  FROM t)
ORDER BY 1;

EMPNO VAL*VAL
---------- ----------
2  .666500037
2 2.77592685
2  .187652655
2 3.56790123
2 3.62811791
2  .487780297
2  .141330771
2 3.62811791
2  .141330771
2  .20351631
2  .231556334
2  .081632653
2  .734693878
2  .257999496

14 rows selected.

-- note the results from the trigger created by the dbms_output.put_line
-- statement running the above SELECT statement as an INSERT INTO

INSERT INTO v
(empno, sal)
SELECT empno, val * val FROM (
  SELECT 2 empno, sal/SUM(comm) OVER (PARTITION BY deptno) val
  FROM t)

ORDER BY 1;

.25
.25
.25
.25
.25
.25
.25
.25
.25
.25
.25
.25
.25
.25

14 rows created.

-- do the exact same thing but without the ORDER BY clause
INSERT INTO v
(empno, sal)
SELECT empno, val * val FROM (
  SELECT 2 empno, sal/SUM(comm) OVER (PARTITION BY deptno) val
  FROM t)
;

.67
2.78
.19
3.57
3.63
.49
.26
3.63
.14
.2
.23
.08
.73
.14

14 rows created.
Be very very careful.
 
Wednesday, April 15, 2009
Flying out in a few minutes for Seattle and will be home soon. Chile is a wonderful place and I will expand these blog posts more when I get home and can unload my pics from my camera and collect pics from the others that attended.

Suffice it to say that while rebooking my return flight Delta Airlines again demonstrated their total committment to customer abuse. Next time, Delta, I fly LAN.

Note to the world ... is anybody paying attention? Click Here! This is totally inexcusable. If DBAs were doctors they'd be guilty of malpractice.


Well it isn't so as I get ready to fly back to "civilization" I leave you with a page of pics from Chile.
 
Tueday, April 14, 2009
I just had a tremendous thrill. Following Graham Wood's excellent database tuning presentation. I co-led a presentation on the ACE Program with Lillian Buziak fresh from here debut as a Polynesian dancer. Lillian did a great job representing Oracle and the program and we are all going to see what we can do about getting Oracle to reimburse at least part of Lillian's expenses as she paid for the entire trip herself.

After our part we invited all of the ACEs in the room to come up to the stage and answer questions and we all had a great time. I'm leaving now for La Serena in the Atacama and will write more soon.
 
Monday, April 13, 2009
CLOUG is a wonderful group and I predict good things for both Chilean users and the greater Latin American community as they have clearly shown the way to doing it well.

The English language track, of which I was a part, had two excellent real-time translators that made it easy for those of us presenting to do so seamlessly. I will get my slides, and some pictures, up shortly after I return home. But, just to keep everyone from getting ahead of the story, here we are with Gloria Estefan.

 

 
Sunday, April 12, 2009
06:30am: Santiago Chile. Finally! What a wonderful site. Immigration is friendly and easy but be sure to bring your hard-cash "blood money," $131 for US Citizens. And they do want hard currency: Chilean Pesos not accepted. I expected as much and brought three 50's. Better to bring exact change. They really don't like parting with the ones and fives they have but polite and courteous all the while.

Did I mention my love affair with Delta Airlines in Atlanta? Do you think my luggage, even though they swore it had been rerouted and checked through arrived? Of course not. Any sign of competence would ruin their otherwise tarnished reputation.

Now at the Ritz Carlton. Beautiful hotel. Very nice room. The bed is calling to me and I will submit just as soon as I finish the Chivas.

13:28pm: My luggage arrived wrapped in plastic like a mummified cocoon. First change of clothes in three days. Thanks for very little Delta.
 
Saturday, April 11, 2009
It is just before midnight and Delta, not being able to get me on one of their direct flights to Santiago has flown me to Guayaquil Ecuador where I am changing airplanes to LAN. Delta, operating at its nominal level of competence, gross incompetence, couldn't give me a boarding pass for the LAN plane they were putting me on so I had about one hour to get off the plane, go through security, find LAN, get a boarding pass, and get on the plane. The good news is that LAN is as good, and as competent, as Delta is the exact opposite. And just to make sure I trash Delta as much as they deserve their planes are old and in derepair and their food little more than edible.

Now let us contrast that with LAN. I am on what looks to be a new clean plane. The seats are comfortable. The dinner decent and they poured me enough Ballantine's Scotch to sink a tumber, then offered more, and refused to accept payment for it. Now this is an airline that will get my repeat business. A few hours of precious sleep and I arrive in Santiago around 5:00am. Thank you Delta. Wait until you ask for a bailout from the Obama Administration. I won't forget this when I send letters to my two Senators (Murray and Cantwell) and my Congressman (Richert) and the White House. Hope to see you in Chapter 7.
 
Friday, April 10, 2009
It is 3:00am Saturday morning and I am sitting in the Crowne Plaza Hotel in Atlanta Georgia. I am not supposed to be here.

I am supposed to be on an airplane to Santiago Chile to speak at CLOUG. But, it seems, a horrific thunderstorm, beautiful from 7 miles up, and some tornados, put me on the ground hours after my plane departed. So what have I learned from all this?
  1. Never, ever, fly Delta Airlines to Atlanta. The "act of god" was beyond their control. Their rudeness and general unhelpfulness were unforgiveable.
  2. Never, ever, fly into Atlanta if you can possibly avoid it. Come to think of it I have never had a good experience in this city. Too hot, too humid, and everyone seems to be suffering from a lack of manners.
  3. Never trust a Crowne Plaza confirmation number. They gave it to Oracle Travel and then claimed it wasn't good (on the phone w/ Oracle Travel).
Tuesday, April 08, 2009


 
And, in answer to the inevitable questions, yes I am really that tall, and really that young, and that really is my hair, and no I didn't do the editing, or focus the camera. And yes these are my words ... and I meant every single one of them.














Thank you Willie, it was an honor to be asked, and I look forward to doing another for you at ODTUG.
Tuesday, March 31, 2009
You should see the RAC cluster he's got in the sail locker
 
 
Amazing. A lower latency cache fusion interconnect and they'd have won.
Sunday, March 29, 2009
I have a nice little boat.
 
 
Larry Ellison has a slightly larger and faster boat.

Today I am on Larry's sled doing a podcast for Oracle. I will post the URL when I get it.
 
Friday, March 26, 2009
I would like to thank Truls Bergersen, Frank Vikingstad, Alice Rossman, and the rest of the fantastic group at Oracle User Group Norway in Oslo for what was not only one the best Oracle conferences I have ever attended but a great oppotunity to explore a bit of their country as well.

It all started out at UKOUG in December when Mark Rittman of Rittman Mead asked me if I would like to be part of the English language track at OUGN. He said two things that greatly interested me. First Norway as I had never been there and I will pretty much go anywhere I've never been before. And, second, that the conference was being held on a cruise ship. What could be better? A conference and a vacation. Both Mark and Julian Dyke couldn't make it and, much to the Queen's embarrasement an American was there representing the United Kingdom.

Helen and I arrived in Oslo, via Copenhagen, on Sunday, March 8th, in a light snowstorm and after a good night's sleep set out to explore Oslo. Had dinner with Truls and his lovely Brazilian wife, I mention her country of origin only because she made the wickedest Caipirinas we've ever had. If you've never had Caipirinhas before all you need is cane sugar, fresh limes, and a controlled substance the Brazilians call Cachaça. But back to my story: Monday evening we went out to dinner at Lofoten Restaurant in Oslo accompanied also by Danish ACE Director Sten Vesterli. I highly recommend the restaurant for fresh seafood. When you go to Norway, at least as an American you are thinking sardines and herring. Reality strikes quickly. This is a city with world-class restaurants and coffee so good it reminds me of Vienna.

Tuesday we left the hotel in the early morning and went to the cruise ship: The Color Line's M/V ColorMagic. I have a boat. Larry has a bigger boat. OUGN had a ship. A ship complete with elevators that go up to the 15th floor. The conference was held in the ColorMagic's conference facility with both English and Norwegian language tracks. We spent 22 hours making our way to Kiel Germany, spent three or so hours there shopping, and then another 22 hours returning, at sunset under the Øresundsbroen, the longest bridge in Europe.


Following the cruise Helen and I shopped, walked, and museumed, enjoying Norway's many National museums; the Kon Tiki museum among them. The night before we left we had what is, beyond question the best dinner of our lives and we've eaten reasonably well over the years. If you have not yet visited Norway then, quite simply, you can justify the trip if you do nothing else other than have dinner at Statholdergaarden, Oslo. Food better than this just does not exist on the planet earth.
Pictures from Norway

Wednesday, February 11, 2009
Stanley's revenge.


At the Miracle 8th anniverary party ... Stanley lost a food fight ... at RMOUG he took his revenge via this photo from the camera of Debra Lilley.

Next time Stanley ... next time.
Saturday, October 31, 2008
Richard Foote and I arrived from Helsinki yesterday to attend Miracle A/S Denmark's 8th Anniversary Party. A huge thank you to Mogens for the invitation and to both Mogens and Annette for their hospitality. The party was, as Richard Foote has said:
 
SELECT 'Just a bit ' || RPAD('l', 70, 'o') || 'ng' FROM dual;

But the food was great, the supply of Miracle beer seemingly endless and the food fight with Stanley a smashing victory. Though I did apologize to Stanley later at RMOUG.
 
Thursday, October 29, 2008
Helsinki is a surprise in almost every respect and all of them positive.

The first surprise was that everyone I've met, everyone, speaks English like a native speaker. That means taxi drivers, people walking down the street, people serving food in non-tourist restaurants. The city is small, clean, civilized, and by American standards devoid of motor vehicles and parking places. It appears that everyone uses public transportation. The largest number of cars I've seen at an intersection during the morning commute is six. Americans would be so envious if they didn't have their collective heads stuck in their BBQs while chanting the mantra "we're number one."

But back to why I am here. Thanks to the kindness of Dian Thompson and Mary Dopart I was able to attend the EMEA President's Council in Munich back in May where I had the pleasure of meeting OUGF President Heli Helskyaho. Heli invited me to present at the Fall OUGF conference and I, with thanks to Justin and Victoria Lira of the ACE program was able to accept. Sometime later today I will present my Oracle Gems session and earn my keep.

On the gastronomic side ... and any good trip must have one. I stayed at Helsinki Hotel Sokos and the hotel restaurant had the best borscht I have ever had in my life. Good enough to be appetizer, salad, main course, and desert. Heli and her husband took a small group of us out to dinner at a Lap restaurant: Saaga. If you find yourself in Helsinki and have only a single chance to eat out ... this is the place. The menu is a tream .. I had reindeer rump, Richard ate the bear before it ate him, and we all drank our fill of Jaloviina brandy in our Kuksa mugs finishing the evening with the "cranberries in an icy bowl." Thank you Heli for a real treat.
 
Pictures from Finland

Sunday, September 28, 2008
One night's decent sleep since OOW and I can talk a bit.

In some respects this was the best OOW and in some respects the worst. Certainly the new Exadata servers are interesting and certainly there were a few good presentations out of the thousands: For example a few from some of the Oakies and Aces and in the OTN Unconference. But for the most part the quality of the presentations has not gotten better over the years so I spent most of my time meeting with old friends, making new friends, and hanging out at Chevy's in Mogen Norgaard's virtual office: Click Here. If you are paying attention and have a good memory you may be able to find the Oracle ClosedWorld conference in October of next year.


Also notable this year were the following (in no particular order):

  • Oracle Aces received new vests, black this time, and far more presentable outside of a Native American casino.
  • The Oracle Ace briefing contained the phrases "zero latency", "infinite scalability" and "zero change." No one will ever accuse Oracle marketing of hyperbole. Mark Townsend's briefing was, as always, on target. Thank's Mark.
  • Justin Kestelyn and his new co-conspirator Lillian did a great job in every respect. Even without the new vests.
  • We missed Victoria and the chance to meet the new addition to her family: Congratulation!
  • The weather was near perfect
  • The on-site Beta test, before OOW, of the new Audit Vault was very impressive ... watch for the release soon
  • Watch for my picture, oh how I dread this, in the next issue of Oracle Magazine.
I am looking forward, a month from now to arriving in Helsinki Finland for OUGF and then to Miracle's 8th anniversary party in Ballerup.
 
Saturday, September 27, 2008
Just back from OOW 08 and almost found the following in my in-basket from my friend and associate Caleb Small. Thought I'd share it with everyone:

Subject: RE: RAC 11g feedback
From: caleb@xxxxx.com
Date: Sat, September 27, 2008 10:23
To: KIRK.MCGOWAN@oraxxxx.com

Kirk:

Thanks for the explanation. Now that we know of this document, we can ask for updates on future assignments. Are there any other internal documents you could suggest asking for regarding RAC best practices on 10/11g Linux? We are often called upon to be experts and sometimes it does get frustrating finding all the information.

This assignment was a success; we just completed two 2-node production clusters on OEL5 and 11g, and added a fifth node to an existing 10g cluster. It was a busy couple of weeks! I have some feedback/questions regarding 11g best practices:

DIRECT NFS CLIENT - we successfully configured DNFS on both of the 11g clusters using NetApp storage. I think our problem back in the lab relates to configuration of our mount points and I will clarify next week. We did discover one minor bug during RMAN backups. The following message is repeated in the DB alert log. I suspect this is related to bug #6477080 and we have an open SR on this now. We are using oranfstab and it works fine for all other files.

warning did not find dir /u01/app/oracle/product/11.1.0/db_1/dbs

AUTOMATIC MEMORY MANAGEMENT
- setting max_memory and memory_target instead of max_sga, sga_target and pga_target. We did use this feature, but it appears that there is no way to lock the SGA into physical memory. Using 10 Automatic Shared Memory Management (max_sga) in combination with Linux 64 Huge Pages allows us to lock the SGA in memory eliminating the risk of
swapping.

We also have an open SR regarding orphan memory pages being left behind in /dev/shm when using AMM. I suspect it may be related to one of the background maintenance jobs, and am worried that it may be cumulative thus consuming memory over time. I'll keep you posted.

ORACLE-VALIDATED.rpm - I am curious to hear you opinion regarding using this utility for production installations. We give it two thumbs down. It is awkward, required access to Linux network which may not be possible during initial install, especially when NIC drivers still need to be built. It doesn’t really help that much, and the kernel parameters it generates are not sutiable for the production system.

DB CONSOLE - After getting over my initial frustration learning new navigation, it seems to be much better than 10g. It starts properly in a RAC environment, it seems to be very responsive, and I like some of the new features.

Thanks again for you help, Kirk.

Caleb.

On Fri, September 19, 2008 8:01 am, KIRK.MCGOWAN@oraxxx.com wrote:
> Hey Caleb,
> That list of patches is constantly changing, and varies by platform and version.
> Basically, it is a set of recommendations that are valid at a point in time. Customers can get the list by filing an SR and asking for the
> list.
>
> My team used to creat and maintain this list for the customers we were engaged with. RAC Assurance team took that list, and
> basically built an internal system to help maintain it, and get my team out of the business of managing a spreadsheet with a bunch
> of patches. That system is not externalized, and we do not have a maillist where we email new recommendations. We still are key
> contributors to the recommended patches, but unfortunately, it is still painfully subjective as to whether a patch should be on that
> list or not. In general, it is best not to patch unless you really have no other alternative, but that depends on the particular
> customer scenario.
>
> Long answer to your question.
> Short answer - you can get it for a customer at a point in time - but need to file an SR asking for latest list of recommended
> patches for Clusterware, rdbms/RAC, and ASM.
>
> K.
>
>
> -----Original Message-----
> From: caleb@xxxxx.com
> Sent: Friday, September 19, 2008 7:34 AM
> To: KIRK.MCGOWAN@oraxxx.com
> Subject: RAC Assurance Team documents?
>
>
> Hi Kirk:
>
> Hope you had a good long weekend on the boat, you sure had the right  weather this time! I'm busy back in the mid-west again
>  installing 11g RAC/App Server clusters. One of my clients forwarded a document to me entitled:
>
> "RAC Assurance Team Recommended Patches"
>
> Creation date: April 2, 2008, Last Modified July 30, 2008
>
> Documents like this are invaluable to the work we do both in the lab, and on client production systems. It is possible for me get on
> the distribution list for such documents? Otherwise, I'm not sure how to find them other than by hit-and-miss.
>
> Thanks
> Caleb
 
Monday, June 16, 2008
In a few minutes I will be in the air on my way to ODTUG's Kaleidoscope 2008 in New Orleans, Louisiana. My first time to an ODTUG event, my first time to New Orleans, but no my first time into 90 degree weather with 90+% humidity: How can I possibly be so lucky? Well at least I will be in good company as the schedule includes Tom Kyte, Mogens Norgaard, Dr. Paul Dorsey, Steven Feuerstein, Chris Ostrowski, Dan Norris, Cary Millsap, Mark Rittman, John King, any many other excellent presenters.

During Session 9 you will find me in Napoleon B1 with Mogen Norgaard. My two presentations will both be on Tuesday, June 17th. The first is a Development DBA Experts Panel moderated by Dan Norris of Piocon in Napoleon C3 (2:00pm) and the second in Napoleon B1 with Oracle's Audit Vault Product Manager Tammy Bednar (3:15pm).

I hope to meet many of you there.
 
Saturday, May 2, 2008
With a smile on my face, joy in my heart, and some really good Allagash beer I am heading to Europe for two weeks. This morning I fly to Chicago, change planes to Munich Germany, and then changes planes yet again to Copenhagen where I will be delivering good beer and good wishes to Mogens Norgaard on his very special day. The jet lag should be palpable.

Depending on how I, or perhaps we, feel during the following couple of days I hope to further explore a concept discussed at RMOUG this year with Mogens and Jonathan Lewis about the possible creation of Miracle University.

After a few days of enjoying Denmark: Helen and I will head for Prague to spend a week totally out of touch with the world of ones and zeros and then, on or about the 13th of the month, head to Munich Germany for the EMEA President's Conference which Oracle has asked me to attend.

I will be back at the U, and in my office on the 17th hopefully with some Miracle beer. Depending on how customs treats me I may just have to drink it all before I board the plane. Could happen.
 
Saturday, April 12, 2008
Check out these two videos: [Unconventional Install 1] and [Unconventional Install 2]. Nothing else need be said.
 
Monday, March 17, 2008
I'm heading for Collab '08 in Denver ... looking forware to seeing everyone there!
 
Monday, March 10, 2008
Is it time to move 180 degrees around the circle away from the Microsoft PC revolution, which has really become rather revolting when we look at the consequences, and return to the time when mainframes ruled the world of IT? I'm certainly not getting nostalgic for punch cards and Fortran and certainly not having any fond remembrances of COBOL.

But I think a good case can be made for doing so. The average mainframe has a mean time to failure of 90 years. Essentially no issues with respect to viruses and other malware, no blue screen of death, and a cost that dictates that those who have access have a demonstrated ability to do better than just throw untested code over the cubicle wall. And, in spite of the jokes about RAC on mainframes, RAC on mainframes makes tremendous sense.

Further, in a world where the requirements for security, auditing, compliance, governance, and stability are paramount, and considering an environment that essentially eliminates the need for virtualization complexity or concerns about performance ... why not Oracle on zLinux for the backbone?

So with that in mind I am posting a link to Barry Perkins 2004 presentation on Oracle products on zLinux for the community and I am working on getting Barry to come to Seattle for the April PSOUG meeting. [Click Here]. Also of interest is the International zSeries Oracle SIG [Click Here].
 
Monday, December 24, 2007
Found a new gem hidden in the newly released 11gR1 inside th DBMS_RESOURCE_MANAGER built-in package. If you are not familiar with this resource management definitely go to the Oracle docs and the Library and check out the capabilities and the demos. But here's what I just found: A new procedure named CALIBRATE_IO.
 
-- Input arguments:
-- num_physical_disks - Approx, number of physical disk drives

-- max_latency - Maximum tolerable latency in milliseconds for 
-- database-block-sized IO requests (max value 100)
--
-- Output arguments:
-- max_iops - Maximum number of I/O requests per second that can be 
-- sustained. The I/O requests are randomly-distributed, 
-- database-block-sized reads.

-- max_mbps - Maximum throughput of I/O that can be sustained,
-- expressed in megabytes per second. The I/O requests are
-- randomly-distributed, 1 megabyte reads.

-- actual_latency - Average latency of database-block-sized I/O 
-- requests at "max_iops" rate, expressed in milliseconds.

SELECT pname, pval1
FROM aux_stats$
WHERE sname = 'SYSSTATS_MAIN';

set serveroutput on

DECLARE
  iops PLS_INTEGER;
  mbps PLS_INTEGER;
  alat PLS_INTEGER;
BEGIN
  dbms_resource_manager.calibrate_io(1, 100, iops, mbps, alat);
  dbms_output.put_line('Maximum IOPS: ' || TO_CHAR(iops));
  dbms_output.put_line('Maximum MBPS: ' || TO_CHAR(mbps));
  dbms_output.put_line('Actual Latency: ' || TO_CHAR(iops));
END;
/

So if you want to know what your i/o subsystem is actually doing ... here where you can find out.
 
Sunday, December 16, 2007
Welcome to the planet where dinosaurs still roam freely.

No I don't mean birds that descended from Cretaceous and Jurassic beasts. I am referring to, in most cases, well meaning DBAs who learned Oracle back in the version 5-7 days and were told something by Oracle, or some book author, that was not true then and just isn't true today either. Yes I am referring to the mistaken belief that there is any diagnostic value in BCHR (Buffer Cache Hit Ratio).

So in an attempt to add my voice to the chorus of sanity on this I present two links you should follow to two of the most widely respected people in our profession. They are Jonathan Lewis and Richard Foote.
 
Friday, December 07, 2007
I just found out about a great new Oracle website with presentations from OOW 2007. It has links to both Demo Ground and Partner Collateral. Click Here
Wednesday, November 28, 2007
Hans Forbrich
at OOW 2007
with
Arup Nanda at OOW2007
Anjo Kolk & Mogens Norgaard at OOW2007 with Anjo, Mogens Norgaard at OOW2007
Pictures by Jared Still at the ACE Dinner
 
Sunday, November 11, 2007
I am sitting in the airport in Seattle right now awaiting my flight to SFO for the biggest Oracle party of  2007.

If you are trying to find me here's where you might want to look:
  • Saturday ... my hotel room recovering from a week of preparation.
  • Sunday ..... Moscone West
  • Monday ..... Moscone South
  • Tuesday .... all over the place
  • Wednesday .. Larry Carpenter's presentations on Data Guard
  • Thursday ... Moscone West and South
  • Friday ..... in my room recovering from five days at OOW
We have to be crazy to be doing this ... the same insanity over and over again ... I can't wait ... see you there.
 
Tuesday, November 6, 2007
A few days ago I was trying to answer a student question and stumbled on something I couldn't answer. Here is my email exchange with Julian Dyke of juliandyke.com in the UK.
 
I've stumbled trying to answer a student question and wonder if you might know the answer. A thorough search of the docs has proven that either the answer is not documented or I am not good at entering search criteria.

I create a deferrable referential constraint such as this:

ALTER TABLE person
ADD CONSTRAINT fk_person_state_zip
FOREIGN KEY (per_state, per_zip)
REFERENCES state_zip (state, zip_code)
INITIALLY DEFERRED DEFERRABLE;


Look in the data dictionary

SELECT constraint_name, deferrable, deferred
FROM user_constraints
WHERE table_name = 'PERSON';


and I see this:

CONSTRAINT_NAME                DEFERRABLE     DEFERRED
------------------------------ -------------- ---------
FK_PERSON_STATE_ZIP            DEFERRABLE     DEFERRED


all is well.

Then I do this:

SET CONSTRAINTS ALL IMMEDIATE;

and if I again query the data dictionary I still see this:

CONSTRAINT_NAME                DEFERRABLE     DEFERRED
------------------------------ -------------- ---------
FK_PERSON_STATE_ZIP            DEFERRABLE     DEFERRED


which is technically correct because my SET CONSTRAINTS only affects my session and not others. But the question is where in Oracle is it storing the fact that within my specific session I have altered the behaviour of that constraint?

Thanks.
 
The answer is that SET CONSTRAINTS ALL IMMEDIATE is implemented as a transaction callback which is a type of state object.

When you initially create a transaction you allocate a ktxcb structure from a segmented array. You can see these structures in X$KTCXB and once the transaction has started in V$TRANSACTION. If you do a state object dump (SYSTEMSTATE level 10), you can see the transactions currently in progress for each session (and process). 

When you issue SET CONSTRAINTS ALL IMMEDIATE, a transaction callback state object is created. This is chained from the transaction object

Both transaction (ktcxb) and transaction callback (ktccts?) are segmented arrays with names "transaction" and "txncallback" respectively. The amount of memory allocated to these structures can be seen in V$SGASTAT (again with names "transaction" and "txncallback" respectively).

I can't find any X$ tables which externalise the transaction callback structure. However, it is easy to find in the system state dump.

Following is an extract from a level 10 SYSTEMSTATE dump which following the execution of SET CONSTRAINTS ALL IMMEDIATE in a transaction:

SO: 0x3dace118, type: 49, owner: 0x3daa4198, flag: -/-/-/0x00 if:
0x1 c: 0x1
proc=0x3f256af0, name=txncallback, file=ktccts.h LINE:336, pg=0
(cmtcbk) 
type: constraint commit callback act: 1
Dump of memory from 0x3C434118 to 0x3C4341A8
3C434110 00000301 00000357 [....W...]
3C434120 3DAA4198 3F256AF0 3DAA41C8 3DACE128 [.A.=.j%?.A.=(..=]
3C434130 00000000 00000000 00000000 00000000 [................]
3C434140 00000000 00000000 3C434148 3C434148 [........HAC<HAC<]
3C434150 200010B4 00001024 00000000 37D204FC [... $..........7]
3C434160 37D20504 00000000 00000000 02010200 [...7............]
3C434170 00000000 00001014 6E617274 74636173 [........transact]
3C434180 206E6F69 20006F63 7FFF7FFF 7FFF7FFF [ion co. ........]
3C434190 00000200 00000000 3C434198 3C434198 [.........AC<.AC<]
3C4341A0 37D20514 00000000 [...7....] 


I don't know what happens if with SET CONSTRAINTS ALL DEFERRED yet.

Any use?

I will post if we learn more.
 
Thursday, October 25, 2007
Oracle has released both the Windows and 64bit Linux versions of 11g.

To download a personal copy of 11g go to Oracle's download page at OTN. [Click Here]
Monday, October 22, 2007
Last week I was in Salt Lake City at the UTOUG conference and this week, Thursday, I will be at NoCOUG in Pleasanton, California doing what I enjoy ... Oracle 11g in SQL*Plus without a safety net.

If you can make it there you will see:
  • Oracle's new table compression in action
  • Virtual table columns (with constraints and indexes and the Result Cache)
  • Compound table triggers and table triggers ordered using the FOLLOWS clause
  • 11g's new Native compilation
  • Some brand new PLW warnings and if time permits
  • Transaction Backout
Monday, October 15, 2007
I am at 37,000 ft flying to Salt Lake City to provide two break-out sessions to the Utah Oracle Users Group's Fall 2007 conference. I am planning to present both sessions in 11.1.0.6: One for DBAs ... one for developers.

While preparing for the conference I decided to clean up a demo schema I use and found that among the flotsam and jetsam  was a flashback archive. I dropped the table's undo from being archived:

ALTER TABLE servers NO FLASHBACK ARCHIVE;

then the archive:

DROP FLASHBACK ARCHIVE uw_archive;

and then saw something I had not seen before.

Two of the three tables created by Flashback Archive were dropped but the third was not. Attempting to drop it produced an ORA-55622 error which is not recognized by metalink.

ERROR at line 1:
ORA-55622: DML, ALTER and CREATE UNIQUE INDEX operations are not allowed on table "UWCLASS"."SYS_
FBA_HIST_70439"

Well I proved "no DML" was true as I could not update or delete rows. I also proved the ALTER statement true in a few minutes. I could, however, rename it and did so renaming it to ZZYZX to make tracing easier.

RENAME TABLE SYS_
FBA_HIST_70439 TO ZZYZX;

All attempts to drop it after rename also failed

SQL> drop table zzyzx;
drop table zzyzx
*
ERROR at line 1:
ORA-55622: DML, ALTER and CREATE UNIQUE INDEX operations are not allowed on table "UWCLASS"."ZZYZX"


so it was time to get into the data dictionary.

I found nothing about flashback archives in dcore.bsq. Nothing obvious anywhere else even after tracking down the source code of every view I could find related to Flashback Archive. Then I tried a 10053 level 12 trace: Also a dead end.

Finally I decided there had to be something, even if undocumented, that told Oracle this table was special so I tore into obj$ and tab$ looking for anything that was unique about this one table, owned by UWCLASS, and finally found it:

SELECT object_id, object_name
FROM dba_objects
WHERE object_type = 'TABLE'
AND owner = 'UWCLASS';

OBJECT_ID  OBJECT_NAME
---------- -----------
72403      ZZYZX
72479      SERV_INST
72477      SERVERS
71072      AIRPLANES

SELECT obj#, property
FROM tab$
WHERE obj# IN (72403,72479,72477,71072);

OBJ#       PROPERTY
---------- ----------
71072       536870912
72403      9126805504
72477       536870912
72479       536870912


So should a table created to support Flashback Archive fail to drop when the table is converted to NO FLASHBACK ARCHIVE the table can dropped ONLY, it appears, by doing something remarkably dangers ... updating TAB$.

Here's what I did:
The object returned was the one I was trying to drop so I did the dastardly deed:

UPDATE tab$
SET property = 536870912
WHERE obj# =
72403;

COMMIT;

The table then dropped normally and no damage was done.

But please keep in mind that any direct alteration of data dictionary tables in a production database is not just irresponsible but will render the database unsupported by Oracle. This should only be done after opening an SR at metalink and under the direction of Oracle support.
 
Wednesday, October 3, 2007
Well I've been kicking around in 11g a lot more and discovering that it is even richer than originally thought.

When Beta testing I focus on a combination of testing some new functionality while, at the same time, watching for old bugs to make sure they have been fixed or not reintroduced and also that legacy functionality has not been broken. The early 11g Betas contained a bit of both, the last Beta was solid and the production release looks to be ready for implementation in development and testing environments immediately.

Needless to say there was a lot of new functionality I never got a chance to touch during the Beta and one of those was something I want to talk about today ... the new INTERVAL PARTITIONING. It is absolutely brilliant and here's what it does.

In 10g and before one had to manually, or via a scheduled job, create new partitions as days and weeks passed and we were approaching the point where everything would have ended up in the LESS THAN MAXVALUE partition. Interval partitions do away with that. Oracle now dynamically creates new partitions when an insert contains values beyond a point in time defined by the existing interval partitions.

Here is a demo I've put on the Partitions page that demonstrates this new capability:

Lets start by creating a range partitioned table:

CREATE TABLE interval_part (
person_id   NUMBER(5) NOT NULL,
first_name  VARCHAR2(30),
last_name   VARCHAR2(30))
PARTITION BY RANGE (person_id)
INTERVAL (100) STORE IN (uwdata) (
PARTITION p1 VALUES LESS THAN (101))
TABLESPACE uwclass;


Note that I didn't create the usual LESS THAN MAXVALUE partition as it is unnecessary.

First lets take a look at the segment Oracle created.

desc interval_part

SELECT table_name, tablespace_name, partitioned
FROM user_tables;

col high_value format a20

SELECT partition_name, tablespace_name, high_value
FROM user_tab_partitions;

And lets insert our first row:

INSERT INTO interval_part
(person_id, first_name, last_name)
VALUES
(100, 'Dan', 'Morgan');


We can look and see that it went into the first partition as it is the only one that exists.

SELECT partition_name, tablespace_name, high_value
FROM user_tab_partitions;

Let's now put in a second row only this time with a person_id that exceeds the VALUES LESS THAN clause of the existing partition.


INSERT INTO interval_part
(person_id, first_name, last_name)
VALUES
(101, 'Barack', 'Obama');

We look at the partitions and note that Oracle has automatically created a new partition to hold the record and set an appropriate high_value.

SELECT partition_name, tablespace_name, high_value
FROM user_tab_partitions;

We now put in a record that greatly exceeds  the high value for both of our existing partitions.

INSERT INTO interval_part
(person_id, first_name, last_name)
VALUES
(567, 'Anne', 'Sweet');

And again we look at the partitions created and see that Oracle has done the right thing and made our lives just a little bit less complicated.

SELECT partition_name, tablespace_name, high_value
FROM user_tab_partitions;
 
Tuesday, September 25, 2007
Have you ever found yourself reading a metalink note and found yourself staring at something like this?

ORA-44310 - maximum number of services exceeded.
or
metalink note 194706.1 with ORA-26671 - maximum number of STREAMS processes exceeded.

Well thanks to Mark Townsend we now have an answer to two of these questions:

The limit is 115 services per database. Exceed that number and you are toast.

On another note have you ever done this:

desc gv$parameter

and wondered about a parameter 4000 bytes long?

Well if so fear not. Another limit just discovered is that the maximum number of bytes in a parameter is actually around, sorry I couldn't get it more accurately 270 bytes. So don't write STREAMS or DATA GUARD params that refer to long paths or this will bite you too.

But merge these two items together and the number of services changes substantially. You can have up to 115 services but, combined into a single init.ora parameter:

"service_names=xxx,yyy,zzz..."

They can not exceed 270 bytes. So in order ot have 115 services you can not use more than two bytes to name a service.

If you find doc examples like this please forward them to me at my personal email address and I will try to get the docs changed to define them.
 
Sunday, September 23, 2007
For what must be the tenth, perhaps the hundredth, time this year I have responded to the very same question. So I've decided to highlight it here as it seems to be one that many have problems with. This issue is how to query on a values list constructed in the form:

x :=
'10,30';

SELECT *
FROM t
WHERE column IN x;


When Oracle sees this it tries, quite naturally to match against the literal string '10,30' as there is no instruction telling it that x is intended to represent a comma delimited list.

The solution is to provide Oracle with that missing information so that it knows what you are thinking. And the way to tell it is to demonstrated below.

Log on as the user scott and try these on your database.
 
Does Not Work Works
set serveroutput on

DECLARE
 i     PLS_INTEGER;
 InStr VARCHAR2(20) := '10,30';
BEGIN
  SELECT COUNT(*)
  INTO i
  FROM emp
  WHERE deptno IN (InStr);

  dbms_output.put_line(i);
END;
/
CREATE OR REPLACE TYPE InStrTab IS TABLE OF VARCHAR2(20);
/

set serveroutput on

DECLARE
 i PLS_INTEGER;
 x InStrTab := InStrTab('10','30');
BEGIN
  SELECT COUNT(*)
  INTO i
  FROM emp
  WHERE deptno IN (
    SELECT column_value
    FROM TABLE(x)
);

  dbms_output.put_line(i);
END;
/
The TABLE operator tells Oracle that you wish for the comma delimited values in the variable x to be treated as though they are a table. A full demo of this capability can be found in the library on the CONDITIONS page.
 
Tuesday, September 04, 2007
Just got back into the office after a week and a half in Alberta, Canada. Three unforgettable days at Chateau Lake Louise. Well somebody had to do it.

As a follow-up on PL/Scope, and no I have not yet heard back from Oracle, the recommendation in Oracle's docs is:

Each DATATYPE is a base type declared in package STANDARD. In order to collect and view these identifiers, package STANDARD must be compiled with PLSCOPE_SETTINGS='IDENTIFIERS:ALL'.


Source: Click Here
If you do this you will totally corrupt an 11g database. I am working on getting an answer from Oracle about this but, for now, I can not warn everyone strongly enough to ignore this recommendation unless you are quite prepared to perform a complete reinstallation.
 
Tuesday, August 21, 2007
It is a slow day in the lab so not too much has happened. I'd be out painting the boat except that this summer Seattle is truly living up to its reputation and, yet again, it is raining. So here's what I would have posted somewhere if I had had somewhere to post it.

Oracle 11g contains a new capability named PL/Scope that does for PL/SQL what Cscope does for C. I have put together a page in the Library showing its use based on a very simple stored procedure that you can try. One the caution I would make is that there is a SQL statement I have bold faced because it does not work. I have sent an email to Oracle asking someone to name the unnamed view that contains the data type information (other than all_arguments) but I haven't had a response yet.

So if you've downloaded 11g and are starting to play with it take a look at PL/Scope. It could be a very nice way to learn about code developed by someone else before jumping into it and making an even worse mess. <g>
 
Monday, August 20, 2007
In the Usenet group comp.databases.oracle.server, this morning, I found a post asking:
 
| In my app, I've been using "OPEN some_cursor FOR some_dyn_sql ;"
|
| Now I'm facing a limitation problem.... I have to generate a VERY LARGE
| dynamic SQL. (bigger than "VARCHAR2(32767)")
|
| And "OPEN...FOR..." does not seem to take CLOB.
|
| What other options do I have ?

... and I realized that while Oracle has been sprinting along adding and extending the database with new functionality ... a lot of legacy functionality is essentially invisible.

The answer to the poster's question is, in fact, functionality that has been in the DBMS_SQL package since it was introduced in version 7.3.4.

While there is no question but that Native Dynamic SQL was a substantial improvement over the more complex syntax of DBMS_SQL it has never duplicated, until 11g changed the rules, the raw power of DBMS_SQL. So if you don't know the answer to the above question ... go to the DBMS_SQL page in the library and scroll down until you find "Executing CLOBS Demo Tables." Create the two tables then create the "EXECUTE_PLSQL_BLOCK procedure. After that you can run my demo data anonymous block containing insert statements or put together yourown CLOB, however large, and test it out.
 
Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: © 2012 Daniel A. Morgan