Tuesday, December 15, 2009

Creating VMWare and RAC on Windows Part Three

This is part three in my journey to installing Oracle 11gR2 RAC on Oracle Unbreakable Linux. In the last installment we got VMWare running after a few mis-steps... Now we are ready to install Oracle Unbreakable Linux. You can easily download and install Oracle unbreakable Linux from Oracle's Linux Download Page. I downloaded the individual CD ISO's (It's a habit), but they also offer a DVD image. One benefit of installing the CD ISO's is that you can download them in parallel, so it can speed up the time to download if you have a big pipe.

Having downloaded the CD ISO's you are ready to install Linux. Notice that I did not burn CD's. What I will do instead is point the VMWare CDRom Drive to the first ISO image, and start the install. What is nice is that as the install requires the next CD image, you can simply go to the VMWare console for that machine and repoint the virtual CDRom drive to the next ISO image. Since you can do this without restarting the machine, it makes installing from the CD ISO images much easier.

The install went well and after a short time I was up and running. Having completed the install, I proceeded to configure the Operating system. At this point, I just had one virtual machine setup, so all I needed to configure was the one machine. Once the configuration (ie: the hosts file, etc) is complete, we will clone the VM and create the second machine.

If you want a real handy guide to configuring Linux and Oracle RAC using VMWare, I highly recommend Tim Hall's Oracle Base site. Tim has done a great job detailing the steps required to create a RAC cluster on VMWare. While his page uses LINUX as the VMWare host, I can attest to the fact that it works with Windows running VMWare too.

Now that we have installed and configured Linux, we are ready to clone the VM. Tim's site does a great job of walking through this process. However there is one small issue to contend with here and I'm thinking this is a windows issue. In VMWare each VM has it's own GUID. The GUID of the VM's are used to assign the MAC addresses to the NIC's in the VM. This means that you have a problem when you bring the second machine up because it's NIC will have the same MAC address of the NIC in the first machine. I think that VMWare is supposed to correct this issue when you cope a VM, but it does not seem to work correctly. So, after cloning the VM, you will need to change the machine's GUID (they call it a UID) in the VMWare configuration file before you start the cloned VM. If you do not do this, you will find your two Linux boxes will not network correctly.

In the next installment we will start laying down Oracle Clusterware. Unfortunately that came with it's own set of problems, and the name of that problem was MS Vista... and it's one nasty problem. Nasty.... nasty.... nasty.

Friday, December 04, 2009

Creating VMWare and RAC on Windows Part Two

This is part two of my series on installing RAC on Windows using VMWare and Oracle Unbreakable Linux. I will be presenting a 1/2 day university session on this topic at the RMOUG. I hope you will come.

Why Win/Vmware/Linux/RAC on a laptop? Many DBA's have not had an opportunity to experience RAC for themselves. This configuration is one way for them to do so with minimal cost.

So, I'm on a quest .... a quest to install RAC on VM's sitting on top of Windows. This isn't, shouldn't be, a quest that involves rabbits, holy hand grenades or needing the services of Tim the Enchanter.... But oh, how wrong I was. It seems that Vista was not the right place to be starting and indeed, I did need the services of Tim the Enchanter to even get VMWare 2 started on Vista.

I bought a brand new Dual core Dell Inspiron laptop with 4GB for the task. I can tell you right now that if your installing 11gR2 RAC, you need all of that 4GB. I did 10gR2 RAC on 2 successfully (it was slow and painful)... there is no way your doing that on this install!

I then downloaded the new web based version of VMWare and installed it. No problem there. However, when I click on the icon for VMWare I run into my first problem. It asks me for a username and password. Well, I have no idea what username and password it's expecting. After some research I find that it wants the username/password for the Windows session I'm logged in as. That's intuitive .... So, I enter the credentials. Next it throws a certificate exception at me which I approve and then, I get an error and it won't start the interface to VMWare. I should have taken a screen print of the error but it was like a 404 or something....

Well this is a fine piece of junk!! I start doing some internet research and find that many people have run into the problem. One solution is to use the IP address in the URL that you use to bring up the VMWare console in the browser. I tried that and it worked fine. Still, it wasn't the way it was supposed to work. After reading through some more threads about this problem, I decided to de-install VMWare and re-install it using the administrator account. Of course, you have to enable the administrator account with the net user command first and then you also need to give it a password.

I then re-installed VMWare 2 under the administrator. Everything loaded great this time ... so now, I have my VM Setup and I'm ready to move onto the next step - Installing Oracle Unbreakable Linux. In the next installment, I'll show you a little trick to making the install easier from VM. Rather than having to burn the Linux CD's or the DVD you can simply load directly from the ISO images.

More on that in my next installment.

Tuesday, December 01, 2009

11gR2 RAC on VMWare Part One

“Live life fully while you're here. Experience everything. Take care of yourself and your friends. Have fun, be crazy, be weird. Go out and screw up! You're going to anyway, so you might as well enjoy the process. Take the opportunity to learn from your mistakes: find the cause of your problem and eliminate it." - Anthony Robbins

So, with that quote in mind, I set out on my new venture, installing Oracle 11gR2 RAC on VMWare on MS Vista. Did I mention on 4gb?! I do this hopeful that I can use this configuration for my RMOUG class on creating a RAC cluster on Windows using VMWare.

Already I hear the collective gasp from the crowd. You are right, I must be mad.

I've installed RAC many a time, and in fact, I've successfully installed it on Win XP with 2GB using VMWare and 10GR2. It was slow, it was unusable but it would come up and I could access the SCOTT schema and query the EMP table. Thus, I called it a success and moved on.

Now the target is a much loftier one... This would be my first foray into the new 11gR2 RAC, believe it or not. Since R2 has come out, I've played with the database quite a bit, but not with a clustered version. It just has not been something I needed to do, and I'm also a bit of a manager type now.... so getting my hands dirty is only an occasional thing I'm afraid.

So, let me first describe to you my environment. I'm running on a dual core Pentium, running Vista and 4GB. Now, already I know I'm in trouble because from all accounts 4GB is like the bare bones minimum. But I am a manly DBA, and I face resource constraints and spit in the face of them. I can and will get this working.

In my next blog post, I'll share with you my first few frustrations and failures. As a hint, the new version of VMWare and Vista don't play nice.

Wednesday, October 14, 2009

OOW 2009 and an appology...

First, I apologize for being behind on getting the results of the merge contest posted. I will take care of that in the next few days.

Second, I wanted to share with you what I thought was a very funny picture that I took at OOW 2009.



Note the SQL Server sign juxtaposed to the Oracle Demo Ground sign.....

Well, I thought it was funny. :-)

Friday, September 25, 2009

We have a winner....

My Merge contest blog entry has a winner! I'll post a blog entry in the next few days with the recommended merge commands and I'll list the name of the winner.

Thanks to everyone for participating!!

I apologize for not doing a better job of keeping my blog up. I'm finishing up my 11gR2 RMAN book and that and work have been consuming a great deal of my time!

RF

Monday, June 22, 2009

First real IFR This last weekend - Great flight!!

So, in all my IFR training I managed to actually fly IMC (Instrument Meteorological Conditions - or in the clouds) about 30 minutes. The rest of the time was under a "hood", which restricts your vision to just the instruments. This is not an unusual thing but I think every newly minted instrument pilot (got my certificate in November) waits excitedly for his first real "in the clouds" experience. In Utah it's even harder because lots of times the clouds have ice in them, which one wants to avoid. So, after getting my IFR ticket, I was very much looking forward to an opportunity to fly some real IFR.

This weekend, I got mine!!

I decided to take myself to Wendover, UT. (that's where the airport is, the city is in Nevada) on Saturday. If you have been watching the weather you might have noticed that Utah has gotten a lot of rain of late. Saturday's weather was cloudy and rainy. Perfect!

I filed my IFR flight plan on my computer and took off for Wendover. My intention was to catch my clearance in the air which is what I did. Now, the MEA (minimum en route altitude) between South Valley regional (U42) in Salt Lake City and Wendover (ENV) is 9,000, which means I have to fly at or above 9,000 feet to go IFR. A Cessna-150 isn't a fast climber, particularity when you are full fuel. I was pretty much at the edge of the Salt Lake City (SLC) class B airspace when I finally hit 9k. At 9k I got my clearance from Center and I was on my way.

About 30 miles or so from SLC, I hit clouds for the first time. it was a line of very light precipitation .... the clouds enveloped me, light rain falling on my windshield and briefly looking outside (you want to be constantly scanning your instruments of course) it looked like I was enveloped in marshmallow or something.

At some points you could look down and see the roads below. This is really a pretty good route for single engine instrument flying... there are a few mountains, but you are pretty much following I-80 the whole way... and for the most part are flying along a valley (with one good ridge to pass). You can see the map of my route here (this is known as a sectional chart).

Also, click on this link and you will see the low altitude en-route chart that I used for my flight.



The ceilings were at about 8-10k MSL for the most part (but at some points seemed much lower), so if I had a problem I'd have lots of visibility to land on the highway. I also have a nice GPS which shows me the highway, terrain and the like, so coming down in an emergency would be a reasonable experience.

It took me a while to really get my scan going well, and I was hitting some light chop too. Also there was some lateral sheer trying to move me too and fro. After a while I got things settled down and pretty much did a good job of staying on the airway. The airplane was filled with Fuel. Originally I filed for 10k, but could only get it to climb to 9.5k. Center was nice enough to let me go down to 9k and fly the rest of the route. When it's heavy, that 150 does not want to climb fast at all!

The Outside air temperature (OAT) was about 40 degrees, so there was no risk of icing of course. However while in the clouds I did experience a brief and slight loss of power. I applied some carb heat and that took care of the problem. That was my second experience with carb ice... it can be a bit scary, but if you know what to do, it's not a big deal avoiding it. The only problem is that in applying carb heat, you loose some engine power. This can make holding altitude difficult if you are already barely holding it. I didn't have too much of a problem at 9k, but I suspect that I'd have not been able to maintain 10k with carb heat applied.

I exited the clouds about 25 miles east of ENV or so.... Excited for my first IMC experience. I proceeded to do a visual approach into ENV which went smoothly. I ate some lunch at ENV and then started the return trip.

On the way back, it became clear that I'd have to file IFR again. I dialed up Cedar City Radio and opened the IFR flight plan with them. I then called Center, got my clearance and was again on my way. On the trip back, I hit clouds again for about 20 minutes or so. it was a thrilling and exciting experience! Entering the Class B airspace, I canceled IFT and returned to SLC and my home airport South Valley Regional (U42) via a normal visual approach.

It is this kind of flying that I got my instrument ticket for! Had I been VFR only, I'd have not been able to go because of mountain obscuration and some low ceilings that, with mountains present, probably would have caused me to scrub the trip. I'm not into scud running with mountains around that you can't see the tops of. As it was, with my little C150, my VOR and a GPS as a backup I safely made my trip and enjoyed a great high that few pilots really get to experience.

I can't wait to do it again!

If I didn't already like the Black Eyed Peas, now I *really* do.

While I can't quite say I've been a ravid fan of the Black Eyed Peas, I've enjoyed their music in the past and I very much like their new album (The E.N.D.), especially the songs BOOM BOOM POW and I Gotta Feeling. Now, having read this news post, I'm even more of a fan.

Anyone who will stand up to Perez Hilton is just A-OK in my book. In my mind Perez is one of many things wrong with America. While violence is not a good thing, and I sure don't support assault and do support self-control, I'm sure that there are those that feel Perez probably more than deserved what he got.

Monday, June 15, 2009

RSS Feed is back...

I re-added the RSS feed button at the bottom of the Blog page. It was lost when I changed to the new Blog template.... lemme know if something is still broken!

Sunday, June 14, 2009

MERGE ME BABY!! A Contest for a new book!!

At the end of this post I'm starting a contest. So read the post and maybe you will win a book!!

So, I've had occasion to work with the MERGE command of late. In my travels I've found the MERGE command to be a way under utilized command. It's been a while since I used it, to be honest, and I had to re-learn a few things. I think in the process I have a few interesting tid-bits to share.

Let's take a case where we have a table that we want to store all objects with a status of INVALID in. For the sake of keeping things clear later, we will call the table MERGE_TARGET. Here is the DDL for this table:

Drop table merge_target;
create table merge_target
as select object_id, object_name, object_type, status
from user_objects
where status = 'INVALID';
Alter table merge_target
Add constraint pk_merge_target primary key (object_id);

Now, let's create an object and invalidate it. We will create a table, then create a view dependent on that table. Finally we drop the table making the view invalid.

Drop table dodo;
Create table dodo (id number);
Create view view_dodo as select * from dodo;
Drop table dodo;

Excellent, now we have an invalid object called view_dodo. We can see this by querying the user_objects view as seen here:

select object_name, status
from user_objects
where status='INVALID';

OBJECT_NAME STATUS
-------------------- -------
VIEW_DODO INVALID

The problem is that our merge_target table is not up to date:

select * from merge_target;
no rows selected

How do we update it. Clearly we can use the insert command but what happens as time goes on and records change ... we will have to do inserts, updates and deletes. This is where the merge command comes in. With one simple command we can get the table updated. Here is our first crack at a merge command. Don't stop here though, becuase this does not take care of every possible situation that might occur:

merge into merge_target mt
using user_objects uo
on (uo.object_id=mt.object_id)
when matched then
update set mt.object_name=uo.object_name,
mt.object_type=uo.object_type,
mt.status=uo.status
where uo.status='INVALID'
when not matched then
insert (mt.object_id, mt.object_name, mt.object_type, mt.status)
values(uo.object_id, uo.object_name, uo.object_type, uo.status)
where uo.status='INVALID';

Now look at merge_target:
SQL> select * from merge_target;

OBJECT_ID OBJECT_NAME OBJECT_TYPE STATUS
---------- -------------------- ------------------- -------
70803 VIEW_DODO VIEW INVALID

So what if the view is renamed, but still invalid?

rename view_dodo to dodo_view;
select object_name, status
from user_objects
where status='INVALID';

OBJECT_NAME STATUS
-------------------- -------
DODO_VIEW INVALID

select * from merge_target;


OBJECT_ID OBJECT_NAME OBJECT_TYPE STATUS
---------- -------------------- ------------------- -------
70803 VIEW_DODO VIEW INVALID

Let's issue the MERGE command again and see what happens!

merge into merge_target mt
using user_objects uo
on (uo.object_id=mt.object_id)
when matched then
update set mt.object_name=uo.object_name,
mt.object_type=uo.object_type,
mt.status=uo.status
where uo.status='INVALID'
when not matched then
insert (mt.object_id, mt.object_name, mt.object_type, mt.status)
values(uo.object_id, uo.object_name, uo.object_type, uo.status)
where uo.status='INVALID';
commit;

select * from merge_target;

OBJECT_ID OBJECT_NAME OBJECT_TYPE STATUS
---------- -------------------- ------------------- -------
70803 DODO_VIEW VIEW INVALID

Wow! Cool. It seems that Merge does an insert, and then also does updates!
So what happens if the view becomes valid again? Let's see:

Create table dodo (id number);
alter view dodo_view compile;
select object_name, status
from user_objects
where status='INVALID';
no rows selected

Sweet, now there is nothing in USER_OBJECTS that is invalid. What about the merge_target view though, it still has VIEW_DODO in it. What do we do? We issue the MERGE command again!

merge into merge_target mt
using user_objects uo
on (uo.object_id=mt.object_id)
when matched then
update set mt.object_name=uo.object_name,
mt.object_type=uo.object_type,
mt.status=uo.status
where uo.status='INVALID'
when not matched then
insert (mt.object_id, mt.object_name, mt.object_type, mt.status)
values(uo.object_id, uo.object_name, uo.object_type, uo.status)
where uo.status='INVALID';

SQL> select * from merge_target;

OBJECT_ID OBJECT_NAME OBJECT_TYPE STATUS
---------- -------------------- ------------------- -------
70803 DODO_VIEW VIEW INVALID

Woops, that didn't work so well. If you are not running Oracle Database 10g and later, this is a problem you will need to deal with manually. However, there is a solution in Oracle Database 10g. To use it, we have to update the Merge command just slightly to that seen here:

merge into merge_target mt
using user_objects uo
on (uo.object_id=mt.object_id)
when matched then
update set mt.object_name=uo.object_name,
mt.object_type=uo.object_type,
mt.status=uo.status
where uo.status='VALID' or uo.status= 'INVALID'
delete where (uo.status='VALID')
when not matched then
insert (mt.object_id, mt.object_name, mt.object_type, mt.status)
values(uo.object_id, uo.object_name, uo.object_type, uo.status)
where uo.status='INVALID';

Now, let's see what happens!

select * from merge_target;
no rows selected

Great!! Note that we added a delete clause under the update clause. Also note that the where clause in the update clause is now changed to include updates of both VALID and INVALID records. That's the rub with the delete clause, it ONLY works on records that have actually passed through the update clause. So we have to process all of the VALID records as an update, before we can actually process them for a delete. That was something that tripped me up for a while before I got it figured out, so learn from my mistake. :-)

Finally, there is still a problem. What happens if we do this?

-- we drop the table, invalidating the view
drop table dodo;

-- Re-populate merge_target with the invalid view again
merge into merge_target mt
using user_objects uo
on (uo.object_id=mt.object_id)
when matched then
update set mt.object_name=uo.object_name,
mt.object_type=uo.object_type,
mt.status=uo.status
where uo.status='VALID' or uo.status= 'INVALID'
delete where (uo.status='VALID')
when not matched then
insert (mt.object_id, mt.object_name, mt.object_type, mt.status)
values(uo.object_id, uo.object_name, uo.object_type, uo.status)
where uo.status='INVALID';

select * from merge_target;

OBJECT_ID OBJECT_NAME OBJECT_TYPE STATUS
---------- -------------------- ------------------- -------
70803 DODO_VIEW VIEW INVALID

Now, what happens if we drop the view completely?

drop view dodo_view;

select object_name, status
from user_objects
where status='INVALID';

no rows selected

Let's update merge_target now. Once this is done, it should be empty, right?

merge into merge_target mt
using user_objects uo
on (uo.object_id=mt.object_id)
when matched then
update set mt.object_name=uo.object_name,
mt.object_type=uo.object_type,
mt.status=uo.status
where uo.status='VALID' or uo.status= 'INVALID'
delete where (uo.status='VALID')
when not matched then
insert (mt.object_id, mt.object_name, mt.object_type, mt.status)
values(uo.object_id, uo.object_name, uo.object_type, uo.status)
where uo.status='INVALID';

select * from merge_target;

OBJECT_ID OBJECT_NAME OBJECT_TYPE STATUS
---------- -------------------- ------------------- -------
70803 DODO_VIEW VIEW INVALID

Oh BLAST! We have found another hole in our logic somewhere. Can you find the answer? The answer results in a somewhat more sophisticated version of the merge command.

So, here is what I'm going to do.

For the next 90 days, I'm not going to post the answer to this question. For the first person who posts a comment to this blog with the correct answer to this question will go one free copy of our 11g RMAN Backup and Recovery book when it comes out!! I will not post comments that have the correct answer until the contest is over. Once the contest is over, I'll post the winners name and you will need to send me your mailing address so I can ship you your book.

All shipping costs on me unless you live outside the current solar system! ON September 15th in a separate BLOG post I will post the answer to this query. If you have an urgent need for the answer you can write me at robertgfreeman@yahoo.com, but you will not be eligible for the book. Of course this offer does not apply anywhere that it is illegal to make such an offer, you are responsible for the tax ramifications, etc...etc.... This is a personal contest and has no association with Oracle, Oracle Press, Santa Clause, the North Pole, any of my employers past or present or anyone else in the world living, dead, half-dead, in Zombie format, who may live in the future or who might be a fantasy in someones head. My family is not eligible (like they know anything about Oracle) nor is anyone at any of my employers within the last 5 years. Any employee of Oracle Corp. is also not eligible or anyone with Oracle Press.

Can you make something too simple?

I'm working on the new revised edition of our Oracle Database Backup and Recovery book for Oracle Database 11g ... I've been looking at some comments here and there that have been made about the book, and also comments about the competition. What I find interesting is that the approach that the competition has taken, the recipe approach if you will, seems to be popular with some. I suppose that makes sense. Everyone wants something to be easy. But that's the rub, can you take something as complex as backup and recovery and make it too simple?

In the recipe book, in the first two chapters they have you do a backup recipe and a restore recipe. Now the Junior DBA (or perhaps the overworked senior DBA) might say, FANTASTIC, I backed up my database and I restored my database, I'm set. They might just setup a script, start backups and off they go, not fully realizing what they have just done.

For in the book, they fail to mention some salient points.

1. That the recipe will have you backing up into ORACLE_HOME by default. Since there is no previous recipe to configure the Flash Recovery Area, that is where your backups will go by default.

2. They do have a recipe for putting the database in ARCHIVELOG mode... However if you do that first and then follow the recipe for backing up your database, you might find yourself in a world of hurt. The backup recipe does not backup archived redo logs.

3. Since you are not backing them the archived redo logs, or removing them, guess what happens to the archive log destination directory?

So in an effort for simplicity the chapter falls short of the mark a bit. I know we all want simple solutions. Something we can craft out of the box without having to understand, without having to think, and that's all well and good. I'm not sure it's practical when dealing with backups of your database.

I'd love your feedback on how we can make our RMAN book better. I'd love to hear any suggestions you might have out there on how we can make it better, what we can add, modify or even delete.

Wednesday, May 27, 2009

The great SLC UFO on 5/27!!

So... last night (5/27) I was taking my normal 10pm walk. My walk takes me through my neighborhood and I like to do it late at night when it's cool and quiet. My path involves me walking down a about four streets or so, and has a couple of annoying dogs along the way but otherwise is pretty uneventful.

The sky was crystal clear that night. I love the stars and space in general so often as I'm walking I'll have my IPod humming some tune and I'll be looking out at the sky in wonder. Of course all the street and house lighting really detracts from the view but what can you do? I'm also on the approach end of SLC 17, 16R and 16L... I need to go fly it someday, but I'm pretty sure the ILS to either 16R or 16L is smack dab over our house, as is an altitude step down. So we get a lot of aircraft traffic over the house as they approach the airport. The point is, I know what airplanes look like being a pilot and all that.

So last night I'm on the return leg to the house, almost done with my walk and I'm watching the sky when in the west I notice this VERY BRIGHT WHITE light in the sky. The light is moving from west to east at a fair clip, but I would not say it was the fastest thing I've ever seen. I'm telling you that an F-16 at the same altitude you are only maybe a mile away moves pretty darned fast.

So I'm watching this light move from West to kind of a South East trajectory. As I studied it I noticed there was no other lighting on whatever it was that I could see and it was quite high apparently.

My first thought was that it was a satellite being illuminated by the sky, but it seemed way to bright for that and it stayed lit for a long time. I've seen satellites in the sky before and they don't tend to stay lit up by the sun very long.

My second thought was that it might be a missile/rocket launch from CA. or somewhere in the Nevada desert. I've seen rocket engines lit up brightly, and this could have been a rocket engine. I also considered that it might have been some experimental aircraft (Aurora?), but then why would it be lit up so brightly.

The object disappeared into the horizon to the South East... what was truly interesting was just as the object was disappearing I saw another fast moving meteor fly in from the east to the west, seeming to converge with the bright which object. A truly fascinating show to watch in the sky.

So what was it I saw? I came home and did a bit of research. I looked to see if there were any rocket launches from Vandenberg AFB or anywhere, but saw nothing for that day. They mostly launch over the Pacific anyway I'm pretty sure. What I found was that the ISS (the International Space Station) was almost directly overhead at the time. So I'm like 99.99% sure that what I was was the ISS. The meteor was just a bonus object.

It was a fun experience.... I've always wanted to see some UFO before I die... a silent black triangle in the sky, or one of those glowing orbs that seem to float around in south Texas cities... but alas, I'm stuck with the ISS. Blasted Aliens!!

Thursday, May 21, 2009

Well, I'm glad the place isn't on fire...

I'm in Cleveland this week for a conference. I'm staying at the Embassy Suites hotel in Downtown Cleveland....... Supposed to be a nice hotel (and the room is nice except for the Wasp that attacked me when I got in last night.... it lives no more).

I'm on the 12th floor. Just now, two very large men got into some kind of an altercation on the floor. It was loud, and I was watching them, it looked like it had the potential to turn into a fight.

So, I try to call the front desk to see if they think it might be a good idea to get security up here.... ring, ring, ring, ring, ring... no answer. I tried to call the operator, same thing. The General manager, same thing.... and it's getting louder and they are running all over the floor. Do they have guns? This is Detroit, who knows? There is also a poor maid up here... so finally I punch the emergency button.... Ring... Ring...

Click.. (oh thank goodness, a human being)

Thank you for calling the downtown Embassy suites..... If you know which extension you would like to dial...

Thank goodness it's not a fire or a shooting. I'd be dead by now as would half the floor before someone would find out. Somehow I'm thinking the EMERGENCY button ought to get answered.

Oh... did I mention that fire trucks have now showed up at the hotel three times in a row....Twice last night at 3am and about 3:45 am and then just now.... Fortunately they did not evacuate the hotel last night.

And then there were the very loud, obnoxious people outside yelling at each other at 2am... I could hear them from my 12th story, closed window.

Wow... what a city.... :-)

Sunday, May 03, 2009

Collaborate 2009 - Hello Orlando

Greetings to you! I come to you from my University Session training room at Collaborate 2009 in Sunny (read hot and HUMID) Orlando, Florida!

I flew into Orlando last night. Lisa came with me but by way of a different airline. Somebody (who shall remain nameless) waited too long to buy her air and thus we ended up on different flights.

Flying from the West to the East is so painful. Changing two time zones, catching connections. I flew Delta from SLC to Atlanta, and then had all of 40... that's right, 4 - 0 minutes to catch my connection. Of course, I arrived in terminal A and had to catch my flight in terminal E. Of course my flights were at the far end of each concourse.

So my training class is on the 11g OCP. Today I realized that there might be a bit of a problem.... some in my class were expecting that the class would be on the 10g to 11g upgrade (1Z0-050) and some thought it was for the 10g OCP exam (1Z0-053). Oh boy..... So I'm scrambling to provide information to both groups. There is some cross over but then there is also a lot of basic stuff in the OCP that isn't in the Upgrade exam.

I still have not had time to do a proper post on Chile!! I had such a great time there and I really need to take the time and do a decent post on the experience. There were also some great pictures taken there.... The one you see attached to my blog now was taken by Hans Forbrich in Chile. He took some awesome pictures that I need to share with you all sometime soon.

While in Chile I got to meet so many new people for the first time. I met Hans of course, then there was Fernando (Ok... so his name is *really* Fransisco but for some reason I was calling him Fernando). I also met Daniel Morgan and Tim Hall for the first time, as well as Ben Prusinski and Graham Wood.... I'm sure I'm forgetting at least one or two others, so I hope you will forgive me!

Collaborate looks to be a great experience this week. I'll provide some more thoughts as the week progresses!

Tuesday, April 28, 2009

My blog has a new look...

I've updated the template on my blog, so it has a bit of a new look. I'll be playing around with it a bit to make it look better soon! Hope you like the changes!

Sunday, April 26, 2009

It's been a while! Transportable Database

So, I'm working on a University session for Collaborate-09 in Orlando next week and I came across this little RMAN feature that I have not written about. So I thought I'd share it with you.

It's called Transportable Database. It's really an off-shoot of Transportable tablespaces except now you can move the whole database kit-and-kabootle over to a brand-new database on any supported Oracle platform. Transportable database is supported by RMAN. This is a new feature starting in Oracle Database 10g Release 2.

The steps to move the database between platforms is pretty straight forward:

1. Verify the prerequisites
2. Identify any external files and directories with DBMS_TDB.CHECK_EXTERNAL.
3. Shutdown (consistent) and restart the source database in READ ONLY mode.
4. Use DBMS_TDB.CHECK_DB to make sure the database is ready to be transported.
5. Run the RMAN convert database command.
6. Copy the converted files to the target database. Note that this implies that you will need 2x the storage on the source database for the converted files.
7. Copy the parameter file to the target database.
8. Adjust configuration files as required (parameter, listener.ora, tnsnames, etc).
9. Fire up the new database!

This can make for a much quicker and easier migration between platforms than the old IMPDP/EXPDP method!!

We are working on the 11g edition of the RMAN book ... look for it soon!

Monday, April 20, 2009

How many licks does it take...?

The Oracle 11g OCP exam Beta is kind of making me think of the old cartoon where the kid asks around "How many licks does it take to get to the center of a tootsie pop". The idea is that it takes a LOT of licks, and that nobody could ever really be that patient. In the end, an Owl takes a few licks and CHOMPS on the thing, insisting that it only takes so many licks. Here is the video of the commercial.

You might ask, what does this have to do with Oracle? Well, it has something to do with the Oracle 11g OCP exam (1Z0-053) that has been in beta for a looong time. We are talking ages! If you look on Oracle's Beta web site it says that the dates for the exam are: April 12, 2008 to June 30, 2009..... I don't remember a beta taking so long!!

I'm presenting a University Semenar at Collaborate on the 11g OCP exam called the 11g OCP Exam Cram. When I submitted the abstract for the semenar, I figured that the beta would be over. But nooooo.... Of course the topic areas will probably remain the same, but I just think it's silly to have a beta exam that runs over a year.

When I wrote my new OCP Exam Preperation book for this test, I figured it would be out of beta by the time the book went to press. Not So!!

Wonder if they are waiting for something big with that June date.... hmmmmmmmm.....

Sunday, April 12, 2009

Where in the world is Robert?

I'm in Santiago, Chile this week for a meeting of the CLOUG (http://www.cloug.org/1.html). This is one of the things I love most about speaking... getting to go places I've never been before. I've never been south of the equator, so I'm looking forward to seeing a whole new set of stars tonight. Francisco Munoz wrote me and asked if I would attend.... So far this has been a wonderful trip. I'm in a very nice hotel with a great patio all to myself... just my luck that I get wonderful accommodations and I'm all by myself.

Today is a recover day for me. I've already managed to make trouble by blowing a fuse in my hotel room when I tried to plug something in. I thought I had the voltage thing worked out, but apparently not. Anyway... after a whiff of ozone and a call to maintenance, they got right up and fixed my problem and educated me on Chilean electricity.

The airport here in Santiago is very modern and having traveled internationally a bit, I find it to be one of the easiest to traverse for incomming travelers. I don't speak spanish, but thus far that has been no issue. I had a representitive of one of the airport cab companies pretty much accost me right out of customs, but he was quite nice and honestly, very helpful. The Cabbie (need to find out what they really call them here) was quite nice, telling me the names of the different places as we passed them and trying to teach me some elementry spanish. I know a little spanish but certanly not enough to be conversant. The poor man just didn't seem to realize that I'm language ... whats the word, hampered... constrained... basicly I don't learn languages well at all (just ask Lisa!!). He was trying to talk to me in some basic Spanish... I figured out his family lives in New Orleans (I knew the word for family, but didn't get New Orleans for a while). It took me a while before I realized he was asking me if I was from California. He didn't know exactly where Utah was, but he seemed to understand when I said Next to California (well, not really, but close enough).

So, here I am in Chile.... I'm looking forward to meeting Oracle professionals here and talking to them about RMAN!!!

Sunday, April 05, 2009

10g RAC Bug

So, we ran into a nasty bug last night. We are running 10g (various releases) RAC on 3 or 4 node clusters. In this particular configuration we had a 4 node cluster, with an instance for this database on each node. 2 instances were active, two were configured but not running.

DBA went to make redo log adjustments (adding a new group) and database crashed. There is a bug in 10g (and apparently 11g) with respect to this kind of configuration. If you are running an active/passive kind of RAC configuration, you will want to read up on the bug. Be very careful making any online redo log changes if you are running in such an environment.

Metalink bug number is 6786022 and it's public. We understand patch is in QA to correct. There is also an event you can set to avoid the problem. See the bug on Metalink for more information.

So, check out the bug and make sure your system is not vulnerable.

Sunday, March 01, 2009

Where has Robert gone?

It has been a looong time since I've done a blog entry. Way to long in fact. There are a number of reasons why...

So, I have a number of things I'd like to put in this post, and then I'll do my best to try to keep up with this blog better.

First, I've had a few people tell me that the email link on the blog page is not working right. I'll look into that. You can email me at:

robertgfreeman@yahoo.com
or
dbaoracle@aol.com

any time. I love your emails. I'm available for speaking if you like, for training engagements (I love doing RMAN, New Features and DBA kinds of training), light consulting and the like.

I'm happy to reply to any email. I do have one rule though. If you have an Oracle related question, please post it on a newsgroup instead. Oracle-L is one that I'm on among others. I've not had the time to keep up with newsgroups along with this blog I'm afraid. Why do I ask you to go to the newsgroups? #1, you get your answers quicker. #2 you get access to a number of Oracle professionals, many of whom know more about Oracle than I do. #3, the world will benefit from the question you have asked.

I love your emails though. I'm available for speaking if you like, for training engagements (I love doing RMAN, New Features and DBA kinds of training), light consulting and the like.

I just finished my newest book..... I'ts for Sybex and it's called OCP Oracle Database 11g Certified Professional Study Guide. It's a prep guide for the Oracle Database 11g OCP Exam (Exam 1Z0-053) and I'm very excited about it. I love teaching and helping people learn new things, and I hope that all of you who seek for your 11g OCP will benefit from this book. I worked with my old friend Charles Pack on this book and I think it's turned out to be a great book.

I'm getting ready to start on my next book, Oracle Database 11g RMAN Backup and Recovery. It is my hope that this book will *continue* to be the go-to book for RMAN and Oracle. The book will be the most up to date RMAN book out in the market. Look for more information on this book to be forthcoming here in this blog. I can tell you we are going to be adding lots of content and will clean up a lot of stuff too. If you liked the RMAN book before, trust me, this copy will be even better.

I suppose thats it for now. I plan on being better at posting in my blogspace. It's an interesting time for us all. In closing let me say that in these hard times, it's easy to loose sight of the really important things. When the economy is nose diving, when so many things seem to be working against us, it's east to loose track of basic principles that are important. Remember that liberty and freedom are the foundations to everything else, including prosperity. There will always be those who abuse those liberties, to be sure. We just have to realize that in spite of those few abuses that liberty is the right of every human being, it is a gift of God given to each of us. We must fight for it at every turn, even if we fight for a cause we disagree with. We must preserve liberty, freedom, our right to speak and choose without constraint (within some pretty wide constraints perhaps, you still can't scream fire in a theatre)....
 
Subscribe in a reader