トップページ | 2005年6月 »

2005年5月31日 (火)

Panther De Oracle10g その7

いよいよ、Panther De Oracle10 のインストールもあと少し。。(今回の記事中に、Macromedia Flashの部分があるが、MacOS X上で動作する、Safari、Mozilla、FireFox、IEでは閲覧可能であることは確認した。Windows上でもMozillaでは閲覧可能を確認したが、IEでは表示できないようである、Windowsで閲覧する方は、FireFoxや、Mozillaをおすすめします。m(_ _)m。なお、Flash上にフローティングのコントローラがあるが、Flash上であれば自由に移動可能。

4.インストール

OTN-USからダウンロードした ship_mac_db.cpio を /Volumes/Repository/temp 以下で解凍済みなので、Disk1に移動する。そこには、runInstaller が あるはずなので、それを起動すれば OUIが起動する。
(注意
解凍した、Disk1以下の読み込み及び実行パーミッションがあることは事前に確認しておいてほしい。 => だったら、一番最初に解凍するより、Oracle所有者でログイン後に解凍する手順を書けばいいのに!。と自分へツッコミ!)
cube: oracle$ cd /Volumes/Repository/temp
cube:/Volumes/Repository/temp oracle$ ll
total 2678000
drwxr-xr-x 9 discus wheel 306 May 17 17:11 Disk1
-rw-r--r-- 1 discus wheel 652902028 Dec 23 09:47 ship_mac_db.cpio.gz
cube:/Volumes/Repository/temp oracle$ cd Disk1
cube:/Volumes/Repository/temp/Disk1 oracle$ ll
total 24
drwxr-xr-x 6 discus wheel 204 May 17 17:09 doc
drwxr-xr-x 7 discus wheel 238 May 17 17:09 fonts
drwxr-xr-x 12 discus wheel 408 May 17 17:09 install
drwxr-xr-x 8 discus wheel 272 May 17 17:09 response
-rwxr-xr-x 1 discus wheel 1259 Dec 22 07:33 runInstaller
drwxr-xr-x 16 discus wheel 544 May 17 17:11 stage
-rwxr-xr-x 1 discus wheel 5171 Dec 22 07:33 welcome.htm
cube:/Volumes/Repository/temp/Disk1 oracle$
cube:/Volumes/Repository/temp/Disk1 oracle$ ./runInstaller &
[1] 2754
cube:/Volumes/Repository/temp/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/OraInstall2005-05-22_11-00-16PM.
Please Oracle Universal Installer, バージョン 10.1.0.3.0 製品版
Copyright (C) 1999, 2004, Oracle. All rights reserved.


[1]+ Done ./runInstaller
cube:/Volumes/Repository/temp/Disk1 oracle$

4−1) orainstRoot.shの実行

Last login: Sun May 22 23:20:55 on ttyp2
Welcome to Darwin!
cube: oracle$ sudo sh
Password:
sh-2.05b# cd /Volumes/ExtraDisk2/u01/app/oracle/oraInventory
sh-2.05b# ./orainstRoot.sh
chmod: /var/opt/oracle: No such file or directory
Oracleインベントリ・ポインタ・ファイルを作成しています。(/var/opt/oracle/oraInst.loc)
次のグループ名を変更します: /Volumes/ExtraDisk2/u01/app/oracle/oraInventory
新規グループ名: oinstall.
sh-2.05b#

このあと再び、OUIに戻り、インストールを続ける。

4−2)root.shの実行

インストールも後半になると、unix系プラットフォームでは、おなじみのroot.shの実行が必要になる。(なぜか、こればかりは、10gになってもインストーラー側ではやってくれないので、未だに人手に頼っている!)
root.sh の実行中に Oracle Cluster Ready 用の処理があるようだ。クラスタ環境でもなくCRSもインストールしていないので、CRSデーモンは絶対起動しないのである。最大で、600秒間起動を待っているようなので、じっと(10分間)我慢であった。。。。。(ほんとかよ〜〜)
じっと我慢していると、タイムアウトしたのか、こんどは、ASM関連らしき処理ステップで散々、no such file or directoryを連発して、”無事??” 終了する。Linuxや他のUnix系の10gでは、こんなことになんなかったような気がするが。。。ま、いいか!。Linux版Oracleも別途インストールして確かめてみればいいし。。。
Last login: Sun May 22 16:21:34 on ttyp1
Welcome to Darwin!
cube: oracle$ sudo sh
Password:
sh-2.05b# cd /Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/panther
sh-2.05b# ls
Apache install oc4j relnotes
OPatch install.platform olap root.sh
assistants inventory opmn slax
bin javavm oraInst.loc sqlj
cdata jdbc oracore sqlplus
config jdk ord srvm
copyJDK.sh jlib oui sysman
css jre owm uix
ctx ldap perl ultrasearch
dbs lib plsql wwg
demo md precomp xdk
diagnostics mesg racg
dm network rcpJDK.sh
has nls rdbms
sh-2.05b# ./root.sh
Running Oracle10 root.sh script...
\nThe following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/panther

Enter the full pathname of the local bin directory:
[/usr/local/bin]:

Creating /usr/local/bin directory...
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...

\nCreating /etc/oratab file...
Adding entry to /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
/etc/oracle does not exist. Creating it now.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'wheel'..
Operation successful.
Oracle Cluster Registry for cluster has been initialized

cp: /etc/watchdog.conf: No such file or directory
cat: /etc/watchdog.conf: No such file or directory
Adding to inittab
usage: kill [-s signal_name] pid ...
kill -l [exit_status]
kill -signal_name pid ...
kill -signal_number pid ...
Checking the status of Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.


Giving up: Oracle CSS stack appears NOT to be running.
/Volumes/ExtraDisk2/u01/app/oracle/product/10.1.0/panther/root.sh:
line 788: /System/Library/StartupItems/OracleCRS: is a directory
Oracle CSS service would not start as installed
Automatic Storage Management(ASM) cannot be used until Oracle CSS service is started
mkdir: /opt: No such file or directory
mkdir: /opt/ORCLfmap: No such file or directory
mkdir: /opt/ORCLfmap/prot1_32: No such file or directory
mkdir: /opt/ORCLfmap/prot1_32: No such file or directory
mkdir: /opt/ORCLfmap/prot1_32: No such file or directory
cp: /opt/ORCLfmap/prot1_32/bin: No such file or directory
cp: /opt/ORCLfmap/prot1_32/bin: No such file or directory
chmod: /opt/ORCLfmap/prot1_32/bin/fmputl: No such file or directory
chmod: /opt/ORCLfmap/prot1_32/bin/fmputlhp: No such file or directory
cp: /opt/ORCLfmap/prot1_32/etc: No such file or directory
sh-2.05b#
sh-2.05b#
sh-2.05b#
ひとまず、インストールはできたようである。ここからは、DBCA (Database Configuration Assistant)が起動して、データベースを作成してくれる。

5.インストール後の作業

Oracle所有者でログインし、.bash_profileを編集し、必要な環境変数を追加する。追加したら、.bash_profileを読み込ませて sql*plusを使って、停止、起動の確認を する。
cube: oracle$ cat .bash_profile
##
# for Oracle10g
##
umask 022

TEMP=/tmp
TMPDIR=/tmp

ORACLE_BASE=/Volumes/ExtraDisk2/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.1.0/panther
ORACLE_SID=panther
NLS_LANG=Japanese_Japan.JA16SJISTILDE
DYLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:$DYLD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:$PATH
export TEMP TMPDIR ORACLE_BASE ORACLE_HOME ORACLE_SID NLS_LANG DYLD_LIBRARY_PATH PATH

cube: oracle$ . .bash_profile
cube: oracle$
作成したインスタンスが起動しているはずなので、停止、してから再起動してみる。ふ〜〜〜。問題ないようである。(今回は、Windowsからも試してみたいかったので、文字コードを JA16SJISTILDE にしたが、以前のリリース(開発途上版?だったか?)では、文字コードがMACSJISだとデータベース作成に失敗するという問題があった。このリリースでは問題ないようである。)
yahoo

OEMを起動すると、Safari1.3では、対象外と言われるし、Mozilla1.7.7ではこのような、Javaのスタックトレースをたっぷり、おみまいされた!
なんとかしろ〜〜〜。って叫んだところでどうにもならんが、、付属するリリースノートを読み返すと、どうもフォント関係の問題のようで、そのフォントをjavaのライブラリにコピーしてやればよいらしい。現時点では放っておくことにする。ちなみに、Safariでサブミットボタンがないのだが、ENTER キーには反応して、このような例外を吐き出してくれた!SafariとMozillaでアクセスしてみた、OEM 10g ....
49 50 51
でも、データベース本体は、無事? のようなので、ここで、Panther De Oracle10g はひとまず終了。 (MacOS X Tigerは、現時点(2005/05/31)で未サポートのようだが、とりあえずインストールしてみるか・・・ということで、次は、Tiger De Oracle10g です。)

| | コメント (0) | トラックバック (0)

2005年5月30日 (月)

Panther De Oracle10g その6

oracle所有者でのインストール事前準備です。
Oracle6,7,8,8iまで、unix系インストールってそれほど進化してなかったんですが、Oracle9i R1、R2そして、Oracle10gと、インストールは確実に楽になってきているように思います。(今のところ、事前準備に関しては、Windows版ほど簡単だとは感じませんが、Windows環境では、レジストリという手強い相手がいますので、個人的には、unix系のほうが好きです。そういえば、昔のunix系プラットフォームで、インストール失敗原因の一つに、環境変数LANGをunsetし忘れてしまうというのがありました。 いまそんなの気にしなくていいですから、楽になりましたよ、ほんとに。)

3.Oracle所有者での作業

3−1)Oracle所有者でログイン

ログインウィンドウからOracle所有者にログインして、Terminalを起動し、Terminalの文字エンコーディングを設定します。Terminalのメニュー->ウィンドウ設定...->ターミナルインスペクタ->ポップアップメニュー->ディスプレイを選択->文字セットエンコーディングを日本語(MacOS)にします。最後にデフォルトにするボタンをクリック!。
terminal_charaset

3−2)インストール用環境変数の設定

.bash_profileを作成し、以下のようにTEMP TMPDIR ORACLE_BASE ORACLE_SIDの環境変数を設定。また、umaskの設定もお忘れなく。ORACLE_BASEには、前述、2−6)でORACLE_BASE用に作成したパスを設定。ORACLE_SIDには、今回作成するインスタンス名 tiger を設定。

cube: oracle$ vi .bash_profile
cube: oracle$
cube: oracle$ cat .bash_profile
umask 022

# oracle environment
TEMP=/tmp
TMPDIR=/tmp
ORACLE_BASE=/Volumes/ExtraDisk2/u01/app/oracle
ORACLE_SID=panther
export TEMP TMPDIR ORACLE_BASE ORACLE_SID

cube: oracle$
cube: oracle$ . .bash_profile
cube: oracle$
cube: oracle$
cube: oracle$ echo $ORACLE_BASE
/Volumes/ExtraDisk2/u01/app/oracle
cube: oracle$
cube: oracle$ echo $ORACLE_SID
panther
cube: oracle$
cube: oracle$ echo $TEMP
/tmp
cube: oracle$
cube: oracle$ echo $TMPDIR
/tmp
cube: oracle$
cube: oracle$ umask
0022
cube: oracle$

とインストール前のOracle所有者での設定はここまでです。Oracle9i R2あたりから、インストール時の必須環境変数が随分簡素化されたので たったこれだけです。では、次はいよいよ、Oracle Universal Installer(OUI)でインストールを行います。(どうなりますか。。。。)

| | コメント (1) | トラックバック (0)

panther De Oracle10g その5

さて、rootユーザでの作業も終了間近、、、Macでコマンドばかり使っていると、GUIが恋しくなってくる。。。かな。

2−6)ディレクトリの作成

OFA(Optimal Flexible Architecture)に基づいて、Oracleソフトウェアをインストールするディテクトリ及び、データベースファイルを配置するディレクトリを作成します。(OFAについては、インストレーションガイドを参照してください)
本番環境では、OFAに基づいて、複数の物理ディスクや、論理ボリュームにOracleソフトウェアや、データファイル、制御ファイル、REDOログファイル、アーカイブREDOログファイルを配置するようにしますが、インストールする PowerMac G4 Cube にはディスクが1本で、パーティションが4つ作成してあるだけなので、ファイルを分散配置しても、パフォーマンスや、ディスク障害に対してはほとんど効果はありません。ただし、管理という側面からはそれなりに意味があるので /Volumes/ExtraDisk2/u01以下をOracleソフトウェア用とREDOログファイル、制御ファイル、/Volumes/ExtraDisk2/u02 以下をデータファイル、REDOログファイル、制御ファイル、そして、/Volumes/ExtraDisk/u03以下は、REDOログファイルと制御ファイル配置用とておきます。(お試し環境なので、ノーアーカイブモードでデータベースを作成します)
各ディレクトリ作成後に、ディレクトリのオーナーをOracle所有者へ、グループを今回のインストールでは、oinstallに変更。それと、パーミッションの変更も忘れずに!
sh-2.05b# cd /Volumes/ExtraDisk2/
sh-2.05b# pwd
/Volumes/ExtraDisk2
sh-2.05b# mkdir -p u01/app/oracle
sh-2.05b# chown -R oracle:oinstall u01
sh-2.05b# chmod -R 775 u01
sh-2.05b#
sh-2.05b# mkdir -p u02/oradata
sh-2.05b# chown -R oracle:oinstall u02
sh-2.05b# chmod -R 775 u02
sh-2.05b#
sh-2.05b# cd /Volumes/ExtraDisk
sh-2.05b# pwd
/Volumes/ExtraDisk
sh-2.05b# man mkdir
sh-2.05b# mkdir -p u03/oradata
sh-2.05b# chown -R oracle:oinstall u03
sh-2.05b# chmod -R 775 u03
sh-2.05b#
ここもコマンドで行っていますが、コマンドを使うのは苦手という方は、Finderから各フォルダを作成後、フォルダの所有権とアクセス権を変更すれば同じです。
mk_and_permission

2−7)カーネルパラメータの調整及び、シェル内のリソース制限値調整

MacOS Xもunixベースですから、他のunix系OSと同様に、カーネルパラータを調整しておく必要があります、Installation Guideに記載されているカーネルパタメータ以上になっているか確認し、必要があれば調整してください。
マニュアルに記載されている値は、以下の通り。

kern.corefile = core
kern.sysv.semmni = 87381
kern.sysv.semmns = 87381
kern.sysv.semmnu = 87381
kern.sysv.semmsl = 87381
kern.sysv.semume = 10
kern.sysv.maxproc = 2068
kern.sysv.maxprocperuid = 2068

2−7−1) 現在値の確認

お試し環境を作成するだけなので、扱えるファイル数はデフォルトのままで問題ないと思いますが、インストレーションガイドでは、シェル内のリソース制限値を変更するようになっているため、カーネルパラメータのmaxfilesとmaxfilesperprocも確認しておきます。マニュアルでは、Maximum number of open file descriptorsは65536以上にするようにとなっています。

  • カーネルパラメータの確認
  • sh-2.05b# sysctl -a | grep -E corefile\|sem\|maxproc\|maxfile
    kern.maxproc = 532
    kern.maxprocperuid = 100
    kern.corefile = /cores/core.%P
    kern.sysv.semmni: 87381
    kern.sysv.semmns: 87381
    kern.sysv.semmnu: 87381
    kern.sysv.semmsl: 87381
    kern.sysv.semume: 10
    kern.posix.sem.max: 10000
    kern.maxfiles = 12288
    kern.maxfilesperproc = 10240
    sh-2.05b#

  • シェル内のリソース制限値を確認
  • sh-2.05b# ulimit -aH
    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) unlimited
    pipe size (512 bytes, -p) 1
    stack size (kbytes, -s) 65536
    cpu time (seconds, -t) unlimited
    max user processes (-u) 532
    virtual memory (kbytes, -v) unlimited
    sh-2.05b#
    sh-2.05b# 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) 256
    pipe size (512 bytes, -p) 1
    stack size (kbytes, -s) 8192
    cpu time (seconds, -t) unlimited
    max user processes (-u) 100
    virtual memory (kbytes, -v) unlimited

    2−7−2)カーネルパラメータの変更

    私の環境では、maxproc 関連だけを調整すれば問題ないようですから、maxproc と macprocperuid を2068に増加し、 maxfiles を 67584、 maxfilesperproc を 65535 に増加することにします。

    /etc/sysctl.conf を編集して、カーネルパラメータを設定することにしますが、デフォルトでは、sysctl.conf が存在していないようなので vi なり、pico なり、emcas なり、お好きなエディタで作成しちゃいましょ。

    sh-2.05b# vi /etc/sysctl.conf
    sh-2.05b# cat /etc/sysctl.conf
    ##
    # for Oracle10g EE 10.1.0.3
    # created by discus. 2005-5-21.
    ##
    kern.maxfiles=67584
    kern.maxfilesperproc=65536
    kern.maxproc=2068
    kern.maxprocperuid=2068

    2−7−3)シェル内のリソース制限値調整

    注)
    インストレーションガイドでは、以降で解説する /System/Library/StartupItems/IPServices/IPServices と /etc/rc を変更するように記載されているが、/etc/rc.common でシェルリソース制限値を設定するほうがよいのではないかと思える。/etc/rc.common の最初には以下のコメントがある。
    #######################
    # Configure the shell #
    #######################
    まぁ、ちゃんと調べたわけではないので個人的な考えですが・・・。
    それではマニュアル通りに進めることにして、/System/Library/StartupItems/IPServices/IPServices をお好きなテキストエディタ開き、以下の ulimitコマンドを、IPServices内の StartServices関数に追加。

    2−7−1)のリソース制限値のハードリミットで、open file は unlimited になっていますから、max user processes のハードリミットとソフトリミットを調整することにします。

    以下のコマンドでいうと、最初の2つだけを設定することにします。
    ulimit -Hu 2068
    ulimit -Su 2068
    ulimit -Hn 65536
    ulimit -Sn 65536
    変更後の /System/Library/StartupItems/IPServices/IPServices
    sh-2.05b# cd /System/Library/StartupItems/IPServices
    sh-2.05b# ls -l IPServices
    -rwxr-xr-x 1 root wheel 283 Mar 24 10:49 IPServices
    sh-2.05b# vi IPServices
    sh-2.05b# cat IPServices
    #!/bin/sh

    ##
    # IP Services
    ##


    . /etc/rc.common

    StartService ()
    {
    ###########################################################
    # set resource limit in shell for Oracle10g

    ulimit -Hu 2068
    ulimit -Su 2068
    ###########################################################

    ##
    # Internet super-server.
    ##
    ConsoleMessage "Starting internet services"
    xinetd -inetd_compat -pidfile /var/run/xinetd.pid

    ##
    # Internet Address Sharing.
    ##
    if [ -a /etc/com.apple.named.conf.proxy ]
    then
    ConsoleMessage "Starting Internet address sharing"
    /usr/libexec/InternetSharing
    fi

    }

    StopService ()
    {
    return 0
    }

    RestartService ()
    {
    return 0
    }

    RunService "$1"
    sh-2.05b#

    次に、同じ ulimit コマンドを /etc/rc スクリプトの、SystemStarter コマンドの前に追加します。

    変更後の /etc/rc の内容(長いので途中略)
    sh-2.05b# cd /etc 
    sh-2.05b# ls -l rc
    -rw-r--r-- 1 root wheel 7782 Mar 24 10:49 rc
    sh-2.05b# vi rc
    sh-2.05b# cat rc
    #!/bin/sh

    ##
    # Multi-user startup script.
    #
    # Copyright 1997-2002 Apple Computer, Inc.
    #
    # Customize system startup by adding scripts to the startup
    # directory, rather than editing this file.
    ##

    stty intr undef
    stty kill undef
    stty quit undef
    stty susp undef
    stty start undef
    stty stop undef
    stty dsusp undef

    . /etc/rc.common

    〜〜〜〜〜〜中略〜〜〜〜〜

    ############################################
    # set resource limit in shell for Oracle10g
    ############################################
    ulimit -Hu 2068
    ulimit -Su 2068
    ############################################


    # Start the Language Chooser. This code should be able to go away as far as I
    # know once loginwindow becomes dynamic and SystemStarter exits the GUI
    # business.
    STARTPBS="/System/Library/CoreServices/pbs" # apps stall w/o
    BUDDYCOOKIE="/var/db/.AppleSetupDone"
    LCACOOKIE="/var/db/.RunLanguageChooserToo"
    STARTLCA="/System/Library/CoreServices/Language Chooser.app/Contents/MacOS/Language Chooser"

    if [ -x "$STARTLCA" -a -x "$STARTPBS" -a ! -f "$BUDDYCOOKIE" -a -f "$LCACOOKIE" ]; then
    SystemStarter -g start Core(J\(B Graphics
    "$STARTPBS" &
    pbspid=$!
    "$STARTLCA"
    kill $pbspid # XSelect does this independently
    fi

    if [ ! -s "/var/log/CDIS.custom" ]; then
    echo "Language Chooser seems to have failed; defaulting to English"
    echo "LANGUAGE=English" > "/var/log/CDIS.custom"
    fi

    export LANGUAGE

    SystemStarter -gr ${VerboseFlag} ${SafeBoot}

    if [ -f /etc/rc.local ]; then
    sh /etc/rc.local
    fi

    exit 0
    sh-2.05b#

    ここで一旦、再起動(問題なく起動したか syslog などを確認!)。

    ここまでで、rootユーザでの作業は終わりです。rootユーザの作業で作成した Oracle所有者での作業に、つづく。。

    | | コメント (0) | トラックバック (0)

    2005年5月29日 (日)

    Panther De Oracle10g その4

    これもUnix系プラットフォームでは、おなじみ、Oracle所有者用アカウントの作成です。MacOSXでも同じようなものですが、フラットファイルを利用せず、NetInfoManagerを利用しているところがことなります。が、/etc/group や /etc/passwd を利用した場合と大きな違いはありません。 

    2−5)グループ及び、Oracle所有者の作成

    2−5−1)oinstall及び、dbaグループの作成

    オラクルのインストールでお約束である、グループの作成です。 /etc/groups を利用することもできますが、ここでも、NetInfoManager を利用します。
    oinstall 及び、 dba グループが存在しないこと確認しておきます。(ここでは、 oinstall 及び、dba グループの gid をそれぞれ、100、101に設定するため、100と101が gid として利用されていないことも合わせて確認おきます。)
    sh-2.05b# nireport . /groups name gid | grep -E oinstall\|dba
    sh-2.05b# nireport . /groups gid | grep -E 100\|101
    sh-2.05b#
  • oinstall グループ及び、dba グループを niclコマンドで作成、追加します。
  • sh-2.05b# nicl . -create /groups/oinstall passwd "*"
    sh-2.05b# nicl . -append /groups/oinstall gid 100
    sh-2.05b# nicl . -create /groups/dba passwd "*"
    sh-2.05b# nicl . -append /groups/dba gid 101
    sh-2.05b# nicl . -append /groups/oinstall users oracle
    sh-2.05b# nicl . -append /groups/dba users oracle
    sh-2.05b#
  • グループはうまくできているようですね。
  • sh-2.05b# nireport . /groups name gid passwd users | grep -E oinstall\|dba
    oinstall 100 * oracle
    dba 101 * oracle
    sh-2.05b#
    sh-2.05b#

    NetInfoManagerではこのようになります。
    netinfo_group_panther   netinfo_user_panther

    2−5−2)Oracle所有者の作成

    /etc/passwd は使用しません、NetInfoManager を利用します。
    oracle というユーザを uid 502 で作成するので、既存ユーザとぶつからないかチェック。
    sh-2.05b# nireport . /users name uid | grep -E oracle\|502
    sh-2.05b#
    /Users 以下に oracle というディレクトリを下記条件、手順で作成。 なお、dittoコマンドでは、NetInfoではできないユーザディレクトリの各国語対応のテンプレートをコピーします。 これを忘れても、ログインはできますし、オラクルのインストール及び利用は可能ですが、一部のGUIアプリケーションでは、起動できなかったり、文字化けなどを起こすアプリケーションがありますのでご注意ください。
  • niclコマンドで oracleユーザを作成します。
  • gid:100 (oinstallグループ)
  • uid:502
  • shell:/bin/bash
  • ホームディレクトリ:/Users/oracle
  • realname:"Oracle Owner"
  • /Users/oracle のオーナーとグループを oracle、oinstallに変更。
  • 最後に、oracle所有者のパスワードを設定して終了!
  • sh-2.05b# mkdir /Users/oracle
    sh-2.05b# ditto /System/Library/User\ template/Japanese.lproj /Users/oracle
    sh-2.05b# nicl . -create /users/oracle
    sh-2.05b# nicl . -append /users/oracle gid 100
    sh-2.05b# nicl . -append /users/oracle uid 502
    sh-2.05b# nicl . -append /users/oracle shell /bin/bash
    sh-2.05b# nicl . -append /users/oracle home /Users/oracle
    sh-2.05b# nicl . -append /users/oracle realname "Oracle Owner"
    sh-2.05b# chown oracle:oinstall /Users/oracle
    sh-2.05b# passwd oracle
    Changing password for oracle.
    New password:
    Retype new password:
    sh-2.05b#
  • 作成内容の確認!
  • sh-2.05b# nireport . /users name gid uid shell home realname | grep oracle
    oracle 100 502 /bin/bash /Users/oracle Oracle Owner
    sh-2.05b#

    NetInfoManagerでのこのようになります。
    netinfo_oracle_user_panther
  • oracle所有者にログインできるか確認。コマンドで確認するなら、
  • [cube:] discus% su - oracle
    Password:
    cube: oracle$

    Fast User Switchなどで確認してもよいですね!。
    oracle_user_login_panther


    rootユーザでの作業はまだあります。次は、ディレクトリの作成・・・

    | | コメント (0) | トラックバック (0)

    Panther De Oracle10g その3

    rootユーザでの作業の続き。。

    2−4)IPアドレス、ホスト名の確認及び設定

    注)

    ネットワークに接続しないで行う場合には、以下の設定は行わなくてもインストールできます。その場合には、cube.local(127.0.0.1)のままにしておけば問題なくインストールできますが、このインストールでは、マニュアルで推奨されている通り、ホスト名を設定して行います。

    OEMや、Net Serviceの設定があるので、この時点でホスト名やIPアドレスを決めておきます!

    固定IPアドレスを割り当て、デフォルトのホスト名も変更します。(私の環境では、192.168.1.5に設定して、ホスト名は、cube.discus.jp と設定することにします)

    2−4−1)hostnameの確認!

    あれれ、domain名が .local になってますね!(デフォルトのままです!) 実はシステム環境設定->共有 でホスト名は変更できるのですが、ドメインは .local のまま変更できません! でどうするかというと /etc/hostconfig の hostname を変更します!

    sh-2.05b# hostname
    cube.local
    sh-2.05b#

    HOSTNAME=-AUTOMATIC- の部分を HOSTNAME=cube.discus.jp に変更して保存します。vi でも、pico でも、emacs でもお好きなエディタで編集してください。(もし、 HOSTNAME が存在していなければ追加してください) 以下、/etc/hostconfig の変更前、後の内容を示します。(HOSTNAME の部分だけに注目!)

    変 更 前 変 更 後
    sh-2.05b# cat /etc/hostconfig
    ##
    # /etc/hostconfig
    ##
    # This file is maintained by the system control panels
    ##
    # Network configuration
    HOSTNAME=-AUTOMATIC-
    ROUTER=-AUTOMATIC-
    # Services
    AFPSERVER=-NO-
    APPLETALK=-NO-
    AUTHSERVER=-NO-
    AUTOMOUNT=-YES-
    CONFIGSERVER=-NO-
    CUPS=-YES-
    IPFORWARDING=-NO-
    IPV6=-YES-
    MAILSERVER=-NO-
    NETBOOTSERVER=-NO-
    NETINFOSERVER=-AUTOMATIC-
    NISDOMAIN=-NO-
    RPCSERVER=-YES-
    TIMESYNC=-YES-
    QTSSERVER=-NO-
    SSHSERVER=-NO-
    WEBSERVER=-NO-
    SMBSERVER=-NO-
    DNSSERVER=-NO-
    CRASHREPORTER=-YES-
    PORTMAP=-YES-
    NFSLOCKS=-AUTOMATIC-
    SNMPSERVER=-NO-
    SPOTLIGHT=-YES-
    sh-2.05b#
    sh-2.05b# cat /etc/hostconfig
    ##
    # /etc/hostconfig
    ##
    # This file is maintained by the system control panels
    ##
    # Network configuration
    HOSTNAME=cube.discus.jp
    ROUTER=-AUTOMATIC-
    # Services
    AFPSERVER=-NO-
    APPLETALK=-NO-
    AUTHSERVER=-NO-
    AUTOMOUNT=-YES-
    CONFIGSERVER=-NO-
    CUPS=-YES-
    IPFORWARDING=-NO-
    IPV6=-YES-
    MAILSERVER=-NO-
    NETBOOTSERVER=-NO-
    NETINFOSERVER=-AUTOMATIC-
    NISDOMAIN=-NO-
    RPCSERVER=-YES-
    TIMESYNC=-YES-
    QTSSERVER=-NO-
    SSHSERVER=-NO-
    WEBSERVER=-NO-
    SMBSERVER=-NO-
    DNSSERVER=-NO-
    CRASHREPORTER=-YES-
    PORTMAP=-YES-
    NFSLOCKS=-AUTOMATIC-
    SNMPSERVER=-NO-
    SPOTLIGHT=-YES-
    sh-2.05b#

    2−4−2)IPアドレスの設定

    /etc/hosts は利用しないで NetInfoManager を利用します(デフォルト。 /etc/hosts を利用するようにすることもできますがデフォルトのまま NetInfoManager を利用します。) ちなみに、Finderウィンドウ->サイドバーのアプリケーション->ユーティリティ->ディレクトリアクセスをダブルクリックで現状のディレクトリアクセスを参照、変更できます。 directory_access

    まずは、nireportコマンドで cube.discus.jp (192.168.1.5) が存在しないことを確認。 まだ登録されいないようですね!

    sh-2.05b# nireport . /machines name ip_address
    localhost 127.0.0.1
    broadcasthost 255.255.255.255
    sh-2.05b#
    /etc/host にエントリを登録するような感じで、niclコマンドでホスト名とIPアドレスを登録します。 登録できたら、nireportで確認! niclコマンドや、nireportコマンドは、NetInfoManeger のコマンドです。詳細は、manで確認するか、googleで検索したり、Panther De Oracle10g その1で紹介した書籍などを参考にしてくだい。

    次に、cube.discus.jp をローカルドメインの /machines ディレクトリに作成して、IPアドレスとして 192.168.1.5 を追加、さらにホスト名の別名として、 cube を追加しています。

    sh-2.05b# nicl . -create /machines/cube.discus.jp
    sh-2.05b# nicl . -append /machines/cube.discus.jp ip_address 192.168.1.5
    sh-2.05b# nicl . -append /machines/cube.discus.jp name cube

    うまく作成できたか nireport コマンドで確認!

    sh-2.05b# nireport . /machines name ip_address
    localhost 127.0.0.1
    broadcasthost 255.255.255.255
    cube.discus.jp,cube 192.168.1.5
    sh-2.05b#


    NetInfoManagerのコマンドではなく、GUIでも同様の操作は行えます。Macですから、GUIがいい! という方は、GUIで行ってもかまいません。
    NetInfoManagerは、Finderウィンドウ->アプリケーション->ユーティリティ->NetInfo マネージャをダブルクリックして起動できます。
    netinfo
    ちなみに、/etc/hosts は、OSインストール時のままで何もしていません。

    sh-2.05b# cat /etc/hosts
    ##
    # Host Database
    #
    # localhost is used to configure the loopback interface
    # when the system is booting. Do not change this entry.
    ##
    127.0.0.1 localhost
    255.255.255.255 broadcasthost
    ::1 localhost
    sh-2.05b#

    ここで、一旦、再起動。

    再起動したら、Finderウィンドウ->アプリケーション->ユーティリティ->Terminalをダブルクリックして起動し、hostname の確認や ping でネットワークの確認をしておきます。

    pb17:〜 oracle$ sudo sh
    Password:
    sh-2.05b# hostname
    cube.discus.jp
    sh-2.05b#
    sh-2.05b# ping -c 5 cube.discus.jp
    PING cube.discus.jp (192.168.1.5): 56 data bytes
    64 bytes from 192.168.1.5: icmp_seq=0 ttl=64 time=0.133 ms
    64 bytes from 192.168.1.5: icmp_seq=1 ttl=64 time=0.129 ms
    64 bytes from 192.168.1.5: icmp_seq=2 ttl=64 time=0.125 ms
    64 bytes from 192.168.1.5: icmp_seq=3 ttl=64 time=0.127 ms
    64 bytes from 192.168.1.5: icmp_seq=4 ttl=64 time=0.133 ms

    --- localhost ping statistics ---
    5 packets transmitted, 5 packets received, 0% packet loss
    round-trip min/avg/max/stddev = 0.125/0.129/0.133/0.003 ms
    sh-2.05b#

    今日はここまで。rootでの作業は、まだ続く!

    | | コメント (0) | トラックバック (0)

    2005年5月28日 (土)

    ソフトウェアエンジニアなら一度は見とけ!?

    映画みるのもテレビ見るのも好きなのだが、ソフトウェアエンジニアなら、一度は見ておけ〜〜って、おすすめしたい(あくまで個人的な趣味です。。。あしからず)

    最近、セキュリティ企業内部者の犯行かという記事を目にして、すぐに浮かんだ映画が、サンドラブロック主演のザ・インターネットという映画。企業コンプライアンスが叫ばれているなか、そんなことは無いと思いたいが、、、(どこぞの国の談合事件もあるからね! いろんな感覚が麻痺しちゃうと歯止めがかからなくなるから怖いね〜。)。また、旧Macintoshが登場して、Floppyが出てくるまでのじれったさがたまらない!。Macファンにもおすすめ!。 


    Mac vs. Windowsのドキュメンタリー??? これも好きな作品です。シリコンバレーの海賊たち


    オープンソースプログラマーならこのこの映画かな〜、サベイランス

    そして最近見たコメディ。単純に笑える!、99ドル 3Dインターフェイスをもつ夢? のPC! あったら欲しいね!.....
    シリコンバレーを抜け駆けろ


    | | コメント (0) | トラックバック (0)

    2005年5月27日 (金)

    Panther De Oracle10g その2

    rootユーザでの作業(Oracleインストール時のお約束!)

    2. rootユーザでの事前準備

    事前に、MacOS X 10.3.9 (panther) と XCode1.1 をインストールしておきます。なお、なお、MacOS X 10.3.9は、Pantherの最新リリースで、XCode1.1も日本語版では最新のものです(英語版では、XCode2.0までリリースされています。)

    MacOS Xでは、MacOS X Serverにインストールされている管理用ツールがないのですが、NetInfoManagerを利用するだけでも十分設定が可能なので心配ありません。また、NetInfoManagerは、GUIでも利用できますが、今回は、TerminalからNetInfoManagerコマンドを利用して設定します。また、デフォルトでは、rootユーザはdisableになっていますので、NetInfoManagerでrootユーザをenableにしないと、直接、rootユーザでログインできません

    [pb17:] discus% su -
    Password:
    su: Sorry
    [pb17:] discus%
    しかし、sudoコマンドでrootになることはできるので、NetInfoManagerでrootユーザをenableにしなくても問題ありません。 Oracle10g EE Release 1(10.1.0.3) for Apple Mac OS X Server Quick Installation Guideでは、
    The system must meet the following minimum hardware requirements:
    RAM 512MB
    Swap 1GB or twice the size of RAM
    Disk space in /tmp 400MB
    Disk space for Software files 2GB
    Disk space for database files 1.2GB

    と記載されていますので、これ以上のサイズがあれば問題ありません。 作成するデータベースをカスタマイズしてサイズを大きくするのであればその分は考慮してください。Swapは、MacOS Xではダイナミックページャが管理しており、動的に作成してくれるのでシステムディスクにそれ以上の空きがあれば十分でしょう。

    マニュアルに書いてある手順で進めますが、ワークグループマネージャはMacOS X Serverにしか付属していないので、その部分はNetInfoManagerを利用します。また、ローカルで利用するだけならネットワークへの接続は不要なのですが、前述した通り、マニュアルに沿って作業を行うので、ネットワーク(LAN)には接続した状態を前提にしておきます。

    2−1)rootユーザに切り替える!

    [pb17:] discus%
    sudo sh
    Password:
    sh-2.05b#
    sh-2.05b# whoami
    root
    sh-2.05b# echo $SHELL
    /bin/bash

    2−2)メモリとディスク空き容量の確認!

  • システムディスク及び、/tmpは、十分空いてます。
  • sh-2.05b# df -h /
    Filesystem Size Used Avail Capacity Mounted on
    /dev/disk0s12 15G 6.0G 8.8G 41% /

    sh-2.05b# df -h /tmp
    Filesystem Size Used Avail Capacity Mounted on
    /dev/disk0s12 15G 6.0G 8.8G 41% /
  • ディスクは内蔵が1本、FireWireの外付けが1本なので、Oracle10gのソフトウェアは、 外付けのExtraDisk2パーティションへインストールし、データベースは、 ExtraDiskパーティションに作成することにします。
  • sh-2.05b# df -h /Volumes/ExtraDisk
    Filesystem Size Used Avail Capacity Mounted on
    /dev/disk1s10 57G 3.0G 54G 5% /Volumes/ExtraDisk

    sh-2.05b# df -h /Volumes/ExtraDisk2
    Filesystem Size Used Avail Capacity Mounted on
    /dev/disk1s12 57G 4.4G 53G 8% /Volumes/ExtraDisk2
  • メモリは要件を満たしています。
  • sh-2.05b# /usr/sbin/system_profiler SPHardwareDataType | grep Memory
    Memory: 832 MB
    GUIで操作したい方は、Finderウィンドウ->サイドバーのアプリケーション-> ユーティリティ->システムプロファイラダブルクリックで確認できます。

    system_profier


    2−3)ソフトウェアのバージョンを確認!

    MacOS X は、10.3.9 Pantherで、Server版ではありません! gccも3.3なので問題なし! XCodeは、1.1ですが、付属しているgccが要件を満たしてます。
    sh-2.05b# uname -a
    Darwin discus.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; 
    root:xnu/xnu-517.12.7.obj ̄1/RELEASE_PPC  Power Macintosh powerpc
    sh-2.05b# 
    sh-2.05b# sw_vers
    ProductName:    Mac OS X
    ProductVersion: 10.3.9
    BuildVersion:   7W98
    sh-2.05b#
    sh-2.05b# gcc -v
    Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs
    Thread model: posix
    gcc version 3.3 20030304 (Apple Computer, Inc. build 1640)
    sh-2.05b# 
    sh-2.05b# /usr/sbin/system_profiler SPApplicationsDataType | grep Xcode
        Xcode:
          Get Info String: Xcode v1.1
          Location: /Developer/Applications/Xcode.app

    | | コメント (0) | トラックバック (0)

    2005年5月26日 (木)

    Panther De Oracle10g その1

    1996年にリリースされたPersonal Oracle7 for MacOS以来、9年ぶりに、Macintosh上で動作するOracleデータベース(Oracle10g)が正式にリリースされた。本家OTNでは、昨年末からダウンロード可能になっていたので早々ダウンロードし、MacOS Xにインストールしてみることにした。
    (現在は、OTN-Jでもダウンロード可能なので、興味を持った方はチャレンジしてみるのもよいのでは?)

    ということで、Mac OS X 10.3 (Panther)へのOracle10gインストールを始めるまえに。。。

    なお、ご自身の Macにインストールする際には、ご自身の責任において行ってくださいね!。

    対応OSおよび最小要件の通り、オラクル社では、Oracle10gは、MacOS X Server版の10.3.6 (Panther)だけを正式サポートしている。今回、私が行うインストールで対象としているのは、Server版ではないので、当然サポート対象外!。
    それと、新しくリリースされた、Tiger (10.4)は現時点では、まだサポート対象外なのである。
    だから、なにか問題があっても不思議ではない!

    ちなみに、前述のオラクル社の最小要件の末尾に、”その他”の注意として、X-Windowが必要とかなんとかの記述があるがMacOS Xでのインストールには、他のUnix系プラットフォームへのOracleのインストールとは異なり、X-Windowは必要ないことを付け加えておく。
    #いずれ、修正されることを期待しつつ。(だったら、間違いをオラクルさんに教えてあげろよ〜)
    #MacOS XでもX11は移植されているが、別世界なので気にしないように!


    なお、Oracle10gのことをもうちょっと知りたいという方や、MacOS XのUnix的な部分を知りたいというかたは、

    技術評論社「Oracle Database 10g 運用管理ガイド」ISBN4-7741-2282-3
    オライリージャパン「プログラミング Mac OS X for Unix Geeks」 ISBN4-87311-121-8
    LOCUS 「Mac OS X v10.3 UNIX的徹底活用講座」 ISBN4-89814-501-9

    が、参考になるのではないかと。。。

    それと、絶対に読まなければいけないのは、Oracleに付属するドキュメントやリリースノートである。昔、オラクルのリリースノートや、インストールガイドを軽視していたために、リリース時の制限事項(リリース時点での既知の不具合など)に気づかす、徹夜していた友人がいた。翌朝、私がリリースノートに書かれている問題だと知らせるまで、「うまくいかないんだよ〜」と、充血した目で言っていたことを今でも覚えている。(笑いたいけど、笑えない・・・・・)

    では、早速、私のMac
    DSC00003

    (PowerMac G4 Cube 1.2Ghz 832GB RAMでMacOS X10.3.9 Panther)にOracle10g EE for MacOS X Serverをインストールしてみます。
    #ところで、気づいた方もいると思いますが、Cubeは、400Mhzまたは、450Mhzの
    #PowerPC G4だったはず!。 ですが、SonnetのCPUカードでアップグレード
    #してあるんです。このカードのおかげで、しばらくは、Cubeで遊べそう。
    #最近は、1.7Ghzのカードも登場した模様。Cubeは不滅です!(^^)

    作業は、

    1.Oracle10g for MacOS X Serverのダウンロード
    2.rootユーザでの事前準備
    3.Oracle所有者での事前準備
    4.OUI(Oracle Universal Installer)の起動(インストール)
    5.インストール後の作業


    という流れで進めます。(さて、順調に進むか?!・・・)


    注)

    MacOS X Serverにのみ付属する管理ツールでの設定以外は、OTN-USからダウンロードした、Oracle10g EE for MacOS X Server付属のQuick Installation Guideなどの手順を参考にします。また、クラスタ環境ではないのでRACのインストールはしません。

    1.Oracle10g for MacOS X Serverのダウンロード

    1−1) ダウンロード


    OTN-USでダウンロードしたものでも、国際化対応されていますので、ソフトウェア自体では、日本語などのマルチバイト文字にも対応しています。ダウンロードURLは、http://www.oracle.com/technology/software/products/database/oracle10g/index.html

    #この記事では、上記サイトからダウンロードしたものを利用しています。
    ちなみに、日本のOTNからも同じものがダウンロードできるようになってますね。(知らなかった!)

    OTN-J(http://otn.oracle.co.jp/software/products/oracle10g/index.html)

    どちらも、ユーザ登録している方がダウンロードできます。(ユーザ登録は無料です)


    ダウンロードは、 Safari から行いました。これで特に問題はでていません。コマンド好きな方は、curlコマンドを使いたくなるかもしれませんが、オラクル社のサイトから、curlコマンドでダウンロードしたことはないので curl でダウンロードできるかは不明です。

    上記、いづれかのURLから
    Download the Complete Files
    ship_mac_db.cpio.gz (652,902,028 bytes) (cksum - 2322818882)
    をダウンロードします。

    1−2) 解凍

    以下のように、解凍するべしと手順が記述されているのですが、 Terminal を起動して以下コマンドで解凍してください。
    ところで、Terminalってなんだってって方はいないと思いますが、Linux なんかの、 XTerm や、 KTerm ってところです。Windows しか知らない! という方なら、DOSプロンプトのようなものです。

    terminal

    起動は、Finderウィンドウ->サイドバーのアプリケーション->ユーティリティ->ターミナルをダブルクリック。よく利用することになるので、Dockにターミナルをドラッグ&ドロップして登録しておきましょう!
    Directions
     1. Run "gunzip " on all the files. Eg.: gunzip ship_mac_db.cpio.gz
     2. Extract the cpio archives with the command "cpio -idmv < "
      Eg.: cpio -idmv < ship_mac_db.cpio
     3. Installation guides and general Oracle Database
    10g documentation can be found here.

    1−3) 解凍後

    解凍すると、Disk1 というフォルダが現れます。
    Disk1/doc にインストレーションガイドなどのドキュメントが入っています。 readmes.html をダブルクリックしオンラインドキュメント内にある Installation Guide 、 Release note、 Quick Installation Guide などで手順や注意点などを確認。(英語です)
    と今日はここまで。。。

    | | コメント (0) | トラックバック (0)