Monday, August 13, 2007

My ode to Disney

My Ode to Disney...

Walt thank you for what you have done,
for Disneyland is really truly fun.
However for me, I must confess,
that Disneyworld is truly the best.

Disneyland was first, it is true.
It's an amazing experience for one who is new.
Disneyworld though, I must admit,
I think it better, by just a bit.

Both have Splash Mountain, a super ride,
but Disneyworlds is better, I must confide.
At Disneyland, it's one person per seat,
At Disneyworld, two together is neat.

The Haunted Mansion, oh what a thrill.
In both parks it's great, that is until,
you get to the dead center of the room,
and our host betrays a sense of doom.

Alas, Pirates of the Caribbean at Disneyland,
must take the prize well in hand.
It is a bit better than Disneyworld I think,
since there is also a place to eat and drink.

The castles simply can not compare,
at the two Disney properties fair.
Disneyworld's is a grand sight to see,
Disneyland's looks, well, quite wee.

For some reason I must admit candidly,
the Contemporary makes my Disney experience handily.
I love the look, I remember as a child,
wanting to stay there and just go wild.

In the end, both will do fine,
when I need to escape the adult confine.
Mickey and pals, are great to see,
and a Disney experience is wonderful for me.

If you came looking for Oracle, do not fear,
Another installment is very, very near.
Angst not, more is soon to come,
for sharing Oracle goodies is way to fun.

Copyright 2007 by Robert G. Freeman
All Rights Reserved
Like anyone really cares or would ever want to reprint this anyway... :-)

Sunday, August 12, 2007

Oracle 11g is released and Invisible Indexes!!

I'm a bit tardy with a blog entry about this since it happened last week, but Oracle Database 11g 11.1.0.6 for Linux has been released!! I've got it up and running on my Linux VMWare machine right now!

For those of you interested in yet another new feature, how about invisible indexes? No, invisible indexes are not a character in a Wes Craven slasher picture, but rather a way to kind of turn on/off an index from the point of view of the optimizer. For example, we have a table called TEST with an index called ix_test. Look at how the execution plan changes if I make the ix_test index invisible:

-- first the index is visible
SQL> alter index ix_test visible;
Index altered.

SQL> select * from test where id=1;

ID
----------
1


Execution Plan
----------------------------------------------------------
Plan hash value: 416078300

----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 13 | 1 (0)| 00:00:01 |
|* 1 | INDEX RANGE SCAN| IX_TEST | 1 | 13 | 1 (0)| 00:00:01 |
----------------------------------------------------------------------------

-- Now, make it invisible
SQL> alter index ix_test invisible;

Index altered.

SQL> select * from test where id=1;

ID
----------
1


Execution Plan
----------------------------------------------------------
Plan hash value: 1357081020

--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 13 | 24 (5)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| TEST | 1 | 13 | 24 (5)| 00:00:01 |
--------------------------------------------------------------------------

One thing I noticed on the production cut is that you can not use a hint and have the index be used. So something like this does not seem to work:

select /*+ index(test ix_test) */ * from test where id=1;

The doc's I've seen so far seem to indicate this should work, but it might warrant some additional investigation before I call it a bug.

[Edited addition]
In looking at the production documentation now, all references to hints making the invisible index accessible by the optimizer are gone. So, it appears that hints, indeed, do not impact the optimizers ability to see an invisible index.

[/edit]

Wednesday, August 08, 2007

Robert goes to Mexico

So, I mentioned in an earlier post that I took a little vacation. My wife and I took a 3 day cruise to Ensenada, Mexico. We like to cruise, but we always find the end of the cruise very depressing. To avoid that depression, we decided to also spend a couple of days at Disneyland.

I'd never cruised before I got married, so I was not sure how much I would like it. I now find that it is my favorite thing to do on vacation along with Disney and riding trains. For me, a cruise is really the best of all worlds, you get to go places you have never been, you get to eat well, you can just be lazy and do nothing or you can get involved in a myriad of activities on the ship. My wife and I take different "kinds" of cruises. There are those that we take to actually goto the places and see the sights, for example we did an Alaska cruise which was incredible. Then there are our "don't get off the ship" cruises, which are usually to places we have already been. We take advantage of those cruises to sleep in, read, eat, swim and really enjoy the ship and having nothing to do for days on end.

Our cruise started with a flight from Salt Lake to Long Beach. After nearly missing our flight due to a long TSA line, we had a nice Jet Blue flight to Long Beach. Long Beach is an interesting airport. It's not quite modern, but just short of third world. I don't know if I've ever collected my bags, outside, at an US airport. No airstairs either, just a roll-up platform. After that we ate at the Airport Marriott (highly recommended!) and then headed to the ship.

One of the best things about cruising is the food. We were cruising on Royal Caribbean, and the food on this particular ship was above average for a cruise line.

One problem on the shorter cruises is that the clientele is younger, and a certain number of them are there, first and foremost, to get drunk. It was clear, that even before we left port, that the partying had begun. I don't mind it so much, except for the idiots that get rude and feel like they have to yell and scream at the top of their lungs. Other than that, I find drunken 21 year olds pretty funny.

I must admit, that I have a really hard time getting away from work, even when on the cruise. But there is nothing better than sitting on your balcony with the fresh sea air blowing in your face and the sound of the waves below as you cruise. It makes working so much less work.

On the way back from Ensenada, I was taking a bit of a restless nap in the late afternoon. I decided to get up and go out on the balcony. Lo and behold, WHALES!! Holly smokes, not just one but a whole pod of the things. It was amazing. I saw more whales on my 3 day quick cruise to Mexico than I saw on my 7 day Alaska cruise!! I yelled at my wife to come and see the whales and she was just so excited... I love it when she gets excited, it just makes my day to see her happy. It was amazing to watch them break the surface and see them exhale. Then you could see their big tails break as they headed back under the water. Amazing.

Every time I see whales though, I must admit.... I think of Star Trek IV and Mr. Scott's line, "Keptn', there be WHALES here!". I'm not a nerd, I'm not a nerd!

Disney was a great experience too, but I must admit that I prefer DisneyWorld to Disneyland. Thats just personal preference I am sure, and Disneyland is a perfectly wonderful place to go, but I miss seeing the Contemporary, for example. Plus, there is just so much more to do at DisneyWorld. I'll talk more about Disney in a later entry...

Well, enough goodies for now...


[Edited for spelling]

Tuesday, August 07, 2007

11g Security New Feature... A short one...

Two new security related features to Blog about this week. First, Oracle Database 11g comes with a new view called DBA_USERS_WITH_DEFPWD. What is for you ask? This view will show you the user accounts that are assigned default passwords, like scott/tiger. You can therefore change those passwords and be more secure. This view has one column, USERNAME.

Also, passwords in Oracle Database 11g will be case sensitive now! When you upgrade, your old passwords will not be case sensitive, but the first time you change the password of an account after an upgrade it will become case sensitive. New accounts will be case sensitive out of the box. The parameter sec_case_sensitive_logon will be provided to disable/enable this feature.

One other note. All the features I'm discussing in this Blog at this point are from Beta code. They can change between now and the time production code comes out, so be aware.

More on this and many other Oracle Database 11g topics in my new book from Oracle Press, Oracle Database 11g New Features. Check it out!

[Post edited for spelling error]

Wednesday, August 01, 2007

11g New Feature!! Revenge of Compression!!!

As promised, an 11g new feature for you. Today, Table compression.

While Oracle Database 10g offered limited table compression, Oracle Database 11g offers full blown table compression. Compression is supported in the following cases:

· Direct path SQL*Loader operations

· Create table as select commands

· Parallel inserts, or serial inserts with an append hint.

· Single row, or array insert and updates.

This allows you to use compression on any database table, any time. The result can be a much reduced storage requirement and potentially much better performance!

More on this and many other new features in my upcoming book Oracle Database 11g New Features.
 
Subscribe in a reader