[Oracle] x86 Linux 環境での拡張バッファ・キャッシュの利用(その2) | Archive Redo Blog

Archive Redo Blog

DBエンジニアのあれこれ備忘録

x86 Linux 環境での拡張バッファ・キャッシュ機能の設定手順
その1でも説明したとおり、結論から言うと大容量のメモリを利用してイン・メモリ・データベースを構築するのであれば、x86-64環境を構築するのが望ましいわけですが、せっかくですので備忘録として x86 Linux環境で拡張バッファ・キャッシュ機能を利用する際の設定手順をまとめておきます。

1.メモリー内ファイル・システムの設定
rootユーザーで次のコマンドを実行し、/dev/shmマウントポイントを作成します。(8GB割り当てる場合)

mount -t tmpfs shmfs -o size=8g /dev/shm

※システムの再起動時にメモリー内ファイル・システムが確実にマウントされるようにするには、/etc/fstabファイルに次のエントリを追加します。

shmfs /dev/shm tmpfs size=8g 0 0

2.VLMウィンドウ・サイズへの対応(Red Hat Enterprise Linux 3以降のみ)

1) プロセスごとのロック・メモリーのデフォルトの最大サイズを増やすために /etc/security/limits.confファイルに次のエントリを追加します。

oracle           soft    memlock         3145728
oracle           hard    memlock         3145728

2) sshを使用してシステムにログインする場合、sshセッションの開始時にロック・メモリーのデフォルト値を使用できるようにするために、/etc/ssh/sshd_configファイルに次のエントリを追加します。

UsePrivilegeSeparation no

3.初期化パラメータの編集
拡張バッファ・キャッシュ機能を設定するため、初期化パラメータを編集します。

1) USE_INDIRECT_DATA_BUFFERSの追加

拡張バッファ・キャッシュ機能を有効にするために USE_INDIRECT_DATA_BUFFERS初期化パラメータを追加し、TRUEに設定します。

USE_INDIRECT_DATA_BUFFERS=TRUE

2) 自動共有メモリ管理の無効化

自動共有メモリ管理機能を使用している場合、これを無効化するために SGA_TARGET初期化パラメータの値を 0にします。

SGA_TARGET=0

3)データベース・バッファ・キャッシュ・サイズの設定

拡張バッファ・キャッシュ機能を利用する場合、データベース・バッファ・キャッシュ・サイズは DB_BLOCK_BUFFERS初期化パラメータで設定します。

DB_BLOCK_BUFFERS=[ブロック数]

また、以下の初期化パラメータは使用できませんので削除します。

DB_CACHE_SIZE
DB_2K_CACHE_SIZE
DB_4K_CACHE_SIZE
DB_8K_CACHE_SIZE
DB_16K_CACHE_SIZE

4)共有プールサイズ、ラージプールサイズ、Javaプールサイズの設定

自動共有メモリ管理機能を使用できなくなるため、SHARED_POOL_SIZE、LARGE_POOL_SIZE、JAVA_POOL_SIZEを明示的に指定します。

SHARED_POOL_SIZE=[byte]
LARGE_POOL_SIZE=[byte]
JAVA_POOL_SIZE=[byte]

4.Oracleの起動
初期化パラメータを編集した後、Oracleを起動します。

SQL>startup
ORACLEインスタンスが起動しました。

Total System Global Area 8841592832 bytes
Fixed Size                   778036 bytes
Variable Size             317464780 bytes
Database Buffers         8522825728 bytes
Redo Buffers                 524288 bytes
データベースがマウントされました。
データベースがオープンされました。
Database Buffersに拡張・バッファ・キャッシュに割り当てたサイズが表示されます。

※/dev/shmに対してlsコマンドを実行しても確認できます。

ls -al /dev/shm

合計 8323087
drwxrwxrwt  2 root   root             60  1月 16 15:43 .
drwxr-xr-x  9 root   root           6400  1月 16 13:25 ..
-rw-r-----  1 oracle oinstall 8522825728  1月 16 15:43 ora_orcl_2376463


参考:「Oracle Database管理者リファレンス10g リリース2(10.2)for UNIX Systems」






【関連記事】
[Oracle] x86 Linux 環境での拡張バッファ・キャッシュの利用(その1)
[Oracle] x86 Linux 環境での拡張バッファ・キャッシュの利用(その2)
[Oracle] x86 Linux 環境での拡張バッファ・キャッシュの利用(その3)