Here's part two!
James Morle's BlogRSS Feed
Here's part two!
I just got permission from The UK Oracle Users Group to reproduce my article series on optimising scans in Oracle. Part One is available here, Part Two will follow shortly after, and then Part Three will be a few weeks away, following its publication in the magazine. Enjoy!
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
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
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