Tag: DBA Lounge

When SHOW SLAVE STATUS lies

Over-the-Top Tales from the Trenches: Bringing order to the chaos of every day DBA life – So you have got your nice MySQL Master-Slave replication pair setup. Everything is sweet, then the master dies/restarts or you have a slightly extended network outage. You log into the machine and check out why the slave threw an error or if your monitoring is slow, why the slave is lagging by 2 hours. You run SHOW SLAVE STATUS\G

Read More >

How To Identify the Database Links of a Failed Refresh Job

I have a client with refreshes scheduled using MV refresh groups, and it took me a while to recall the view name, asking around and RTFM’ing. Since this situation comes up regularly, I wrapped up a quick script that parses job content, takes in account MV refresh groups, and outputs the database link(s) involved. I think it could be useful to few others so here it goes.

Read More >

Rajaraman’s First Law: More Data will beat Better Software

After the interesting comment storm on Doug’s blog when he posted some of Tim Gorman’s comments on the value of data in his career experiences as compared to the value of the applications manipulating that data, I hesitate a little to post this. But, I can’t stop myself because it’s such an interesting insight! So here it is!

Read More >

3 Tips on Using dg4odbc on 64-bit Linux

I recently imported the contents of an Oracle 8i database into an 11g database. After following the instructions for a typical setupI set up a database link to a remote SQL Server database, and called it SQLSERVER.. It turned out that dg4odbc has “hard coded” the quotes and this will need to be changed in odbc.ini. I should have looked more closely at the installation instructions — yes, the example shows QuotedId=Yes.

Read More >

Hi, I need help on simplyfying this Update query!

I would not wish this task on my worst enemy. My friend, good luck and best wishes but I’m afraid I just can’t help you, because that much suffering is way too much for me.

Read More >

Stabilize Oracle 10G’s Bind Peeking Behaviour

I wrote this post because I feel there is a great need for it. The number of people struggling with unstable query plans due to bind peeking in Oracle 10G is enormous, to say the least. More than that, solutions like disabling bind variable peeking are driving us away from understanding the root cause of the problem and applying the right fix to it.

Read More >

How To Build Scalable Database Architectures

No one has ever come out and formally asked me for a document that states “Best Practices to Scale Application X”. It is an unusual demand, since it’s something many of us at Pythian have implemented, but it’s been more of an ad hoc, iterative process — and rightly so, since architectures must be so organic, and so tailored to the application. What’s more, no one has ever brought us on board so early in the game that we have a hand in actually — gasp! — doing the design and data-model from the get-go. Woo hoo!

Read More >

Bind Peeking, Ad Hoc Queries, Stable Performance

I got to troubleshoot an amazing situation a few weeks ago. I think it is essentially inconceivable that allowing a single query to run on your system can flip another query’s plans and cause major performance issues (and in this case even downtime!). Sometimes it’s coincidence, sometimes it’s load, and sometimes it’s a single ad hoc query with a new predicate that starts the slowly-ticking time bomb. Here is how it happens and how to fix it.

Read More >

Corollary to Tilton’s law: There only is the first problem.

Kenny Tilton posted about database troubleshooting, and he anecdotally illustrates and elaborates on a law of troubleshooting that I strongly agree with: Always solve the first problem. The corollary to his law is that “there only is the first problem.” I’m not sure I entirely agree with that one, but I will admit that that corollary is true at least 90% of the time, which is often enough to make it an incredibly useful insight.

Read More >

Good Database Design is Mightier than Hardware

Have you ever heard the one about throwing hardware at a software problem? I have this nifty RAC system that supports some very public and very mission-critical apps, and one day (it was Sunday night) it starts choking. We’re getting enqueues. Slowly they start climbing. Ten nodes came to a crashing halt. I have now seen a ten-node RAC cluster come to crashing halt and completely lock up. Why, you ask? A simple SQL statement: DELETE FROM a WHERE b=c AND d=e;.

Read More >
Page 42 of 60« First Page...10...4041424344...50...Last Page »