10gがもたらす福音(10)〜ASM。
10gの真骨頂、ASMについて。
ASMとは、自動ストレージ管理の略称。
物理ファイルから、Oracleを解放する画期的な機能。
Oracle風ボリュームマネージャ(LVM)といえば話が早い。
まずは、構成要素から。これらの要素は、DBインスタンスとは
別のASMインスタンスで管理される。
1、ASMディスク
物理的なディスクパーティションに対するもの。
LVMでいう、物理ボリューム。
2、ASMディスクグループ
ASMディスクをまとめる管理グループ。
LVMでいう、ボリュームグループ。
3、ASMファイル
DBインスタンス側から見た、1つのファイル。
LVMでいう、論理ボリューム。
ASMの仕掛けを支えるバックグランドプロセス達。
ASMインスタンス側
- RBAL … ASMディスクグループ全体のバランスを調整するプロセス。
- ARBn … 実際の再バランスを担う。
DBインスタンス側
ASMインスタンスに必要な初期化パラメータ達。
- INSTANCE_TYPE … ASMインスタンスでは[ASM]を指定(必須)。
- DB_UNIQUE_NAME … ASMディスクグループを管理するサービス名。
- ASM_POWER_LIMIT … 再バランス作業の速度制御。11が最速。
- ASM_DISKSTRING … ASMディスクの名前。
- ASM_DISKGROUPS … 起動時に自動的にマウントされるASMディスクグループのリスト。
- LARGE_POOL_SIZE … ASMインスタンスが使用するパッケージはここで使用する。
ASMディスクグループの作成。
create diskgroup ディスクグループ名
[external/normal/high] redundancy
disk 'ディスク'
※normal/high指定時は、冗長グループを持つことができる。
一方のグループの障害があっても他方が生きていれば操作を
継続できる。
create diskgroup ディスクグループ名
normal redundancy
failgroup 障害グループ名1
disk 'ディスク1'
failgroup 障害グループ名2
disk 'ディスク2'
※highの場合は、最低3つの障害グループを指定する。
ASMファイルを使う例。
create tablespace 表領域名 datafile 'ディスクグループ名'