11g からメモリ管理が進み、SGA と PGA の合計をまとめて指定できるようになりました。
だと思えばいいでしょう。
初期化パラメータファイル ($ORACLE_HOME/dbs/init$ORACLE_SID.ora) に設定して インスタンスを再起動します。
#pre{{ memory_target=500M }}
設定の確認は sqlplus から行います。
#pre{{ [oracle@ora1 ~]$ sqlplus / as sysdba ... Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options に接続されました。 SQL> show sga
Total System Global Area 521936896 bytes Fixed Size 2145984 bytes Variable Size 306184512 bytes Database Buffers 209715200 bytes Redo Buffers 3891200 bytes SQL> show parameter memory_target
NAME TYPE
VALUE
memory_target big integer 500M SQL> }}
#pre{{ SQL> startup ORA-00845: MEMORY_TARGET not supported on this system }}
設定した値によってはこのように言われますが、 これは /dev/shm の領域が小さいために発生しています。
#pre{{ [oracle@ora1 ~]$ df -h /dev/shm Filesystem サイズ 使用 残り 使用% マウント位置 tmpfs 502M 0 502M 0% /dev/shm }}
この環境で memory_target=1G としてみると 上記のエラーが再現します。
メモリが多ければ tmpfs を作り直しましょう。
#pre{{ [oracle@ora1 ~]$ su - パスワード: [root@ora1 ~]# umount /dev/shm [root@ora1 ~]# mount -t tmpfs shmfs -o size=1g /dev/shm [root@ora1 ~]# df -h /dev/shm Filesystem サイズ 使用 残り 使用% マウント位置 shmfs 1.0G 0 1.0G 0% /dev/shm }}
今度は 1G にしても正しく起動します。
#pre{{ SQL> startup ORACLEインスタンスが起動しました。 ... SQL> show sga
Total System Global Area 1068937216 bytes Fixed Size 2151248 bytes Variable Size 599788720 bytes Database Buffers 461373440 bytes Redo Buffers 5623808 bytes SQL> show parameter memory_target
NAME TYPE
VALUE
memory_target big integer 1G }}