Real stories. Real people. Doing real things. With Toad solutions.

Impasse at Auditor Junction

“What a nightmare…get me out of this day!”

This is not a good day for a customer visit. Everything is going wrong. My exasperation here comes in the middle of my story, but it’s funny how the very thing that makes me scream in frustration right now—disruptions on a mega scale—is the very thing that will make it great in the end for the customer. Let’s rewind to the beginning.

I am at a major East Coast U.S. financials corporation with my Account Manager, waiting to give a demonstration of Quest Software’s Toad for Oracle DBA Edition to a large group of DBAs and their manager, Neville.

But there are issues.

Neville (let’s call him Nev for short, and not his real name) is very late to greet us. He is nervous, edgy. He doesn’t need to say it. We can already read it in his “things have been crazy lately” behavior. Nev gets us badged and escorts us to the room that he’s reserved. On the way there, we hear Nev taking a call on his cell to discuss a production issue.

While my laptop boots up, Nev makes a call to let his staff know that we are finally ready to meet. Minutes later, two of Nev’s DBAs enter the room. This is a huge disappointment to me and my Account Manager, as we were told to expect around 12-15 heads for our demo.

The two DBAs take their seats and Nev’s cell phone rings again. Nev has to step out to take the call. I glance at the conference room clock. It’s now almost 20 minutes past our scheduled start time. While Nev is gone, we chat with the DBAs. One of them explains with an apologetic air that auditors have been camped out in the organization’s different departments for a few weeks now. Nev’s DBA team happens to manage many of the databases attached to applications that are being audited. As part of the auditing process the outside consultants need to review source code, object definitions, and data stored on those databases.

But there is pain.

  • This auditing firm’s consultants all have their own purchased licenses of Toad for Oracle. Consultants typically use Toad to connect to their clients’ databases to conduct any audits, allowing them to work autonomously and quietly with little disruption to their clients. This particular audit is required by law. But Nev’s company had just put in place a strict policy—designed to comply with federal laws also—that forbids outsiders from connecting to its systems. So how could such an audit proceed? Auditor and Client seemingly had reached an impassable junction, one that had already caused delays in the audit project plans. At one point, both parties considered legal arbitration. Eventually, Client and Auditor agreed to a stopgap solution: the DBA team would work side by side with the auditing teams. The DBAs would answer auditors’ questions, or log into the databases for them, and retrieve information on their behalf. But under no circumstances were any of the auditors to touch a single database, unless court ordered.
  • Since a good chunk of Nev’s DBAs now must “hand-hold” the auditors, Nev is short-staffed. Nev himself is getting pinged for many day-to-day requests in their place. So today, he has over half of his team members with auditors, and most of the remainder assigned to manage day-to-day operations. The rest of Nev’s team—all two of them—are sitting in the room with us.
  • The auditing process has slowed down considerably because auditors now have to go through the DBA team for every request. Longer project plans have translated to unanticipated extra cost for Nev’s company.

Nev returns to the room and apologizes upfront for the interruptions so far. If it wasn’t clear to us before, it’s certainly clear now: my Account Manager and I have come at the absolute worst possible time. There are simply too many distractions and interruptions for our demo and discussions to go smoothly, and, worst of all, most of Nev’s team is not present to participate. My Account Manager suggests to Nev that we can do our meeting at a better time.   Nev insists that we stay, however, noting especially that we’ve come a long way to be there.

Thus begins our demo session. Just wait, though. It gets better.

During the next half-hour, Nev—or one of the two DBAs in our room—has to step in and out of our demo session multiple times to take calls. The constant entries and exits are distracting enough. But when Nev is in the room, his questions blast me in nervous bursts, derailing demo flow, and hardly giving me time for complete answers. I feel like Nev is on safari and I am his game. Nev keeps loading his curiosity shotgun with question pellets and continuously peppers his target with a nervous trigger finger.

Demo. Question blast. Cell phone. Exit. Entry. Repeat. So goes a consistent cycle. Fast-forward this adventure about 45 minutes to this scene: Nev has now just entered into the room—once again—from one of his calls. He plops down in his chair. Apparently having just worked on a problem involving PL/SQL issues, Nev complains that Oracle should make their error messages more intelligible. If Oracle won’t do something about it, then tools like Toad should.

“Actually, we do offer some help there.” I am able to conjure up a few compile error messages, and double-click on one of them in the output pane. A list of entries shows up in the Toad Jump Search drop-down window, including hyperlink pointers to several Quest Support knowledge base articles relating to the error message.

“Whoa, what did you just do?!” Nev asks excitedly.   I explain that he is looking at the Toad uber-search facility called the “Jump Search”.   Users can click on an error message or type in any phrase of choice in the Jump Search field and Toad will search “its own self” (GUI components, Help file, Support, etc.) for any related artifacts.

Nev starts short-bursting questions about what he’s seeing in the Jump Search field contents. He asks about “Options” (Toad is searching its own Options base) and “SQL Recall” (Toad searches entries in the user’s historical recall list for the search phrase). Nev is edging toward a new level of nervous excitement, but this time it’s a positive energy.

“This is fantastic!” Nev pipes. He has me typing in a few more words, looking over the contents quickly each time. “Type in ‘documentation’.” I start typing the word, but the Jump Search field list is already being populated before I finish, and Nev immediately pipes up. I find it fascinating that he can interpret what he sees so quickly.

“What’s this? Schema Doc Generator. Click on that.” I click the entry and Toad pulls down the menu to the Schema Doc Generator. We bring up the wizard, I checkbox a few of my schemas and set some options. Toad generates an HTML package behind the scenes and brings up my local Internet browser to show it. I start browsing the contents of objects and their attributes.

“Wow, Toad’s creating an HTML interface that connects to the database?” Nev asks right away.

“Not quite.” I explain that Toad simply grabs all its info from the Oracle data dictionary layer and creates an HTML package that is heavily hyperlinked and accessible offline.

Nev springs up suddenly from his chair, phone in hand, and heads for the door. I am thinking, “Another interruption. Great. What a nightmare…get me out of this day!” Glancing over at my Account Manager, I can already tell that he has had enough. Before I can say anything, he mentions to our small crowd of two that we are glad to reschedule for another day when most everyone will be available. Although the two DBAs in the room look sympathetic, they don’t dissuade us either.

But there is hope.

I shut down my demo environment and start packing up while chatting with the DBAs. A few minutes later, though, Nev returns to the room, this time with two new faces.

“Wait, where you going? No. Guys. We’re not done.” Nev introduces two sharply-dressed professionals, one a project lead, and the other a senior consultant, both from the auditing firm. They sit down, and Nev begs us to “go back to where we left off.”

My Account Manager nimbly steps in and tries to tell Nev that we’ve decided to make arrangements for another demo during a less busy time. But Nev is not hearing us. He insists that we “go back to where we left off”. My Account Manager glances my way and we match each other’s subtle eye-brow shrugs. At the end of the day, customer is King. So I take the laptop out and start it up again.

While my system and demo environment are booting up, Nev explains that he saw a few things that might help them, but mentions the “Generator” specifically.

I open Toad for Oracle, crack open the Schema Doc-generating wizard, and check a few options. When the wizard finishes, Toad brings up my Internet browser pointing to the HTML-packaged files, just like before. I navigate to a list of tables, check out some of their attributes, continue to a list of procedures, and we are now looking at the PL/SQL code of one of the stored functions on the database. Nev stresses to the auditors that what they’re seeing doesn’t require login credentials to the database.

“This might work,” admits one of the auditors. Those three little words, and the short discussion that followed, turned out to be the pivot point that turned our roller coaster of anxiety into a rewarding experience. In a follow-up call we made to Nev a few weeks later, Nev outlined rather happily how things had changed following our visit.

Sanity restored. Nev got most of his DBA team—and his sanity—back right away. Using  the Toad for Oracle Schema Doc Generator, Nev’s DBAs created HTML packages that the auditors could browse via standard Internet browsers. No database connectivity required. Auditors could largely go about their business without the DBAs having to be present at their side. The only stipulation made by the auditing firm was that auditors need to be present when DBAs use Toad to create the documentation, and that there is no evidence of tampering with the HTML files.

Productivity up. Costs down. By not having to constantly ping the DBAs for every database request, the consultants were able to accomplish more in less time, allowing Nev’s company to avoid what would have been tens of thousands of dollars in unplanned extended consulting fees.

Politics aside. The political climate between Auditor and Client greatly improved, making it much easier to get things done collaboratively.

Back to the future. The auditing firm was in the process of defining an “operational continuance” plan in case they ever came across another client like Nev’s. The firm would be ready to utilize Toad’s schema documentation to continue their audits in cases where their future clients withhold Oracle database access privileges from outside entities.

So there you have it: another game-changing story, courtesy of Toad and interruptions. While some interruptions are motivated by curiosity, others might be fueled by politics or pain. But whatever the reason, those interruptions are almost always important to the one who’s asking. And that should make it important to me and my efforts to service the customer. Nev’s intrusive interruption blasts led us to a capability—the Schema Doc Generator—that is not considered “top-of-mind” to many customers, and would not normally be shown during a typical demo of Toad, a product where hundreds of other productive capabilities scream to be shown. Yes, interruptions can be frustrating and can take us out of our comfort zones. But if they hijack us to a place where the customer breathes a little easier, then I shine, and my company shines. And I can live with that.

Missed Part 1 of this Interruptions Series?

 

About the Author

Gary Jerep

As a Software Consultant within Quest, Gary Jerep has over 20 years of experience assisting DBAs, Developers and Analysts with relational database needs. Prior experience includes systems design and analysis, operations research, Business Intelligence, and end-user experience monitoring.

Start the discussion at forums.toadworld.com