Lennart wasn't quite out of college yet. He still had a semester to go after his co-op job, and he had used everything he'd learned from his Career Integration course to land a job with a respectably-sized, multi-national corporation. The position was end-user support for the company's Oracle installs. It wasn't an ideal position, especially considering some sentiments he agreed with-- but given the dry job market, he couldn't complain.
On his first day, he was given a desk, and a dust-coughing beige box. It was just like a computer, only slower. He spent the better part of the morning uninstalling a plethora of memory-hoggers. That, and rebooting. So much rebooting. Each uninstall brought him one logarithmic step closer to a usable computer.
He'd just uninstalled Oracle Instant Client and was about to install the full blown Administrator-Client, when the support phone rang.
"The database is gone!" said the frantic voice on the other end.
What's gone and what's past help
"I understand the database being gone could be a problem, and I am more than happy to assist you," Lennart soothed, putting last semester's Interpersonal Communications course to good use. "It would be a big help to me if you could read the error message."
"ORA-12154: TNS: could not resolve the connect identifier specified."
That had been covered in Introduction to Oracle Databases. There was a problem with the user's tnsames.ora file-- a sort of DNS for Oracle. Without it, applications don't know where to look for their databases.
"I'd like to look at your tnsnames.ora, if that's ok," Lennart said. He guided the user to the registry entry with the file's path.
"\\CORPBSMT\Everyone\tnsnames.ora," the user read, "But it's not there!"
Odd. Lennart opened the shared folder, and sure enough, it was empty. Maybe it was a permissions issue? Nope, he had Full Control.
"I need to consult with one of my colleagues on this matter. May I put you on hold for a moment?"
"Fine, but just hurry up and put the database back! I have work to do."
Frailty, Thy Name is Oracle
Lennart turned to the technician the next desk over, a harried fellow who looked a phone-call away from a self-induced head-desk related death.
"Say, do you have a copy of tnsnames.ora?" Lennart asked.
"No. Everyone's calling about it. It's gone."
"I know, my caller's file is gone, too."
"There is no 'too'. The file is gone. We use the one tnsnames.ora, so we don't have to maintain ten thousand local copies of it. Just tell the callers we're working on it."
Lennart picked the call back up. "Hi. I'm sorry, it seems we're having a bit of technical difficulties..."
It was a line Lennart repeated over and over, call after call. At the supervisor's desk, higher tiers of support were conferencing with even higher tiers of support. Each second that ticked by was roughly two and a half hours of lost productivity, company-wide.
Presently, a mass email to All IT arrived in Lennart's box. Though the file server was backed up, that particular share hadn't been. All IT departments were to immediately forward all Oracle database information they had, to rebuild tnsnames.ora. Also, All IT Departments were to immediately update all Anti-Viruses, and be on the lookout for malicious software.
Lennart mused back on his Methods of Critical Thinking course. How could the file have disappeared? Deleted by a user? Possibly, but there was that saying about not attributing things to malice. If it was unintentional, why now? What was different about today? Well, there was Lennart himself. But that was just a coincidence.
Right?
Et Tu, Lennart?
Lennart had a stomach-kicker of a thought, and set up a quick experiment to, hopefully, disprove it. He grabbed the version of Oracle Instant Client that the company used, reinstalled it, mocked up a local tnsnames.ora, and then uninstalled the Client.
The uninstaller removed everything that belonged to the client-- including every file referred to in the client's Registry entries. Tnsnames.ora 'disappeared'.
Had no one ever uninstalled the Client before? Probably not. Uninstalling things didn't seem to be commonplace, given the initial state of his PC. He knew he should report how it had happened-- but what would happen to him? H.R. had signed his contract, for whatever that was worth these days. This could have happened to anyone. He shouldn't be punished for a bad luck of the draw!
Technically, they'd already ascribed blame to 'malicious software'. Technically, they were kinda right. Thus, technically, the company wide database outage wasn't Lennart's fault. At least, not in a way anyone could prove.
Lennart quietly reinstalled the Oracle Administrator-Client, and went about his duties. He wondered if this would make a good case study for next semester's Business Ethics course.