mokky14's IT diary

IT関係の仕事メモ、勉強会の感想など書いてます。

Oracle 11g Release 2 をSolaris10(x64)にインストールしてみた(準備編)

自分のVirtualBox上のSolaris10(x64)にOracle11gをインストールしてみたのでメモ。

インストールファイルのダウンロード先はここ
ターゲットOSはSolarisなので、以下の2ファイルをダウンロード。

フルのOracleを無償ダウンロード出来んの? というのが気になったが、

すべてのソフトウェアは無償でダウンロードできます。各ソフトウェアには 開発者ライセンスがついており、完全版の製品を無償で使用できます。さらにアプリケーションの開発と試作を実施できます(または自己学習の目的に限り使用できます)

という文章がこのページにあった。ので心おきなくダウンロード。

 

ダウンロードしたzipファイルを解凍。

解答したディレクトリ直下に runInstaller というファイルがあったので、rootで実行すればいいのかな、と実行してみたら、

bash-3.2# ./runInstaller

ユーザーがrootです。ユーザーがrootの場合、Oracle Universal Installerはインストールを続行できません。
: ファイルもディレクトリもありません。
bash-3.2#

となった。仕方ないのでちゃんとマニュアル読む。

 

database/doc/index.htm をブラウザで開いて、「Database Quick Installation Guide 」を参照。

「3 Checking the Hardware Requirements」に従って、ハード要件の確認。

bash-3.2# /usr/sbin/prtconf | grep "Memory size"
Memory size: 2048 Megabytes
bash-3.2# /usr/sbin/swap -l
swap ファイル   デバイス  swaplo ブロック 空き容量
/dev/zvol/dsk/rpool/swap 181,1       8 1572856 1572856
bash-3.2# sar -r -i 5
sar: can't open /var/adm/sa/sa27
No such file or directory
bash-3.2# /bin/isainfo -kv
64-bit amd64 kernel modules
bash-3.2# df -k /tmp
ファイルシステム      kbytes 使用済み 使用可能 容量      マウント先
swap                 1450064      76 1449988     1%    /tmp
bash-3.2# df -k
ファイルシステム      kbytes 使用済み 使用可能 容量      マウント先
rpool/ROOT/s10_8-11  65544192 15823081 47359762    26%    /
/devices                   0       0       0     0%    /devices
ctfs                       0       0       0     0%    /system/contract
proc                       0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
swap                 1449928     360 1449568     1%    /etc/svc/volatile
objfs                      0       0       0     0%    /system/object
sharefs                    0       0       0     0%    /etc/dfs/sharetab
/usr/lib/libc/libc_hwcap1.so.1
                     63182843 15823081 47359762    26%    /lib/libc.so.1
fd                         0       0       0     0%    /dev/fd
swap                 1449644      76 1449568     1%    /tmp
swap                 1449596      28 1449568     1%    /var/run
rpool/export         65544192      32 47359762     1%    /export
rpool/export/home    65544192  475351 47359762     1%    /export/home
rpool                65544192      42 47359762     1%    /rpool

swapサイズ要件「Equal to the size of RAM」を満たしてないっぽい。
swapを2GBに拡張する。拡張方法はこっちのエントリーの通り。

 

続いて、「4 Checking the Software Requirements」に従って、パッケージ要件を確認。

bash-3.2# uname -r
5.10
bash-3.2# cat /etc/release
                    Oracle Solaris 10 8/11 s10x_u10wos_17b X86
  Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
                            Assembled 23 August 2011
bash-3.2# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibc SUNWlibms SUNWsprot \
>   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      SUNWlibms Math & Microtasking Libraries (Usr)
system      SUNWsprot Solaris Bundled tools
system      SUNWtoo   Programming Tools
system      SUNWxwfnt X Window System platform required fonts
    エラー: "SUNWlibc" に関する情報が見つかりません。
    エラー: "SUNWi1cs" に関する情報が見つかりません。
    エラー: "SUNWi15cs" に関する情報が見つかりません。
bash-3.2#

パッケージが不足してるっぽい。

が、SUNWlibcはSUNWlibCの誤りではないかと推測。Solaris10のインストールCDにもSUNWlibcというパッケージはなかった。
SUNWlibCはインストールされてた。

bash-3.2# pkginfo -i SUNWlibC
system      SUNWlibC Sun Workshop Compilers Bundled libC
bash-3.2#

SUNWi1csとSUNWi15csはインストール。

bash-3.2# pwd
/cdrom/sol_10_811_x86/Solaris_10/Product
bash-3.2# pkgadd -d . SUNWi15cs SUNWi1cs

</cdrom/sol_10_811_x86/Solaris_10/Product> 中のパッケージインスタンス <SUNWi15cs> を処理中です。

X11 ISO8859-15 Codeset Support(i386) 2.0,REV=2004.10.17.15.04
Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
</> をパッケージのベースディレクトリとして使用します。
## パッケージ情報を処理中です。
## システム情報を処理中です。
   6 個のパッケージパス名がすでに正しくインストールされています。
## パッケージの依存関係を検査しています。
## ディスク領域の要件を確認中です。
## すでにインストール済みのパッケージとの重複を確認中です。
## setuid/setgid を行うプログラムを検査中です。

このパッケージには、パッケージのインストール処理中にスーパーユーザーの
アクセス権で実行するスクリプトが含まれています。

<SUNWi15cs> のインストールを継続しますか [y,n,?] y

X11 ISO8859-15 Codeset Support を <SUNWi15cs> としてインストール中です。

## 1/1 部分をインストールしています。
1460 ブロック

<SUNWi15cs> のインストールに成功しました。

</cdrom/sol_10_811_x86/Solaris_10/Product> 中のパッケージインスタンス <SUNWi1cs> を処理中です。

X11 ISO8859-1 Codeset Support(i386) 2.0,REV=2004.10.17.15.04
Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
</> をパッケージのベースディレクトリとして使用します。
## パッケージ情報を処理中です。
## システム情報を処理中です。
   8 個のパッケージパス名がすでに正しくインストールされています。
## パッケージの依存関係を検査しています。
## ディスク領域の要件を確認中です。
## すでにインストール済みのパッケージとの重複を確認中です。
## setuid/setgid を行うプログラムを検査中です。

このパッケージには、パッケージのインストール処理中にスーパーユーザーの
アクセス権で実行するスクリプトが含まれています。

<SUNWi1cs> のインストールを継続しますか [y,n,?] y

X11 ISO8859-1 Codeset Support を <SUNWi1cs> としてインストール中です。

## 1/1 部分をインストールしています。
232 ブロック

<SUNWi1cs> のインストールに成功しました。

作業継続。次はパッチインストール状況。

bash-3.2# for no in 120754 119961 119964 137104 139575 139556; do echo "patchNo:$no"; /usr/sbin/patchadd -p | egrep "Patch: $no"; done
patchNo:120754
Patch: 120754-08 Obsoletes: Requires: Incompatibles: Packages: SUNWlibmsr SUNWlibm
Patch: 120754-10 Obsoletes: Requires: Incompatibles: Packages: SUNWlibmsr SUNWlibm
patchNo:119961
Patch: 119961-08 Obsoletes: Requires: Incompatibles: Packages: SUNWsprot
Patch: 119961-10 Obsoletes: Requires: Incompatibles: Packages: SUNWsprot
patchNo:119964
Patch: 119964-24 Obsoletes: Requires: Incompatibles: Packages: SUNWlibC
patchNo:137104
patchNo:139575
patchNo:139556
Patch: 139556-08 Obsoletes: 120063-01 125552-02 126265-01 127736-02 127744-02 127754-01 127854-02 128034-01 128297-01 128323-01 128341-01 128407-01 137096-01 137107-01 137122-06 137140-06 137279-01 137281-02 137293-02 138043-02 138049-05 138059-01 138099-01 138107-02 138113-01 138115-01 138117-01 138119-01 138121-01 138232-01 138242-05 138258-01 138412-01 138628-07 138849-02 138851-02 138859-01 138862-01 138871-01 138889-08 139389-02 139391-01 139467-04 139484-05 139488-01 139493-01 139495-01 139499-04 139507-02 139513-01 139552-01 139561-02 139567-01 139573-01 139575-03 139580-03 139937-01 139984-02 139992-02 140002-04 140005-01 140073-01 140085-01 140087-01 140088-01 140098-01 140100-01 140113-01 140118-01 140122-02 140125-01 140132-01 140143-01 140174-01 140193-01 140195-01 140198-01 140335-01 140390-01 140396-01 140398-01 140403-01 140407-01 140410-01 140414-01 140678-01 140680-01 140777-01 140795-01 140856-01 141007-01 141009-01 Requires: 125556-02 118344-14 118855-36 118919-21 119043-09 119255-41 120012-14 120901-03 121334-04 123840-04 126424-03 127128-11 127756-01 137138-09 138218-01 138884-01 140797-01 140900-01 141017-01 Incompatibles: Packages: SUNWroute SUNWsmapi SUNWckr SUNWarcr SUNWcsu SUNWlxr SUNWcsl SUNWipfu SUNWlxu SUNWcsr SUNWnfsckr SUNWos86r SUNWcslr SUNWnxge SUNWib SUNWtavor SUNWnisu SUNWudapltu SUNWdtrc SUNWfmd SUNWintgige SUNWrds SUNWgrub SUNWcpcu SUNWipfh SUNWzfskr SUNWbtool SUNWdtrp SUNWfmdr SUNWhea SUNWmdbr SUNWibsdpib SUNWpsu SUNWzfsr SUNWesu SUNWauda SUNWdoc SUNWcakr SUNWzfsu SUNWudaplu SUNWmdb SUNWpcu SUNWzoneu SUNWcryr SUNWarc SUNWcry SUNWiscsitgtu SUNWloc SUNWpapi SUNWcsd SUNWpsm-lpd SUNWhermon SUNWpool SUNWudfr SUNWxcu4 SUNWsadmi SUNWiscsitgtr SUNWppm SUNWtoo
bash-3.2#

137104と139575がインストールされてないっぽい。
パッチはここからダウンロードしろとあったが、2013/03現在、このURLは生きてない。
個人的なお試し環境作りたいだけなので、とりあえず無視してインストール進める。

 

 次、「5 Creating Required Operating System Groups and User」に従ってユーザチェック。

bash-3.2# grep oinstall /etc/group
oinstall::54321:
bash-3.2# more /var/opt/oracle/oraInst.loc
/var/opt/oracle/oraInst.loc: ファイルもディレクトリもありません。
bash-3.2# grep dba /etc/group
dba::54322: 
bash-3.2# id -a oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall) 
bash-3.2#

dba、oinstallグループ、oracleユーザは既に登録されていたけど、oracleユーザがdbaグループに所属してない。
oracleユーザをdbaグループに追加。

bash-3.2# usermod -G dba oracle
bash-3.2# id -a oracle
uid=54321(oracle) gid=54321(oinstall) groups=54322(dba)

oraInst.locはなかったら作れとは書いてないのでないまま進める。

「6 Configuring Kernel Parameters on Solaris 10」の内容はとりあえず無視。
(追記)インストール時にmax-shm-memoryの不足が見つかったので、チェックした方がよい。

「7 Creating Required Directories」の通りにディレクトリ作成。

# mkdir -p /u01/app/oracle
# mkdir /u02/oradata
# chown -R oracle:oinstall /u01/app/oracle
# chown -R oracle:oinstall /u02/oradata
# chmod -R 775 /u01/app/oracle
# chmod -R 775 /u02/oradata

「8 Configuring the oracle User's Environment」の内容に従ってoracleユーザの環境設定。

bash-3.2# su - oracle
Oracle Corporation      SunOS 5.10      Generic Patch   January 2005
-bash-3.2$ echo $SHELL
/bin/bash

ログインシェルがbashなので、.profileに環境変数を設定。

-bash-3.2$ cat ~/.profile
unask 022
export DISPLAY=localhost:0.0

とりあえずここまででインストール環境は作成完了。

インストール編に続く。