その他の使い方
Top / サポート情報 / マニュアル / Solaris SPARC Private Cloud / その他の使い方 / Oracle DatabaseのZoneへのインストール

Oracle DatabaseのZoneへのインストール

Solaris 11.4内のNative Zone(通常のSolaris11のZoneや、Branded ZoneのSolaris10を含む)を利用し、この中にOracle Databaseをインストールする場合、IPC(Inter Process Communication:プロセス間通信)などの設定をする必要があります。

下記は、利便性の為に記載されたものです。実際はマニュアルなどを読み、設定してください。

Global Zoneの準備

Swapの増加

たとえば256GBに増加したい場合は、Global ZoneのSwapを増やします。

zfs set volsize=256g rpool/swap

確認は下記の様に行います。

swap -l

増加時に再起動は要りませんが、設定した瞬間に多少、もたつく時間がかかり、swapコマンドでみると、複数のSwapエリアがあるように見えます。しかし、reboot後は、エントリが一つにまとめられます。

Solarisにおいて、Zoneは複数作られる可能性が高いので、Global Zoneは大きめに設定しておく方が良いでしょう。

また、Solarisのメモリマネージャの構造から、搭載してるメモリと同程度〜2倍ぐらいが目安と言われています。

non Global Zone準備

non Global Zoneの作成

Oracle Database を動かす non-global zone を作成します。

sudo zonecfg -z oracle-zone01

create -b
set brand=solaris
set zonepath=/dpool1/zones/oracle-zone01
set autoboot=true
set ip-type=exclusive
----
NICやディスクなどの設定は割愛
----

Oracle DBは、CPUがコアライセンスであることが多いので、適度にコアを定義します。下記は、8コア目から12コア目の4コアをアサインしています。Zoneのdedicated-cpuは、Oracle Databaseでいう「Hard Partitioning」に相当します。詳しくはOracle Databaseのライセンスを調べて下さい。

add dedicated-cpu
set ncpus=8-11
end

Swapメモリの制限値を指定したい場合は、下記の様に設定します。capped-memoryにはphysical(物理メモリの設定)がありますが、これは、rcapdを用い、1秒間に数回ポーリングしてメモリのサイズを調べ、必要となればzone内のプロセスをpage outするようにする機構です。この機能が働くとき、ZoneだけでなくGlobal Zoneを含めて全体が重くなるため、physicalを指定することは推奨できません。

swapは、実際のswapメモリのハードリミットとして動作します。

add capped-memory
set swap=32G
end

Oracle Databaseは、IPC(Inter Process Communication:プロセス間通信)パラメーターの共有メモリ(SHM)の設定を増やす必要があります。これらのSHM-MEMORY、SHM-IDS、SEM-IDSは、環境が「ちょうど良い」値を指定してください。

set max-shm-memory=32G
set max-shm-ids=1024
set max-sem-ids=1024

これらの設定は簡単に設定できるシノニムなので、exportコマンドで設定すると下記の様に出力されます。

add rctl
set name=zone.max-swap
add value (priv=privileged,limit=34359738368,action=deny)
end
add rctl
set name=zone.max-shm-memory
add value (priv=privileged,limit=34359738368,action=deny)
end
add rctl
set name=zone.max-sem-ids
add value (priv=privileged,limit=1024,action=deny)
end
add rctl
set name=zone.max-shm-ids
add value (priv=privileged,limit=1024,action=deny)
end

non Global Zone内の設定

パッケージのインストール

Zoneが起動したら、下記のパッケージをインストールする。

non-global zones は、Group Package である group/system/solaris-small-server がベースとなっている。

これに、下記のパッケージを追加しておく。

pkg install -v xauth make motif libxp libxtst xterm libxi developer/assembler

ユーザの作成

group、userの順で作成します。

sudo groupadd -g 200 oinstall
sudo useradd -u 201 -g oinstall -G dba,asmdba,oper -d /export/home/oracle -m oracle
sudo passwd oracle

id コマンドでoracle ユーザの情報を確認しておきます。

id -a oracle
uid=201(oracle) gid=200(oinstall)

プロジェクトの作成とリソースのアサイン

SRMのためのプロジェクトを作成し、ユーザに割りあてします。

sudo projadd group.dba
sudo projmod -s -K "project.max-shm-memory=(priv,32gb,deny)" group.dba
sudo projmod -s -K "project.max-max-sem-ids=(priv,512,deny)" group.dba
sudo projmod -s -K "process.max-file-descriptor=(priv,65536,deny)" group.dba
vi /etc/user_attr
oracle::::project=group.dba

oraleユーザでloginを行い、インストールなどを行います。

Private CloudPrivate Cloud
StorageStorage
NetworkNetwork