Posted on 7:01 am February 7, 2013 by James Morle
To use ASMlib or not to use ASMlib? That is the question. Or at least, that is a question that frequently crops up when I'm on consulting engagements with customers. I have personally changed my mind a couple of times on this exact question, and I'm currently sat with one leg on either side of the fence, which doesn't do anyone any good. There are good reasons to go with ASMlib (if you are running the Oracle Database on a Linux platform) and good reasons not to consider going with it, as follows. Pros of using ASMlib:
- It's a convenient way for storage/sysadmin's to hand off LUNs to DBAs
- It provides solid device name persistence
- It provides access permission persistence
- A single file is opened by each process, rather than one per database file accessed
- I/O to all files can be completely suspended through control of the single file descriptor
- Other things that are not yet supported/externalised
Cons of using ASMlib:
- Requires a kernel module to be loaded and kept in sync with kernel patching
- Requires additional software packages
- Diagnostics are more difficult
- Seems to interact with the Block layer in the Linux kernel differently to Kernel Asynchronous IO (KAIO)
- UDEV rules can adequately provide Pros 3-5, to a greater or lesser extent, without any additional modules or packages
So really, the reasons for using ASMlib are mostly predicated on Pros 4-6, and this is where the indecision creeps in: Is it really worth the aggravation of maintaining an extra kernel module and software packages for advantages that cannot really be felt or seen by the end user? I always felt that it was worthwhile, particularly if it is possible to run Oracle Linux. Oracle Linux removes the management burden of keeping the kernel module in sync by building it directly into the UEK kernel distribution. In this case, there really is no burden and using ASMlib does indeed give a nice interface to the DBA without them having to rummage around in /dev. The items that have made me a little uncertain have been Cons 3-4, both of which have been tripping me up of late out in the field. This blog post is mostly about Con 3, the difficulty of getting good diagnostics, which is where I have been doing some research recently. Read the full article
Posted on 9:18 am December 18, 2012 by James Morle
I've been meaning to write this blog post for a while now but never seemed to find the time. Hopefully this posting will be useful information for anyone that spends a lot of time tracing processes in Oracle from the Linux Operating System. I'm one of those people, so it was good to get to the bottom of this particular mystery.
Read the full article
Posted on 7:45 am November 1, 2012 by James Morle
This blog post is an introduction to a few posts that can be grouped together under the banner of 'System Architecture'. Specifically, I'm referring here to Oracle Database System Architecture, not system architecture in general nor 'Oracle architecture' in general, which is an ever-growing beast.
In this series of posts, I will take at look the following important aspects of Oracle architecture:
- Storage technology
- Storage networking
- Network technology
- Processor technology
- High Availability
- Memory hierarchies
- Corporate realities
Or at least that's the plan. Now I'm looking at the list it seems more like a multi-volume book than a handful of blog posts. Let's see how we get on, with a deliberate overriding attempt to be concise and not get too entrenched in important-but-voluminous low level details. So let's get cracking on the first item: Licensing. Read the full article
Posted on 12:00 pm April 20, 2012 by James Morle
Dear Linux Hackers,
Have we not finished changing the 'best' way to have persistent naming and security attributes for disk devices? Seriously, just when we thought it was great to put the "uid", "gid" and "mode" specifications for disk devices into /etc/multipath.conf, then it gets once again deprecated in favour of udev. This push and pull game has to stop!
All Oracle Users
Read the full article
Posted on 8:06 am February 24, 2012 by James Morle
(Updated 04/04/12 to fix bug with large raw disk partitions)
I need your help!
One of the things that I have struggled to get data for in my storage research is the latency of the interface between server and storage device. It's easy to get numbers for the actual storage device, but the latency numbers for the interface are typically not published. That's a shame, because the latency at this piece of the architecture is going to become increasingly important as we move wholesale to SSD. I don't mean flash specifically here, I mean semiconductor storage devices, of which flash is a component. But this article isn't about that, except by implication, it's just about the piece of wet string that connects storage devices to servers (the transport).
Read the full article