Tag: DBA Lounge

Transaction Basics and ACID

I began to write a post on InnoDB transactions, but there was so much background material that I decided first to write a post introducing transactions, and then one on how InnoDB implements them. If there is good response from these two posts, I will continue with other posts on the major storage engines and their transactional characteristics.

Read More >

Date Dimension vs. Function-Based Indexes: Is the Date Dimension Still Relevant?

The purpose of this post is to verify if a date dimension is better in regards to performance and functionality than a series of function-based indexes on a date column in the fact table.

Read More >

Emacs Keybindings in Bash

With Bash, or any other shell that uses the GNU readline library, you can use the following Emacs-like key-chords to make your life better. The point of this (as with so many things sysadmins and programmers do) is to save you effort, viz. typing. These aren’t all of them; they’re the ones I use…

Read More >

When Your Hard Drive Comes Knocking… A Cautionary Tale

magine yourself, happily computing when all of a sudden you hear a rather alien sound eminating from your hard drive. Something that sounds, perhaps, like some combination of a roofer banging in a nail, and a miner’s pick as he works on releasing a stubborn piece of ore from a cave wall. Certainly not a good sound to hear coming from the general region of your hard drive on a nice, sunny day. Especially when you have not taken a backup in over two years…Please, learn from my mistake, and next time you hear an odd clicking sound, don’t try to outsmart your already-broken hardware.

Read More >

Resolving High Water Enqueue Contention

Recently, I had a few email exchanges — on the Oracle-l list and offline — about HW enqueue contention. A few interesting observations emerged from test cases I created during that discussion.

Read More >

How Todd Hoff stoped worrying and used disk space to scale

Todd Hoff, has an extremely well-written and edutaining article about how scaling to a million or more users requires jettisoning more or less everything we know and love about relational modeling. Even though he uses bigtable as his example, in reality this approach works well with relational datastores like MySQL and Oracle too, you just have to think about your data differently and use the databases differently. So I’m including this article in the MySQL and Oracle categories because I think it would be of interest.

Read More >

Fedora 9’s Broken Install

Fedora 9 was released on the 13th. I waited a whole three days to make sure I wasn’t going to be the beta-tester. Then I tried out the live release, and finally decided to upgrade my main workstation to Fedora 9 today. To be sure I wouldn’t mess stuff up, I used the DVD installer to upgrade. The upgrade finished fine, but when I rebooted, XChat would not run. Readers — any similar experiences or advice?

Read More >

Oracle RAC and gv$ Views: A Second Look

I decided to reprise my commentary on Oracle RAC and the gv$ views after reading Patrick’s comments on my previous post. It is always encouraging to know that someone is kind enough to read your work and provide insightful feedback – many thanks to him! There are two questions that I wanted to answer here: Can you use the gv$ views with a non-RAC environment? What do the WHERE clauses in a good block-checking script do?

Read More >

Debian OpenSSL Package Introduces Vulnerability

The highlight today of probably every Linux-related mailing list and IRC channel was the announcement of CVE-2008-0166, affecting OpenSSL libraries on Debian-based Linux distributions, including the popular Ubuntu. The vulnerability has been present since September of 2006, and Debian strongly suggests throwing your old keys out completely.

Read More >

Undocumented parameter _fix_control: How to break your database

Beware this parameter can prevent your database from starting. Indeed it can prevent your instance from starting! There are two dynamic views v$system_fix_control and v$session_fix_control which were introduced in 10.2 and control whether fixes for bugs in the optimizer can be turned on or off. This can also be controlled using the _fix_control initialization parameter. Also beware if setting this parameter in a running database. You can prevent further logins if you get it wrong or indeed try to unset it. Do not do. The moral of the story is be very careful with undocumented parameters when upgrading!

Read More >
Page 40 of 60« First Page...10...3839404142...50...Last Page »