I am wondering if there is a supported (or recommended) list of filesystems that Oracle 10g supports.

Specifically I wish to know if storing Oracle data on an XFS partition is a bad idea.

I ask because some people say it's slow at deleting, and possibly that Oracle doesn't support it, though I can find nothing interesting in their documentation.

Note that I do not wish to use XFS, a client I am working with is already using it. They are having some funky issues and I was wondering if this could be related.


Metalink document 414673.1 "Oracle does not run certifications on local filesystems (i.e. except for OCFS2, NFS etc.) except ext2/ext3 as it is the common default filesystem for all Linux distributions. So if a problem happens specific to XFS, the Linux vendor should be engaged."

I'd generally go with the default unless you've got a particular reason to do otherwise.

| improve this answer | |
  • It's not so much that I'm picking it, it's that I'm helping a customer with their issues and they've picked it. – SCdF Sep 16 '09 at 6:24
  • Also, can you link to that document? Or is this some kind of physical document / paywall'd thing? – SCdF Sep 16 '09 at 6:30
  • Metalink is 'paywalled'. Your client should have access if they have a support agreement with Oracle. – Cephas Sep 16 '09 at 6:48

XFS deletion performance can be improved by enabling lazy-counters. This can be done with a moderate recent kernel (supporting lazy-counters) and very recent xfs-utils. The xfs_admin command is the one to enable lazy-counter. You may also want to enable unwritten extents and log-version 2 (which can utilize bigger logs) and change the mount options to use more/bigger log buffers. This will usually boost xfs performance a lot. Some of these changes need an xfs_repair run afterwards. It cannot be changed while the filesystem is online.

We use these setting with great success. ext3 is usually slower except you turn off ordered data journalling. For us xfs has the advantage of supporting multiple parallel write threads due to its use of allocation groups which can be modified in parallel by multiple kernel threads. Combined with a RAID-5 (or others which can do independent writes in parallel to different disks) and xfs setup to use the correct stripe size this is a nice performance improvement. This should usually also yield a very performant database setup.

Here's the xfs_admin command line which would do that:

xfs_admin -ej -c1 /dev/sdXX
xfs_repair /dev/sdXX

And the mount options:

mount -o relatime,sunit=128,swidth=384,logbufs=8,logbsize=256k /dev/sdXX ...

sunit and swidth are about the stripe width and size - it's a bit complicated to describe these at this point. The values are usually sectors (512-byte units). sunit is the stripe size, swidth is sunit * count-of-stripes. relatime should be default in latest kernels anyway.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.