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.

這是我自己的測試結果。

利用Plink替代Putty來建立Script