« Leopard de Oracle10g release 2 (Intel x86-64) | トップページ | Leopard de Oracle10g R2 (Intel x86-64) #2 »

2009年4月13日 (月)

Leopard de Oracle10g R2 (Intel x86-64) #1

ひさびさに、Mac De Oracleらしい内容かも。。。:)

Oracle® Database Installation Guide 10g Release 2 (10.2) for Apple Mac OS X (Intel)を元にホスト名等を変更していますが、ホスト名はhogehoge.localのような形式でも問題なはず(試したわけではないので駄目かもしれませんが、以前のリリースではOKだったので)。また、該当マニュアルにはMacOSX PantherやTigerの初期をイメージした記述があるのでLeopard向けに一部マニュアルとは異なるコマンド等を利用しています。

前回は結果だけをお見せしたので、今日からはインストールの模様を数回に分けてか書く予定です。
今回はインストール環境を整えてOUI(Oracle Universal Installer)を起動するところまで。

まず、HardwareとSoftwareの確認から。(お約束なので。)
今回利用したマシンはApple MacBook Pro 15inchです。

インストレーションガイドにはOnly the versions listed in the previous table are supported. Do not install the software on other versions of Apple Mac OS X.と書いてありますが、お遊び環境ならそれ以外でもインストールできますよ。またJDK1.4.2と書かれていて、laterとはかかれていないことも気になったが取りあえずJavaSE6.0でいきます。(JDeveloper11gとかOracle WebLogic Serverもインストール済みなので。。。)

Macintosh:˜ discus$ /usr/sbin/system_profiler SPHardwareDataType | grep -E '(Processor|Cores|Memory)'
Processor Name: Intel Core 2 Duo
Processor Speed: 2.2 GHz
Number Of Processors: 1
Total Number Of Cores: 2
Memory: 2 GB
Macintosh:˜ discus$
Macintosh:˜ discus$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.5.6
BuildVersion: 9G55
Macintosh:˜ discus$
Macintosh:˜ discus$ df -h /
Filesystem Size Used Avail Capacity Mounted on
/dev/disk0s2 111Gi 66Gi 45Gi 60% /
Macintosh:˜ discus$
Macintosh:˜ discus$ df -h /tmp
Filesystem Size Used Avail Capacity Mounted on
/dev/disk0s2 111Gi 66Gi 45Gi 60% /
Macintosh:˜ discus$
Macintosh:˜ discus$ uname -a
Darwin Macintosh.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00
PST 2008; root:xnu-1228.9.59˜1/RELEASE_I386 i386
Macintosh:˜ discus$
Macintosh:˜ discus$ gcc --version
i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5488)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Macintosh:˜ discus$
Macintosh:˜ discus$ java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06-153)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_07-b06-57, mixed mode)
Macintosh:˜ discus$
Macintosh:˜ discus$ system_profiler SPApplicationsDataType | grep Xcode
Xcode:
Get Info String: Xcode version 3.1.1
Location: /Developer/Applications/Xcode.app
Macintosh:˜ discus$

次はOracle所有者のグループ及びOracle所有者の作成
既存gidとuidを確認後、oinstall及びdbaグループを作成し、oracleユーザーを作成します。
LeopardではNetInfoManagerが無くなったのでPantherの頃利用していたniclコマンドは使えないので、替わりにdsclコマンドを使って作成します。

Macintosh:˜ discus$ sudo dscl . -list /groups gid name | more
・・・中略・・・
netusers 52
network 69
nobody -2
nogroup -1
・・・中略・・・
Macintosh:˜ discus$
Macintosh:˜ discus$ sudo dscl . -create /groups/oinstall
Password:
Macintosh:˜ discus$ sudo dscl . -append /groups/oinstall gid 502
Macintosh:˜ discus$ sudo dscl . -append /groups/oinstall passwd "*"
Macintosh:˜ discus$
Macintosh:˜ discus$ sudo dscl . -create /groups/dba
Macintosh:˜ discus$ sudo dscl . -append /groups/dba gid 503
Macintosh:˜ discus$ sudo dscl . -append /groups/dba passwd "*"
Macintosh:˜ discus$ sudo dscl . -list /groups gid name | grep -E '(dba|oinstall)'
dba 503
oinstall 502
Macintosh:˜ discus$
Macintosh:˜ discus$ sudo dscl . -list /users uid name | more
・・・中略・・・
daemon 1
discus 502
nobody -2
root 0
uucp 4
(END)

Macintosh:˜ discus$
Macintosh:˜ discus$ sudo dscl . -create /users/oracle
Macintosh:˜ discus$ sudo dscl . -append /users/oracle uid 503
Macintosh:˜ discus$ sudo dscl . -append /users/oracle gid 502
Macintosh:˜ discus$ sudo dscl . -append /users/oracle shell /bin/bash
Macintosh:˜ discus$ sudo dscl . -append /users/oracle home /Users/oracle
Macintosh:˜ discus$ sudo dscl . -append /users/oracle realname "Oracle software owner"
Macintosh:˜ discus$ sudo mkdir /Users/oracle
Macintosh:˜ discus$ sudo chown oracle:oinstall /Users/oracle
Macintosh:˜ discus$ sudo passwd oracle
Changing password for oracle.
New password:
Retype new password:
Macintosh:˜ discus$ sudo dscl . -append /groups/dba GroupMembership oracle
Macintosh:˜ discus$ id oracle
uid=503(oracle) gid=502(oinstall) groups=502(oinstall),503(dba)
Macintosh:˜ discus$
Macintosh:˜ discus$
Macintosh:˜ discus$ sudo dscl . -read /users/oracle
・・・中略・・・
NFSHomeDirectory: /Users/oracle
Password: ********
PrimaryGroupID: 502
RealName:
Oracle software owner
RecordName: oracle
RecordType: dsRecTypeNative:users
UniqueID: 503
UserShell: /bin/bash
Macintosh:˜ discus$ sudo dscl . -read /groups/dba
AppleMetaNodeLocation: /Local/Default
GroupMembership: oracle
Password: *
PrimaryGroupID: 503
RecordName: dba
RecordType: dsRecTypeNative:groups
Macintosh:˜ discus$


これもお約束の作業、カーネルパラメータの調整です。既存の値を確認してインストレーションガイドで指定された値より小さければ変更します。変更するパラメータは/etc/sysctl.confへ設定しておきます。

Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep sem
kern.sysv.semume: 10
kern.sysv.semmsl: 87381
kern.sysv.semmnu: 87381
kern.sysv.semmns: 87381
kern.sysv.semmni: 87381
kern.posix.sem.max: 10000
security.mac.sysvsem_enforce: 1
security.mac.posixsem_enforce: 1
Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep shm
kern.sysv.shmall: 1024
kern.sysv.shmseg: 8
kern.sysv.shmmni: 32
kern.sysv.shmmin: 1
kern.sysv.shmmax: 4194304
machdep.pmap.hashmax: 11
security.mac.sysvshm_enforce: 1
security.mac.posixshm_enforce: 1
Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep maxfiles
kern.maxfiles = 12288
kern.maxfilesperproc = 10240
kern.maxfiles: 12288
kern.maxfilesperproc: 10240
Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep ortrange
net.inet.ip.portrange.hilast: 65535
net.inet.ip.portrange.hifirst: 49152
net.inet.ip.portrange.last: 65535
net.inet.ip.portrange.first: 49152
net.inet.ip.portrange.lowlast: 600
net.inet.ip.portrange.lowfirst: 1023
Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep corefile
kern.corefile = /cores/core.%P
kern.corefile: /cores/core.%P
Macintosh:˜ discus$ /usr/sbin/sysctl -a | grep maxproc
kern.maxproc = 532
kern.maxprocperuid = 266
kern.maxproc: 532
kern.maxprocperuid: 266
Macintosh:˜ discus$
Macintosh:˜ discus$
Macintosh:˜ discus$
Macintosh:˜ discus$ cat /etc/sysctl.conf
#for Oracle10gR2 setting
kern.sysv.shmall=2097152
kern.sysv.shmmni=4096
kern.sysv.shmmax=1073741824
kern.maxfiles=65536
kern.maxfilesperproc=65536
net.inet.ip.portrange.first=1024
kern.maxproc=2068
kern.maxprocperuid=2068
Macintosh:˜ discus$

次にShell limitの設定。

マニュアルには/System/Library/StartupItems/IPServices/IPServices scriptを編集する・・・
とありますがLeopardではこのスクリプト自体というかSystemStarterが非推奨となりStartupItemsというディレクトリがあるだけでスクリプトはありません。替わりにlaunchdが用意されているので/etc/launchd.confに設定します。
一応LeopardでもStartupItemsにスクリプトを置けば実行してくれますが。。。元になるIPServicesスクリプトが無いのでね。Leopardには。(^^;;;;

現在の値を確認するにはulimitコマンドを利用してもいいですが、launchctlコマンドが用意されているのでこれを使ったほうがソフトリミット/ハードリミットの両方を一度に確認できて便利です。umaskは問題ないのでlimitだけ調整しておきます。

Macintosh:˜ discus$ umask
0022
Macintosh:˜ discus$ launchctl limit
cpu unlimited unlimited
filesize unlimited unlimited
data 6291456 unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 266 352
maxfiles 12288 65530
Macintosh:˜ discus$
Macintosh:˜ discus$ ulimit -aS
core file size (blocks, -c) 0
data seg size (kbytes, -d) 6144
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 12288
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 266
virtual memory (kbytes, -v) unlimited
Macintosh:˜ discus$
Macintosh:˜ discus$ ulimit -aH
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 65530
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 65532
cpu time (seconds, -t) unlimited
max user processes (-u) 352
virtual memory (kbytes, -v) unlimited
Macintosh:˜ discus$
Macintosh:˜ discus$
Macintosh:˜ discus$ cat /etc/launchd.conf
limit maxproc 2068 2068
limit maxfiles 65536 65536
Macintosh:˜ discus$


マウントポイントとORACLE_BASEとするディレクトリを作成しておきます。今回は/Users/Shared以下に作成することにしました。分かり易いようにu01としておきます。
詳細はマニュアル参照のこと

Macintosh:˜ discus$ cd /Users/Shared
Macintosh:Shared discus$ mkdir u01
Macintosh:Shared discus$ cd /Users/Shared/u01
Macintosh:u01 discus$ mkdir app
Macintosh:u01 discus$ mkdir app/oracle
Macintosh:u01 discus$ cd ..
Macintosh:Shared discus$ sudo chown -R oracle:oinstall u01
Macintosh:Shared discus$ sudo chmod -R 755 u01


そしてネットワーク関連の構成(自宅のLAN環境は固定IPなので今回利用するMacBook Proにはguppyと名付けてホスト名と/etc/hostsを構成します。この箇所はインストレーションガイドのChecking the Network Setupの内容とは異なりますのでご注意ください。)
ホスト名の変更にはhostnameコマンドの他、scutilコマンドを使いました。

Macintosh:˜ discus$ sudo hostname guppy
Macintosh:˜ discus$ hostname
guppy
Macintosh:˜ discus$ sudo scutil --set LocalHostName $(hostname)
Macintosh:˜ discus$ sudo scutil --set HostName $(hostname)
Macintosh:˜ discus$ hostname
guppy.macdeoracle.jp
Macintosh:˜ discus$ sudo scutil --get LocalHostName
guppy
Macintosh:˜ discus$ sudo scutil --get HostName
guppy.macdeoracle.jp
Macintosh:˜ discus$
Macintosh:˜ discus$ cat /etc/hosts | grep guppy
192.168.1.6 guppy.macdeoracle.jp guppy


ここでMacOSXを再起動


変更したkernel parameter値、及びshell limit値を確認

guppy:˜ discus$ sysctl -a | grep -E '(portrange.last|portrange.first)'
net.inet.ip.portrange.last: 65535
net.inet.ip.portrange.first: 1024
guppy:˜ discus$ sysctl -a | grep -E '(shmall|shmmni|shmmax)'
kern.sysv.shmall: 2097152
kern.sysv.shmmni: 4096
kern.sysv.shmmax: 1073741824
guppy:˜ discus$ sysctl -a | grep -E '(maxfiles|maxfilesperproc)'
kern.maxfiles: 65536
kern.maxfilesperproc: 65536
guppy:˜ discus$ sysctl -a | grep -E '(maxproc|macprocperuid)'
kern.maxproc: 2068
kern.maxprocperuid: 2068
guppy:˜ discus$
guppy:˜ discus$ launchctl limit
cpu unlimited unlimited
filesize unlimited unlimited
data 6291456 unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 2068 2068
maxfiles 65536 65536
guppy:˜ discus$


ここまでできたら、Fast User Switchでoracleユーザへログインし、Terminalを起動する。
Terminalを起動したら以下の環境変数を.bashrcに設定、反映させる。(あらかじめORACLE_BASEとして定義するディレクトリは作成しておいた。)

guppy:˜ oracle$ echo $ORACLE_BASE
/Users/shared/u01/app/oracle
guppy:˜ oracle$ echo $ORACLE_SID
leopard1
guppy:˜ oracle$


21

22_2


23


次に、ダウンロード、解凍したOracle10g R2 for MacOSX Server (Intel x86-64) DBのDisk1ディレクトリへ移動し、runInstaller起動してインストール開始。
(今回は特にカスタマイズせず、Enterprise Editionをインストールし、汎用タイプとして構成されたデータベースを作成。)

guppy:˜ oracle$ cd /Users/Shared/db/Disk1
guppy:Disk1 oracle$ ll
total 16
drwxr-xr-x@ 10 discus staff 340 Apr 3 02:18 doc
drwxr-xr-x@ 15 discus staff 510 Apr 2 22:49 install
drwxr-xr-x@ 7 discus staff 238 Apr 2 22:49
response
-rwxr-xr-x@ 1 discus staff 1980 Apr 2 22:49 runInstaller
drwxr-xr-x@ 47 discus staff 1598 Apr 2 22:49 stage
-rw-r--r--+ 1 discus staff 3911 Apr 3 02:18 welcome.html
guppy:Disk1 oracle$ ./runInstaller &
[1] 738
guppy:Disk1 oracle$ Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
Preparing to launch Oracle Universal Installer
from /tmp/OraInstall2009-04-12_03-gguppguppguppy:Disggggguguguggguppy:Disk1 oracle$

22

次回へつづく。


バックナンバー
Oracle10g R2 for MacOSX (Intel x86-64) released !!!
Leopard de Oracle10g release 2 (Intel x86-64)

|

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/106341/44655540

この記事へのトラックバック一覧です: Leopard de Oracle10g R2 (Intel x86-64) #1:

コメント

コメントを書く