#topicpath
----
* 参考文献 [#x3c41ea5]
- [[Oracle Database インストレーション・ガイド 10g リリース2(10.2)for Solaris Operating System (SPARC 64-bit):http://otndnld.oracle.co.jp/document/products/oracle10g/102/solaris/B25025-02/toc.htm]]
- http://www.gadgety.net/shin/tips/unix/solaris.html
* 環境 [#e131edfa]
- Sun Ultra80
- Solaris10 05/09 SPARC
- Sun Studio 11
- Oracle 10g R2 (10.2.0.1.0)
* 前準備 [#q7abfd18]
#pre{{
bash-3.00# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot \
SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
system SUNWarc Lint Libraries (usr)
system SUNWbtool CCS tools bundled with SunOS
system SUNWhea SunOS Header Files
system SUNWi1of ISO-8859-1 (Latin-1) Optional Fonts
system SUNWlibm Math & Microtasking Library Headers & Lint Files (Usr)
system SUNWlibms Math & Microtasking Libraries (Usr)
system SUNWsprot Solaris Bundled tools
system SUNWtoo Programming Tools
system SUNWxwfnt X Window System platform required fonts
エラー: "SUNWsprox" エラー: "SUNWsprox" に関する情報が見つかりません。
エラー: "SUNWi1cs" に関する情報が見つかりません。
エラー: "SUNWi15cs" に関する情報が見つかりません。
}}
SUNWsprox は Solaris10 では要らないとのこと。
他の2つは1枚目のCDからインストール。
#pre{{
bash-3.00# cd /cdrom/cdrom0/Solaris_10/Product/
bash-3.00# pkgadd -d . SUNWi1cs SUNWi15cs
}}
* インストール開始 [#xb9af657]
グループとユーザの作成。
#pre{{
bash-3.00# groupadd oinstall
bash-3.00# groupadd dba
bash-3.00# useradd -g oinstall -G dba -d /export/home/oracle -m oracle
64 ブロック
bash-3.00# passwd -r files oracle
新しいパスワード:
新しいパスワードを再入力してください:
passwd: oracle のパスワードが変更されました
bash-3.00# id nobody
uid=60001(nobody) gid=60001(nobody)
bash-3.00#
}}
カーネルパラメータの設定と確認。
#pre{{
bash-3.00# prctl -n project.max-shm-memory -i project user.root
project: 1: user.root
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 479MB - deny -
system 16.0EB max deny -
bash-3.00# prctl -n project.max-sem-ids -i project user.root
project: 1: user.root
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-sem-ids
privileged 128 - deny -
system 16.8M max deny
}}
max-shm-memoryを4GBに変えておきます。
#pre{{
bash-3.00# prctl -n project.max-shm-memory -v 4gb -r -i project user.root
bash-3.00# prctl -n project.max-shm-memory -i project user.root
project: 1: user.root
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 4.00GB - deny -
system 16.0EB max deny
}}
#pre{{
bash-3.00# mkdir -p /opt/app/oracle
bash-3.00# mkdir -p /opt/oradata
bash-3.00# chown -R oracle:oinstall /opt/app/oracle
bash-3.00# chown -R oracle:oinstall /opt/oradata
bash-3.00# chmod -R 775 /opt/app/oracle
bash-3.00# chmod -R 775 /opt/oradata
}}
一度rootをログアウトして、X から oracle で入り直します。
oracleユーザでインストーラを起動。
#pre{{
bash-3.00$ ./runInstaller
Oracle Universal Installerを起動中です...
インストーラ要件の確認中...
オペレーティング・システムのバージョンを確認中: 必須5.8, 5.9 or 5.10. 実際5.10
問題なし
一時領域の確認中: 250 MBを超えている必要があります. 実際3135 MB 問題なし
スワップ領域の確認中: 500 MBを超えている必要があります. 実際3505 MB 問題な し
モニターの確認中: 少なくとも256色表示するよう設定されている必要があります. 実際16777216 問題なし
すべてのインストーラ要件を満たしています。
Oracle Universal Installerの起動を準備中 (以下略)
}}
noexec_user_stack=1 が設定されていないと怒られましたが、
そのまま続行してしまいました。
インストールのときは特に気にしなくていいようですが、
再起動したときに有効になるように一応設定しておきます。
#pre{{
bash-3.00# cp -p /etc/system /etc/system.org
bash-3.00# echo set noexec_user_stack=1 >> /etc/system
}}
あとは Linux と同じようにできます。
環境変数の設定を追加しておきましょう。
#pre{{
bash-3.00$ id
uid=100(oracle) gid=100(oinstall)
bash-3.00$ cat .profile
# This is the default standard profile provided to a user.
# They are expected to edit it to meet their own needs.
MAIL=/usr/mail/${LOGNAME:?}
CC=/opt/SUNWspro/bin/cc
CXX=/opt/SUNWspro/bin/CC
F77=/opt/SUNWspro/bin/f77
ORACLE_BASE=/opt/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/Db_1
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=/opt/SUNWspro/bin:$ORACLE_HOME/bin:$PATH
export CC
export CXX
export F77
export ORACLE_BASE
export ORACLE_HOME
export LD_LIBRARY_PATH
export PATH
bash-3.00$
}}
インスタンスを作ったら、ORACLE_SID も書いておきます。
#pre{{
ORACLE_SID=orcl
export ORACLE_SID
}}
* カーネルパラメータの設定について [#t07ee0cc]
prctl で設定したものは一時的なものらしく、
再起動すると消えてしまいます。
恒久的には project に登録する必要があります。
上での設定に加えて、max-shm-ids も増やしてみました。
#pre{{
bash-3.00# projmod -K "project.max-sem-ids=(priv,256,deny)" user.root
bash-3.00# projmod -a -K "project.max-shm-memory=(priv,4gb,deny)" user.root
bash-3.00# projects -l
system
projid : 0
comment: ""
users : (none)
groups : (none)
attribs:
user.root
projid : 1
comment: ""
users : (none)
groups : (none)
attribs: project.max-sem-ids=(priv,256,deny)
project.max-shm-memory=(priv,4294967296,deny)
noproject
projid : 2
comment: ""
users : (none)
groups : (none)
attribs:
default
projid : 3
comment: ""
users : (none)
groups : (none)
attribs:
group.staff
projid : 10
comment: ""
users : (none)
groups : (none)
attribs:
}}
ここで書き込んだ設定は /etc/project に保存されます。
(memo)
user.root ではダメみたいです。default に設定したほうが良さそうです。
----
#comment