[:@]
About 3 years ago, I was development manager for a small company that crunched telephone call data information for its clients - it did other comms management stuff too, but that wasn't my job...
When I started the job, the Managing Director (MD) told me that we were "going to use Oracle, because it would make people take us seriously..." - I inherited a Purchase order (PO) project where the system had been redeveloped in India from an Ingres system and rewritten in VB 6 using ActiveX controls (WTF?). Maybe I should have left then, but no, I am persistent.
Having come from a SQL Server background, I knew that Oracle was a *real* database - a big, scary thing used by big companies and we were small - that, also, should have been a warning. I set about installing it.
After the first attempt, I tried to load the management tools - some kind of enterprise manager thing would do.
Couldn't find one.
Finally found some abomination of Java crapware but could NOT connect to the DB.
Reinstalled.
Same problem.
Called SQL Server database Guru friend with some Oracle expertise.
"Have you created a database?" "Have you started the database?" "Have you etc. etc."
Did all this and tried to connect to the database using some SQL Plus.
Worked.
Got a copy of the PO database converted from Ingres by company in India and loaded onto Oracle using arcane instructions and commandline - svrmgrl or some thing.
During this period, I was recruiting for an Oracle person to help us maintain the VB 6 app and write new stuff. Could not find VB 6 developer with Oracle experience on my budget.
Then one day, Eureka! Found PL/SQL developer with some ASP experience - "Do you know Oracle well?" "Inside out" - hired this Oracle Chap (OC).
And then it went something like this:
Week 1:
Me "Please check that Oracle is set up okay and everything is working"
OC "Okay..." (slightly puzzled look)
Week 2: We used VB6 and were evaluating C#.NET. So, OC needed MS skills. Sent on VB 6 course in second week.
Week 3, planning meeting:
Me "How is database being backed up?"
OC "Don't know" (slightly puzzled look)
Me (thinks - "odd, database guy doesn't know what backups are being done") "Please get backups sorted out"
OC "Okay..." (slightly puzzled look)
Week 4, planning meeting:
Me "Backups?"
OC "Think they are okay but need to do a cold backup manually to be sure"
Me "Okay, after hours"
OC "Okay"
Week 5:
MD "Please write system to produce bills"
Me (to OC) "Please write system to produce bills, any VB questions, please ask me"
OC "Okay, will do"
Week 6: planning meeting
OC "Here is first version of bill production"
Me "What is this?"
OC "Bill production system"
Me "Written in...?"
OC "PL/SQL"
Me "We use VB here"
OC "No, but I have to use PL/SQL to do processing"
Me "aha, so this is stored proc?"
OC "Erm, yes"
Week 7:
MD "Set up backup Oracle server to be used in case of failure"
Me "okay"
A this point, I ordered a new box and set it up. I installed Oracle, OC installed image of existing DB, we set up a test system, we tested against the new fail-over system and finally we were ready for a full test. Except for one problem - Oracle requires some way of being pointed at the new system in TNSNAMES.ORA. Bugger. Wrote a script to replace the TNSNAMES at logon - tested, worked.
Also during this period, other stuff was happening. OC was developing billing system, I was doing all kinds of other stuff, other developers were updating the nightmare Indian system to work properly as I had canned the Indian company.
OC was maintaining Oracle and looking after backups too.
After a few weeks we met up again specifically to check on backups and billing system as I was getting a bit suspicious:
Week 10 (or something):
Me "Backups?"
OC "Yes, no problem, I am doing them."
Me "You are 'doing' them?"
OC "Yes, the transaction files are all kept and once a week I run a cold backup after work."
Me "What? You are relying on transaction files to be able to roll the DB forward from the last cold backup if we need to recover? Where are the transaction files? On the same disk as the database?"
OC (slightly puzzled look) "Eh, yes, I think so"
Me "You *think* so? Don't you know?"
OC "I will check."
Me "Why are you running cold backups manually?"
OC "What do you mean?"
Me "Why is the backup not automated?"
OC "I will look into that"
Me "Okay, hang on. Do you know what you are doing, you look a bit puzzled?"
OC "well, you know..."
Me "Yes...?"
OC "I am a PL/SQL developer."
Me "so what?"
OC "I am not a DBA"
Me (starting to realise where this is going - Oracle has Developers and DBA's - they are different beasts, you pay a load of cash for a DBA but they cannot develop - developers cannot DBA - this was a SMALL company, couldn't afford both, assumed that a developer would be able to DBA - Oracle looking like very bad idea)
"...and you have never done a database backup before...???"
OC "I don't know how to automate one"
Me "Isn't there a tool?"
OC "A tool?"
Me "for automating DB backups..."
OC "Oh yes, there is, it's called TOAD"
Me "Ok, use that"
OC "It costs money"
Me "Why? Isn't it part of Oracle?"
... I will spare you the rest of this. I ended up getting in a consultant at £1,600 pounds for a day to plan and implement a backup strategy and have the OC maintain it. A few months later it stopped working - OC could not fix it.
When I came to review the Billing system, it was pages and pages of PL/SQL. Where was the interface? It needed to be started from a command line. How were we going to roll it out? He didn't know.
When the company got into financial trouble, he was the first to go...
Now, this is just my experience of one implementation and one Oracle person but I have met a lot of MS developers and they ALL knew how to use the Enterprise Manager maintenance wizard to backup, restore and automate backups.
They also mostly all had a good grasp of the DB and how it worked. They all had OTHER skills apart from SQL Server - VB, C#, asp, something that allowed them to develop applications. It would have been, I suspect, impossible for them to succeed at their jobs without these skills. It would have been very difficult for them to hide in a room and miss the whole windows development revolution (although I am sure that some have).
Could I have handled it better, made a better choice? Certainly (get an MS developer and send them on an Oracle course rather than the other way round would have been a good start...)
Do I blame Oracle for this mess? Yes.
Should I? I don't care.
But let me finish on this note:
It doesn't MATTER which database is "better" or "faster" or some other subjective pointy head real ale swilling sandal wearing boffins worthless value judgment. What matters is "ease of use" "getting the job done" "delivering" - the database being the means to an end, not an end in itself. Oracle fails fails fails on every count and SQL Server wins wins wins.
Thank you for listening. I feel much better now.