Monday, January 31, 2011

New OBIEE Blogger: Bob Ertl

Twitter = Discovery (Part XXXIV)



Read Bob's LinkedIn profile here. According to that profile, he is the Consulting Product Manager at Oracle. Cool.

His blog can be found here. I believe that is his first post as well, Oracle BI Server Modeling, Part 1- Designing a Query Factory.

Lots of other groups or individuals blog at Oracle which is very helpful. I haven't found anyone from the OBIEE group who does so...which sucks for us.

The only other person I know of that is even related is Tim Dexter (and crew) over at the BI (formerly XML) Publisher blog.

While it doesn't appear that Bob is technically on the OBIEE development team, I will say it's a good start.

Rittman Mead BI Forum 2011, Brighton & Atlanta May 2011

Read more about it here. Call for Papers is here.

When/Where
It depends, where are you? While I would love to go to the UK, doubtful I could swing it. I'll be attending in Atlanta:

Emory Convention Center, Atlanta GA, May 25th – 27th 2011

If I were going to the UK, here are those details:

Hotel Seattle, Brighton, May 18th – 20th 2011

What is it?
Actually, it's quite cool. I would imagine it is something like the Hotsos Symposium for Performance enthusiasts, but for OBIEE.

* Its focus is OBIEE, and related technologies (Essbase, OWB/ODI etc)
* It’s run by OBIEE enthusiasts, for OBIEE enthusiasts
* It’s aimed at an intermediate-to-experienced level audience who already know the basics
* All presentations will be either technical or methodology, with no marketing “fluff”
* Numbers attending are limited to 70 (UK) and 50 (US), with a single stream, giving us the ability to focus the event on just the one topic and with a lot of audience interaction.

It's gonna be small, so there will be quite a lot of interaction amongst the people. I'm looking forward to it, heck, I might even do a presentation myself (not about Twitter, this time).

If you're interested, follow the links above. Submit a paper. Attend. Do it.

Thursday, January 27, 2011

SOUG: The Tanel Põder Edition

Note how I used the cool "õ" in the title. I learned that it's not really an "o" but the o with a tilde over it. It's the 24th letter of the Estonian alphabet apparently.



Note the casual attire. He was in shorts. Why? Because he was on vacation. In Miami.

Not only did he take time out from vacation to speak to us, he drove 3 or 4 hours to get here. Awesomesauce.

Naturally, it was a packed house.



(That's Dan McGhan there of APEX fame, he's bald too...but not fat)

We got the Advanced Oracle Troubleshooting in 60 minutes which turned into something closer to 2 hours. Yeah for us. I went into this meeting thinking I wouldn't get a whole lot from it. I try to read Tanel's blog but much of is just beyond me. I figured this would be more of the same.

I was pleasantly surprised to find that I got quite a bit out of it. I think the credit here goes to Tanel...he made the material incredibly easy to consume. Sure, there were moments there talking about latches and buffer cache's and stuff, but I think the message he was trying to convey was a methodology towards troubleshooting. In other words, don't use the shotgun approach. Systematic. That was the keyword. I loved the approach, I just wish I hadn't been so intimidated before now. I've wasted years of time on the shotgun approach.

I think it would be great to have a few hours (days perhaps) (probably over beer(s)) to just pick his brain. Ask questions. Get answers.

Oh...and the modesty. In one of his demos he displayed an OS stack trace (Solaris) listing all the Oracle function calls. Yeah, the "opi" prefix is for Oracle Programming Interface (I think) and this one is for that and so on and so on. You could hear the muffled laughter in the audience...the good kind...because not very many people know those things. It was fun to watch.

In other meeting news, I didn't win any prizes. I did, however, get to meet this guy:



You may recognize the picture, it was up in the top right corner of this page for a few weeks not long ago.

Guess where I met him for the first time? Twitter. Gotta love The Twitter. He and a friend drove down from Orlando just to see Tanel.

It was a great night. Next time Tanel will be staying at my house where I will provide him good beer and my wife will pepper him with questions on his travels and Estonia.

Thanks Tanel for taking time for us. Thanks Enrique for introducing yourself. Thanks SOUG for tolerating my odd behavior.

Google Refine

I can't remember exactly where I found this, probably Twitter.

From the website:
Google Refine is a power tool for working with messy data, cleaning it up, transforming it from one format into another, extending it with web services, and linking it to databases like Freebase.

I installed it this afternoon and played around with it a little bit. I was hoping to use it more for analysis, but I just didn't understand what it was built for.

Basically, it allows you to clean up sets of data. You know, you get an excel file from a customer and you want to make sure all instances of State match. Usually, you get a few different variations of it.

- FL
- Fl
- Florida
- FLORIDA
- florida
- FLOR.

I am sure I could go on and on. But you can select all those values and then update them with a single value. Yes, I know you could update those values in a single SQL statement. Perhaps you don't have time to create the table and load the data. This is a simple tool to allow you to do some basic data cleansing.

Check out the video to get a better example of how to use it. Cool stuff.



Monday, January 24, 2011

ORA-00130: invalid listener address...

The actual error was:
SQL>STARTUP;

ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521))
I had finally managed to create my 11gR2 instance when I got this. So what happened?

1. Started OEL 5.5 64 bit VM
2. Logged in as user oracle
3. Opened terminal and ran . oraenv
4. sqlplus / as sysdba
5. Issued the startup command.

ORA-00130 from the docs:
Cause: The listener address specification is not valid.
Action: Make sure that all fields in the listener address (protocol, port, host, key, ...) are correct.

So it has something to do with how I configured everything. What else did I change on the system?

After installing the database, I ran netca to set up the listener. I manually edited the file to change localhost.localdomain to just localhost. I also added an entry in the tnsnames.ora file to point to the listener.

From a system perspective, I decided I didn't like "new-host" showing up on my router configuration page. So I changed the hostname to oracle. I used the network GUI tool, not the CLI (still hazy on how exactly that is done).

I'm back to my sql prompt.
SQL>STARTUP;

ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521))
Come on!

I then asked The Google Machine for help. That led me to this thread on OTN. About 6 or 7 replies in, Hans Forbrich offers up some very helpful troubleshooting tips.

1. Check that your environment variables are set. Check.
2. Make sure the listener is started. Check.

There was a caveat for #2 though. If your listener blew up on start, check these other things. That's when I saw cat /etc/hosts and his output for that. I quickly checked mine and saw this:
[oracle@oracle bin]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
Ah...where's oracle? I tried pinging oracle, no response. I open up the file and add it in:
[oracle@oracle bin]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost oracle
::1 localhost6.localdomain6 localhost6
I ping oracle again, response!

Start and restart the listener. tnsping TESTING OK!
SQL> startup;
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size 2220200 bytes
Variable Size 616566616 bytes
Database Buffers 444596224 bytes
Redo Buffers 5554176 bytes
Database mounted.
Database opened.
SQL>
Awesome.

In my defense (or will this be my excuse?), I don't do this everyday, or ever week, or every month. It is a once a quarter, at best, exercise. I forget things. Next time, I won't forget. If I do, I'll have this helpful page to remind me what an ID10T I am.

Friday, January 21, 2011

11gR2 Installation Mess

I recently destroyed (on purpose this time) all my Oracle virtual machines. It was time for me to re-install to see if I had actually learned anything. The short story, I haven't learned anything.

I've been using Ubuntu at home for almost 2 years now. I'm much more comfortable working from the CLI, but I'm thankful there's a pretty GUI.

I've even managed to install the Oracle database on Linux. What's that you say? I did document it here. In my eyes, that was nothing short of a miracle.

Anyway, to my subject of my post.

For 2 weeks now I have been trying to rebuild my virtual machines. Upgraded to Oracle Enterprise Linux 5, Update 5 (Carcinogen? Carthage?). Easy, takes 6 minutes.

Download the 64 bit software from OTN. File 1 and File 2.

Unzip the files.

Install (software only).



If somehow I made it past the installation of the binaries, I'd get this running the DBCA.



Googling seemed to provide a consensus, make sure the checksum after downloaded matches what is on the download page.

Easy enough.

Here's what is on the page:
linux.x64_11gR2_database_1of2.zip (1,239,269,270 bytes) (cksum - 3152418844)
linux.x64_11gR2_database_2of2.zip (1,111,416,131 bytes) (cksum - 3669256139)
From the OEL VM:
[oracle@localhost 11gR2]$ cksum linux.x64_11gR2_database_1of2.zip 
856173531 1239269270 linux.x64_11gR2_database_1of2.zip
[oracle@localhost 11gR2]$ cksum linux.x64_11gR2_database_2of2.zip
3669256139 1111416131 linux.x64_11gR2_database_2of2.zip
OK, the first file doesn't match. WTF? I run it from my machine.
oraclenerd@oraclenerd:/media/software/oracle$ cksum linux.x64_11gR2_database_1of2.zip 
3152418844 1239269270 linux.x64_11gR2_database_1of2.zip
oraclenerd@oraclenerd:/media/software/oracle$ cksum linux.x64_11gR2_database_2of2.zip
3669256139 1111416131 linux.x64_11gR2_database_2of2.zip
Matches.

Copy it over to the other machine.

It doesn't match.

Move it over to the other machine.

It doesn't match.

Remove everything, re-download. Run the checksum. No match. Just to throw another little twist in, the checksum changes.

I'm pretty sure I've lost my mind at this point.

Anyone encountered something like this before?

Update
Monday January 24, 2011 00:43:00 EST

On Saturday morning I finally go everything running. Not exactly sure what changed, but here's what I did.

With an idea from Mr. Piwowar to use wget to download the files (didn't know there was a CLI to do that...), I used that method. Previously I had issues downloading from eDelivery using Chrome (I'm not the only one, Mr. Seiler has as well). I had tried Firefox and that wouldn't get it either (the checksums wouldn't match).

I tried wget from my host machine using something like this:
wget <url_to_file> --user=$OTN_USERNAME --password=$OTN_PASSWORD
After downloading, I verified the checksum.

I then went into my guest system and used the same method. The checksum on the first file matched, but not on the second. It actually changed 2 times while calculating it...which is weird. Anyway, I gave the copy across shared folders method a try again. Ran the checksum and it matched. I now had 2 files that were validated against the checksum.

I unzipped and installed the software with no issues. I then ran dbca and...it worked.

I wish I could explain what went wrong and where it went wrong, but I cannot. At least I have a working 11gR2 database now. Time to break it some other way.

Thursday, January 20, 2011

OBIEE: Import Excel File as Source

You would have thought this would have been as easy as the text file or xml file...but it's not. One very important step was missing. Thanks to Mr. Minkjan for providing me with that missing step.

The file I used can be found here.

Everything else you need can be found on your local BI Server.

It's been awhile, so I'll run through the steps quickly.

1. Open up your ODBC Data Sources.
2. Select the driver you want to use.



3. Name your ODBC Data Source



4. Select your workbook.



5. In the Admin tool, go to File -> Import (10g) and select your data source. Just ignore those neoview connections, thankfully I don't have to use that one much anymore (but when I do...argh, it kills me).



6. Import that file/folder



7. What you'll have in your physical layer is this:



That doesn't do me much good does it? I tried to manually create a table, called Sheet1 like this:



And this is where Mr. Minkjan's article came in handy...you have to name the ranges. Ah, yeah...makes sense? I had assumed (I know, I know what they say about that) it would be named sheets.

So how do you name ranges?

8. Highlight your selected rows/columns, right click, "Name a Range"



9. That brings up a box like this, now just call it LOB.



10. Now repeat steps 1-5 and when you get to the Import step, you should see something like this:



Easy!

Thanks to Mr. Minkjan for continuously writing up these obscure little details. They make my life, and others, so much easier.

Monday, January 17, 2011

SOUG: Where's Tanel Poder?

In Tampa, on January 27th, that's where.

Details can be found here. Please RSVP here.

The title of his talk is Advanced Oracle Troubleshooting in 60 minutes.

We have another real treat for you at our January meeting. Oak Table author and Oracle ACE Director, Tanel Poder will give us insight into some of his advanced troubleshooting techniques. What to do when the Oracle Wait Interface isn't enough and Oracle itself doesn't know what it is doing? Tanel will be showing you the method he uses for approaching bugs, session hangs and performance problems where Oracle itself sometimes doesn't know what it's doing. If you've done much Googling on Oracle issues, you've no doubt came across mentions of Tanel's Snapper, LatchProf, MutexProf, and other utilities. Come hear from the author how to utilize these and other proven techniques.

Tanel Poder is an experienced consultant with deep expertise in Oracle database internals, advanced performance tuning and end-to-end troubleshooting. He specializes in solving complex problems spanning multiple infrastructure layers such as UNIX, Oracle, networks, storage and recently the whole Exadata hardware/software stack. Tanel is one of the first Oracle Certified Masters in the world, passing the OCM DBA exam in 2002. In addition to consulting and delivering seminars worldwide, Tanel also publishes troubleshooting tools and technical articles at his website http://tech.e2sn.com and blog http://blog.tanelpoder.com.

This even will probably be very well attended. The Central Florida Oracle User Group (CFOUG) is already aware of his presence, so I'm sure they'll be sending a few people down. Since our group is quite heavy on the DBA side, we should have more than our normal number of attendees. I suspect this will be one of our better attended meetings giving the popularity of Mr. Poder. So RSVP early so we can make sure we have enough 1, room and 2, food and drinks for everyone.

Tuesday, January 11, 2011

My New Typing Tutor

Twitter = Discovery Part LLLXMI (I just made that up, is it even a number?)



That's Rich, from the AppsLab. He works with Jake.

That link takes you here. You can read about the game here. I have a very vague understanding of the underlying technology, but I don't care. That thing is pure awesome.

I suppose that sounds a bit strange, and maybe it does, but I like typing. I take pride in typing. My mother made me take a typing class in 9th grade like 400 years ago and I remember being so mad at her for that. Then I got my first job doing data entry. Then I was thankful. Yes, I've thanked my mother...

So here's what it looks like:



The goal is to type the words/objects that are falling from the top. Each letter you press fires a shot. I couldn't get a great screen shot and play at the same time, but in play, it looks something like this.



My first few go-arounds weren't to bad, but I was working so I only had a limited amount of time and focus.

When I got more time, I got up to Level 25 before quitting to do some real work. 97.6% accuracy. Not too shabby.



I hereby decree this to be the greatest thing since sliced bread. Enjoy.

Tuesday, January 4, 2011

The Blog Slog

I've been blogging for a little over 40 months. Sometimes it feels as if I just started...and other times it feels like forever. Typical.

I had pondered a year end blog, so I was looking at Google Analytics to see how this year compared to years past. I realized that it wasn't always this...easy. The first year I would be lucky to get 5 or 6 hundred a month. Why not illustrate with some pretty pictures?

Here's what it was like that first year, 2007.



126 in a week. Wow. Hard to believe...now.



A nice bump there, comparing the same time period in 2008.

Not the same week exactly.



Finally, 2010 vs 2007.



Yikes.

Here's a snapshot of the numbers comparing 2010 with 2007.



I probably could have downloaded all this data and made pretty tables for you, but I'm lazy. Screenshots will have to do.

As far as this year's numbers, I think I have my roommate John Piwowar to thank.

He occupies 4 of the top 30 slots including 2 in the top 10...

I don't like him. I have written 659 posts; in one year and 4 posts, he has managed to...well, best me. I owe him at least $0.40 and a punch in the kidney.

Ultimately the point of this post is for those of you who might have just started and are feeling a little blue that no one comes and visits. I don't know what the magic formula is, but I hope this gives you hope. Of course it's not all about page views...but it is nice that other people actually read what you write. I talk to myself, but I like humans too. So, hang in there kitty.