The Kind of DBA I Want to Be

The Kind of DBA I Want to Be

Rokusaburo Michiba

Rokusaburo Michiba (Iron Chef Japanese)


I was a big fan of the original Iron Chef tv show, as in the original show from Japan. And my favorite Iron Chef was Iron Chef Japanese Rokusaburo Michiba. If you don’t know the show, it probably seems redundant to refer to a Japanese chef on a Japanese tv show as Iron Chef Japanese, but it isn’t. There were 3 1/2 Iron Chefs originally (Iron Chef Italian rarely appeared unless he had an actual challenger to face). Each chef was known by their specialties. Chinese, French, Italian, and Japanese; all Japanese chefs with varying specialties.

When the show was on the Food Network, I always enjoyed the Japanese battles the best. I was a fan of Rokusaburo Michiba because of the skills that he demonstrated. Not just his cooking proficiency, but the very way he approached every battle. I like to imagine myself approaching battle in the same way. The difference is that my opponent isn’t another chef or DBA. My opponent is a production outage.

Eye of the Storm

Michiba Prepares the Menu

Michiba Prepares the Menu


The beginning of a battle involved a lot of hectic running around trying to get lots of dishes started. It was difficult to figure out what any one person was doing and you definitely couldn’t see any semblance of a team plan for the battle. Just everybody doing something and somehow making it work.

On Michiba’s side of the kitchen, something different was occurring. He would get his assistants started on different preparations while he took a piece of paper and a pen and wrote out the menu in beautiful Japanese characters. At first, I thought this was crazy. He’s wasting precious time. That’s 4 or 5 minutes he can’t get back at the end of the battle when he’ll need it. Yet somehow, he never needed it. In fact, his dishes always seemed to finish with perfect timing right at the very end. At the same time, I saw his opponents many times talking about dishes they had planned to make but ran out of time. How could this time waster end up so perfectly so often?

The answer of course is planning. When others were panicking and rushing around, he was writing out his menu. After that, he and all of his assistants knew exactly what needed to be done and when. They had a plan, and they knew how to follow a plan. The trouble with this is that nobody wants to plan when there is a production outage. Business wants action. They want you to cowboy up and get it back online by any means. Nobody wants to look like they’re not giving it their all, so planning hardly ever comes into play.

Real-life Example

Here’s a real-life example where failure to plan was costly. Someone called me at home one morning because their replication publisher (mirrored asynchronously) was down and they needed to failover to the mirror. I was in the shower when they called. Because I didn’t answer, they asked a “friend” who is a “DBA” what to do. He gave his suggestions and they followed through with it, but what he had advised wasn’t working. I called them when I got out of the shower and had listened to their message.

I asked them what was going on, and their reply was, “We need to failover the publisher to the mirror. I’ve dropped mirroring, now what do I do?” I listed what they would need to do and then walked them through each step. The publisher wasn’t online, so there was no option to re-establih mirroring. Their friend had told them that the only way to bring the mirror online if mirroring asynchronously was to drop mirroring.

Here’s what they had to do to rectify the problem (actual time: 5 hours):

  1. Recover the mirror database
  2. Change the application connection strings to point to the original mirror as the primary (for write operations)
  3. Change the application connection strings to point to the original mirror for read operations
  4. Drop replication
  5. Recreate replication
  6. Reinitialize and reconfigure the 5 subscribers to the publisher
  7. Change the application connection strings to repoint to the subscribers for read operations

Here’s what they should have done (estimated time: 5 seconds):

  1. Force service on the mirror with allow data loss

Summary

To be a good DBA, you don’t need to write out a full menu every time a problem occurs, but you should be doing at least some minimal planning. Make sure everyone knows what needs to be done and what their part of the plan is. Be like Rokusaburo Michiba. Let others run around wildly while you take a couple of minutes to understand the situation and devise the best plan. Then take action. You’ll be surprised how planning can help you reach your end goal right on time instead of struggling to get there.

1 Star2 Stars3 Stars4 Stars5 Stars (8 votes, average: 5.00 out of 5)
Loading ... Loading ...

Including Missing Values in Data Ranges Without a Lookup Table

Including Missing Values in Data Ranges Without a Lookup Table One of the ways that I learn new things is by helping others with their issues or questions. In my career, this has served me well by exposing me to a vast array of experiences that I may not have otherwise seen. I try to…

1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 2.75 out of 5)
Loading ... Loading ...

Webcast: Putting a Better SQL Server in Production

Webcast: Putting a Better SQL Server in Production Webcast: Putting a Better SQL Server in Production Date: Wednesday, January 18, 2012 3:00 PM to 4:00 PM Eastern Time / 2:00 PM CT / 12:00 PM PT Problems come up everyday that could have been avoided by simply configuring SQL Server appropriately before using it. The…

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)
Loading ... Loading ...

Using Dynamic Values in XMLA

Using Dynamic Values in XMLA A question was raised on Twitter today via the #sqlhelp hash tag about passing parameter values to XMLA for a backup script. The popular answer at the time I saw it was to dynamiclly create and drop a SQL job to run the script every time you need it to…

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Undocumented Gotchas of Transactional Replication

Undocumented Gotchas of Transactional Replication This discussion started on Twitter via the #sqlhelp hash tag. The question that was asked is, “What are the undocumented gotchas of Transactional Replication? #SQLHelp”. I responded with several things that came to mind. I thought these would be good to capture in a blog post and hopefully others would…

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 4.00 out of 5)
Loading ... Loading ...

PASS Data Arch. Virtual Chapter: Row Versioned Data Warehouses

PASS Data Arch. Virtual Chapter: Row Versioned Data Warehouses Subject: Row Versioned Data Warehouses Start Time: Thursday, December 15, 2011 6:00 PM US Pacific Time (December 16, 2011 2:00 AM GMT) End Time: Thursday, December 15, 2011 7:00 PM US Pacific Time (December 16, 2011 3:00 AM GMT) Presenter: Jeremy Huppatz (Blog|@OzzieMedes) Live Meeting Link: https://www.livemeeting.com/cc/UserGroups/join?id=B77TSH&role=attend&pw=dGC-%3B88%275…

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

PASS Data Arch. Virtual Chapter: On beyond Zebra AdventureWorks OR where did I go wrong?

PASS Data Arch. Virtual Chapter: On beyond Zebra AdventureWorks OR where did I go wrong? Subject: On beyond Zebra AdventureWorks or where did I go wrong? Level: 200 (Intermediate) Start Time: Thursday, November 17, 2011 8:00 PM US Eastern Time (November 18, 2011 1:00 AM GMT) End Time: Thursday, November 17, 2011 9:00 PM US…

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

T-SQL Tuesday #024 – Using SYSTEMRESTRICTSCHEMA Function in MDX to Query DMVs

T-SQL Tuesday #024 – Using SYSTEMRESTRICTSCHEMA Function in MDX to Query DMVs This blog entry is participating in T-SQL Tuesday #024, hosted this month by Brad Schulz (Blog). You are invited to visit his blog to join the blog party. You are welcome to write your own participating blog post for the party or just…

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 1.00 out of 5)
Loading ... Loading ...

How Do I Spell #SQLFamily? #SQLNomz Of Course

How Do I Spell #SQLFamily? #SQLNomz Of Course It’s time for Meme Monday again, and this month’s theme is #SQLFamily. One of the overwhelming themes of this year’s SQL PASS Summit was community. And that’s what most people mean when they talk about SQL family. When you talk about family, scope is important. There are…

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading ... Loading ...

SQL PASS Summit 2011: Session Files

SQL PASS Summit 2011: Session Files This past week was the SQL PASS Summit 2011 in Seattle, WA. I presented three sessions (regular session, lightning talk, panel discussion) plus ran a focus group on advanced certification and hosted a Birds of a Feather lunch table on disaster recovery. It was a busy, busy week. Below…

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading ... Loading ...