Oracleサーバのメモリを増設した後にすることメモ。自動メモリー管理のサイズ変更など

Oracle (Oracle 11g)が稼働しているサーバ(今回は仮想環境)のメモリを 4GB から 16GB に増設したので、その後にしなければいけない事、した方がいいことを忘れないようにメモしておきたいと思います。

ポイントとしては、Oracleに割り当てるメモリ(自動メモリー管理のサイズ)は 10GB としたいと思います。

ちなみに SGA や PGA などに割り当てられるメモリは自動メモリー管理になっていますが、メモリを増設してOSを起動しただけではOracleの自動メモリー管理の認識サイズは変わりません。

shmのサイズを拡張する

memory_max_target のサイズよりOSの /dev/shm のサイズが大きい必要があります。

通常、/dev/shm のサイズはOS搭載メモリの半分のサイズが割り当てられるっぽいので、まずはこのサイズを拡張します。

今回は自動メモリー管理のサイズを 10GB とするので、とりあえず /dev/shm のサイズは 12GB とします。

$ cp -p /etc/fstab /etc/fstab.20160120
$ vi /etc/fstab
***************************************************************************************
tmpfs                   /dev/shm                tmpfs   defaults        0 0
 ↓ size=12g を追加
tmpfs                   /dev/shm                tmpfs   defaults,size=12g        0 0
***************************************************************************************
$ reboot

これで完了です。

自動メモリー管理のサイズを変更する

続いてOracleの自動メモリー管理のサイズを変更します。
OEMでも可能ですが、とりあえずSQLで実行してみます。

まずはSPファイルを念の為にバックアップ。

$ cd /opt/oracle/product/11.2.0/dbhome_1/dbs/
$ cp -p spfileorcl.ora spfileorcl.ora.20160120-MemoryUpdate

続いて最大メモリーサイズを変更。

$ sqlplus sys as sysdba
SQL> ALTER SYSTEM SET memory_max_target='10737418240' SCOPE=SPFILE;
SQL> shutdown immediate
SQL> startup

正常に最大メモリー・サイズが変更されていることを確認します。問題がなければ続いて合計メモリー・サイズを変更します。

$ sqlplus sys as sysdba
SQL> ALTER SYSTEM SET memory_target='10737418240' SCOPE=BOTH;

これで完了です。

コメントを残す

メールアドレスが公開されることはありません。