/dev/shmの多重マウント

他の領域ならエラーが出るんですが、/dev/shmだとエラーもログも出ないようです。
なお、以下はtmpfsで/dev/shmにRAMディスクを作成してますが、ramfsでも同様です。

■/dev/shm以外の領域を多重マウントした場合

# mount /dev/mapper/VolGroup00-LogVol01 /
mount: /dev/mapper/VolGroup00-LogVol01 は マウント済か / が使用中です
mount: mtab によると、/dev/mapper/VolGroup00-LogVol01 は / にマウント済です

■/dev/shm領域を多重マウントした場合

# mount -t tmpfs tmpfs /dev/shm/
#
# df -ma
Filesystem           1M-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol01
                         25667      9343     15000  39% /
proc                         0         0         0   -  /proc
sysfs                        0         0         0   -  /sys
devpts                       0         0         0   -  /dev/pts
/dev/sda1                   99        25        69  27% /boot
tmpfs                        0         0         0   -  /dev/shm
none                         0         0         0   -  /proc/sys/fs/binfmt_misc
sunrpc                       0         0         0   -  /var/lib/nfs/rpc_pipefs
tmpfs                        0         0         0   -  /dev/shm

message等にエラーログが出力されませんが、RAMディスクは使用できなくなりました。

以下はOracleが稼働しているサーバでshutdownを試みた時のです。
/dev/shm/領域にアクセスできないので、immediateが受け付けられませんでした。
なお、当たり前ですがabortは受け付けられました。

# su - oracle
$ sqlplus /nolog

SQL*Plus: Release 11.1.0.6.0 - Production on 日 1月 1 00:28:45 2013

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

SQL> conn /as sysdba
アイドル・インスタンスに接続しました。
SQL> shutdown immediate
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory

SQL> shutdown abort
ORACLEインスタンスがシャットダウンされました。

下記は、上記でOracleをabortした後に/dev/shm/を多重マウントしたままに起動しようとした時のです。
当たり前ですが、起動しません。

# su - oracle
$ sqlplus /nolog

SQL*Plus: Release 11.1.0.6.0 - Production on 日 1月 1 01:40:06 2013

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

SQL> conn /as sysdba
アイドル・インスタンスに接続しました。
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

その際のalertログですが“/dev/shm/領域が小さすぎ(0バイト)て起動出来ない。最低851443712バイトは必要”てエラーが出てます

# cat /opt/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log
~~~省略~~~
Starting ORACLE instance (normal)
WARNING: You are trying to use the MEMORY_TARGET feature. This feature requires the /dev/shm file system to be mounted for at least 851443712 bytes. /dev/shm is either not mounted or is mounted with available space less than this size. Please fix this so that MEMORY_TARGET can work as expected. Current available is 0 and used is 0 bytes.
memory_target needs larger /dev/shm

解決策ですが、多重マウントしている/dev/shm/領域のアンマウントを1回するだけで
多重マウントが解除(/dev/shm領域が単マウントされている状態に)します。

# umount /dev/shm/
# df -ma
Filesystem           1M-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup00-LogVol01
                         25667      9343     14999  39% /
proc                         0         0         0   -  /proc
sysfs                        0         0         0   -  /sys
devpts                       0         0         0   -  /dev/pts
/dev/sda1                   99        25        69  27% /boot
tmpfs                     1014         0      1014   0% /dev/shm
none                         0         0         0   -  /proc/sys/fs/binfmt_misc
sunrpc                       0         0         0   -  /var/lib/nfs/rpc_pipefs

===========================================================================
なお、以下がORA-013034、ORA-27101の意味です。
Oracleユーザでoerrコマンドを実行すると、ORA-xxxxxエラーの意味を調べることができます。

$ oerr ora 01034
01034, 00000, "ORACLE not available"
// *Cause: Oracle was not started up. Possible causes include the following:
//         - The SGA requires more space than was allocated for it.
//         - The operating-system variable pointing to the instance is
//           improperly defined.
// *Action: Refer to accompanying messages for possible causes and correct
//          the problem mentioned in the other messages.
//          If Oracle has been initialized, then on some operating systems,
//          verify that Oracle was linked correctly. See the platform
//          specific Oracle documentation.
$ oerr ora 27101
27101, 00000, "shared memory realm does not exist"
// *Cause: Unable to locate shared memory realm
// *Action: Verify that the realm is accessible

ramfsとtmpfsの違い
・ramfs
ramfs は Linux のディスクキャッシュ機構(ページキャッシュと dentry のキャッシュ)を動的にサイズが
変化する RAM ベースのファイルシステム

・tmpfs
tmpfs と呼ばれる ramfs の派生物は、{ファイルシステムに}サイズ制限を加える為とデータをスワップスペースに
出力可能にする為に作られました。一般ユーザに tmpfs マウントへの書き込みアクセスを許可できます。

参考:http://archive.linux.or.jp/JF/JFdocs/kernel-docs-2.6/filesystems/ramfs-rootfs-initramfs.txt.html