In over my head
Started: Friday, March 19, 2004 22:05
Finished: Friday, March 19, 2004 23:12
Though it was discussed a bit yesterday, it wasn't until this morning that I got the call. A client of a former (and perhaps future) business partner of scottgalvin.com needed help setting up their web application/database servers. For some reason that's almost beyond me now (though still flattering none the less), I was considered a prime candidate for the task of setting up Oracle and getting a client-supplied Java web application to talk to it. (Note that this new project is completely separate and distinct from anything I may have obliquely referenced previously.)
Having done absolutely nothing with Oracle in my life, I was somewhat hesitant, but, with a little bit of additional prodding and encouragement from scottgalvin.com, I decided to try and make a go of it. What better way to learn than to be thrown into the midst of it? It wasn't like I would have to craft anything from scratch. It would just be a matter of getting the software installed and working, import an existing set of data, get tomcat going with the right jdbc driver, and all will be well, right? Besides, the money for this one is pretty decent.
So I met for lunch today with the guy who had all the info, learned about the network topology (several boxes for the project, including separate machines purely for development testing -- a far cry from the buildmeasite "one server for everything, including editing live code" philosophy), and what the project entailed. It all looked very sensible and straight forward, though I was still a bit nervous about the big unknown of how hard it would be to make Oracle interact with the pile of data I was being handed.
The guy I talked to said most optimistic goal would be to have it up and running (at least on the dev server) tonight (which would make the client absolutely thrilled). But anytime before Monday would be good.
Armed with a sheet full of IP addresses and other info, I returned home, and did a bunch of ssh-ing around.
Well, the afternoon is over. The evening is well underway. I haven't even gotten to looking at the client's code or data yet. In theory, Oracle completed the entire installation except for the last step successfully. It's that last step, that requires actually being able to connect to.... something or other.... that's screwing things up.
Having toyed with it for several hours, ran the install program twice from scratch, hunted around in their online documentation, attempted repeatedly to find answers with google, and finally been reduced to poking and prodding randomly around the installation tree at various config files, shell scripts, and curious looking binaries, I can now say that Oracle is a certifiable Hulking Nightmare Beastly Menace of a Thing.
The error messages are so obtuse, and the documentation so poor that it took me a good couple hours to finally figure out that problem I was having was most likely caused by some daemon not being started, although what process is supposed to be running, I'm still not exactly sure. (Or... something like that; everything surrounding The Beast seems to have its own freakin language apart from the rest of the world.)
As it is, The Beast has been filling up the process table with buttloads of goop. Java processes, perl programs, assorted random binaries getting spawned. You name it. As if your OS's package manager wasn't good enough for it, the thing not only includes its own binary for the perl interpreter, but an entire subtree of CPAN modules all to itself (many of them familiar standbys for most distros).
Ok, so it's picky about what libraries it wants to use. Fine. But for crying out loud, the error messages. The error messages! Tutorials littered with calls to all sorts of strange programs and daemons, but nothing to explain the purpose of each individual step.
All sorts of strange X-based interactive configuration utilities, not to mention web configuration interfaces on interesting ports (some of which seem to work, others not).
I am DETERMINED that I will somehow convince this thing to run at least one freakin query for me. If I can do that, I can do anything.
This project may or may not end up being a botch. I sure hope it's not. Besides being horribly embarrasing, that could potentially put a dent in future prospects for both me and others who have staked their reputations on my supposed abilities. If there's any possible way to do so, I will make it work. Either way though, even if it ends up being an embarrassing failure, I'm going to learn a lot from it.
A little earlier tonight, when my brain could take no more, I took a break, and walked around the block a couple times. I also found via slashdot a place with some cool tunes for sale, and bought a little bit of downloadable music from Audio Lunchbox. Though the overall selection in their store is kind of mediocre, I managed to find one album I really like, plus a couple of other individual tracks. It's probably just as well that they don't have more selection, since that would just mean I'd likely be tempted to waste more money.
(Yes, I know many many people have already been buying downloadable music from Apple's iTunes store for over a year now. I haven't, because no matter how good their selection is, or what other wonderful merits their service may feature, Apple has yet to discover the secret of open and portable file format standards. Thus their otherwise innovative business is rendered useless to me; even if they released a client for my operating system of choice, I'd be unlikely to pay for music that only works in 1 player. So it's good to see a competitor entering the market that actually cares about what customers want.)
The purchase and download was painless, even being so nice as to give me the option of grabbing all my songs in one big zip file. And them oggs sound mighty good.
Now I suppose I shall try getting back to figuring out the Beast. Who knows. Maybe I'll get lucky and actually find a way convince it to create a simple table or something. If nothing else, perhaps this will give me a renewed appreciation for postgres. In fact, I think it already has.
by Bitscape (2004-03-20 00:16)
In a move of desperation, I played whack a mole with all the processes oracle had started, wiped out the entire tree where I had installed it, hunted down all the config files and deleted them, and installed again from scratch.
This time, rather than trying to tell it to install in a normal place like /usr/local, I let it install in its own wierdo default directory. The install finished and worked where it didn't before!
My guess: Somebody probably hard coded a directory name somewhere when they shouldn't have. Blast it.
Now I get to begin the adventure of figuring out how to use this insane thing.
"Yield to my will, oh beastly contraption! I command thee!"