#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

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS