Solaris 10 限制記憶體使用大小之測試(Oracle DB)

測試Solaris 10 x64在限制記憶體使用量的語法,
設定SGA的大小並試著啟動Oracle DB。

Oracle DB的版本是11g x64,OS的帳號是visora

首先查看initVIS.ora中關於SGA的設定

-bash-3.2$ cat initVIS.ora |grep sga
#       sizing recommendations for sga_target.
#       values when sga_target is being used.  The Automatic
#       SGA tuning option (sga_target) dynamically sizes the
sga_target               = 8G


以root權限限制visora的使用記憶體大小,把值增加到/etc/project

# projadd -U visora -K "project.max-shm-memory=(priv,12G,deny)" user.visora

如果要更改說定的話,依下列的語法:
# projmod -s -K "project.max-shm-memory=(priv,512MB,deny)" user.visora

我們先將max-shm-memory設定為512MB,接著以visora來啟動DB

SQL> startup mount pfile=?/dbs/initVIS.ora
ORA-27102: out of memory
SVR4 Error: 22: Invalid argument

我們先將max-shm-memory設定為12G,接著以visora來啟動DB

SQL> startup mount pfile=?/dbs/initVIS.ora
ORACLE instance started.
Total System Global Area 8554127360 bytes
Fixed Size                  2110360 bytes
Variable Size            1830210664 bytes
Database Buffers         6710886400 bytes
Redo Buffers               10919936 bytes
Database mounted.

這是我自己的測試結果。

Oracle DB的listener.log清理