UniServer / UniPrint / UniHttpd


Oracle8.0.5 for linux インストールについて by uchi. '99.3.12

とりあえず、HDDを変えて、dosvに入れてみました。


マシン構成は以下の物です。

PentiumPro200MHz
96MBMem
4GBHDD SCSI
CD-ROM SCSI
MGM2
10BASE-T PCI

linuxのパッケージすべて、とオラクルインストールで2GB強でした。

(/oracle/cdromを消せば、もっとへらせますね。でも、DBを作成するとこれ以上ですね)

Turbo Linuxをインストール

・ディスクのパーティションを切るときに、Linux Native、Linux Swapの2種類
(2個)パーティションを用意する必要がぐらいで、そのままのCD−ROMですんなり
のインストールでした。(インターネットで取って後で追加はなし)
CD-ROMでブートして未フォーマットのHDDにすべて、linuxだけを入れました。
(Win95は入れず)

オラクルの入手(入手先 http://technet.oracle.com (いわゆるftp版 約140MB))

せっかく長い時間かけてダウンしたのでCD-Rに焼いておきました。HDD内の肥やし
にするのはもったいないですもんね。

User登録

ユーザー名:oracle グループ名:dbaを登録
 $>su - root
 #>groupadd dba
 #>adduser oracle
 #>usermod -g dba -d /oracle -s /bin/bash oracle
 #>passwd oracle
 作成後はログインしてみること。それによりshellやhome directoryを確認
 以下の環境変数を用意。~/.bash_profile に追加する。

     ・     ・

 export ORACLE_BASE=/oracle/u01/app/oracle
 export ORACLE_HOME=$ORACLE_BASE/product/8.0.5
 export ORACLE_SID=test
 export ORACLE_TERM=vt100
 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
 export PATH=$PATH:$ORACLE_HOME/bin
 export LD_LIBRARY_PATH=$ORACLE_HOME/lib
 export NLS_LANG=japanese_japan.ja16euc
 (この.bash_profileはrootとoracleに設定する。)

次に/etcにoratabファイルを作成し、オーナーを変更

 $>su - root
 #>cd /etc
 #>touch oratab
 #>chown oracle.dba oratab

CD-Rセット(rootで、先に入手したftp版のモジュールをCD-Rに焼いておいたので)

 #>mount /dev/cdrom /mnt/cdrom

CD-Rアーカイブを解凍する。(CD-Rの805ship.tgzはこわれてました。)

 $>cd /oracle
 $>mkdir cdrom
 $>cd cdrom
 $>(cd /mnt/cdrom; cat 805ship.1 805ship.2 805ship.3 805ship.4 805ship.5 805ship.6 805ship.7)|tar xvfz -

Installer起動

  (必ずユーザーoracleで)
  $>cd /oracle/cdrom/orainst
  $>./orainst

Installerとの対話

  (操作はTABキー、矢印キー、スペースキー、Enterキーを使う)
  Install Type:Custom [OK]
  preamble.txt:[OK]
  /mnt/orainst/README.FIRST:[OK]
  Installation Activity Choice:Install,Upgrade or De-Install Software [OK]
  Installation Options:Install New Product - Create DB Objects [OK]
  Environment Variables:[OK]  .bash_profileの通り
  Logging and Status:[OK]     .bash_profileの通り
  Install Source:Install from CD-ROM [OK]
  ORACLE_SID:orcl [OK]        .bash_profileの通り
  NLS:All Languages [OK]
  Information:[OK]
  Software Asset Manager:
  ここでは、すべてのプロダクトを選択。
  DBA Group:[OK]
  OSOPER:[OK]
  Create DB Object Strage Type:Filesystem-based Database
  Create DB Object(F/S):[OK]
  Database Mount Points:
  Point1 /oracle/u02    Point2 /oracle/u03    Point3 /oracle/u04 [OK]
  Character Set:Others [OK]
  Character Set:JA16SJIS [OK]
  National Character Set:JA16SJISFIXED [OK]
  SYSTEM Password:oracle12 [OK]
  SYS Password:oracle12 [OK]
  dba Password:[NO]
  TNS Listener Password:oracle12 [OK]
  Configure MTS and start SQL*Net listener:[NO]
  Create DB Objects(F/S) Control File Locator:[OK]
  DB Defaults:[OK]
  Default Database:[OK]

コピー待ち

  かなり長い。30分〜1時間程度
  上記対処でインストールは正常終了する。

root.shの実行

  インストーラが最初に言っていたように、インストールが終了したらrootで
  ログインしなおして$ORACLE_HOME/orainst/root.shを
  実行する。
    cd $ORACLE_HOME/orainst
    sh ./root.sh
    [Y]
    [Y] 

Install完了と動作test

  $>ps -ax
 343  ?  S    0:00 ora_pmon_test
 345  ?  S    0:00 ora_dbw0_test
 347  ?  S    0:00 ora_lgwr_test
 349  ?  S    0:00 ora_ckpt_test
 351  ?  S    0:00 ora_smon_test
 353  ?  S    0:00 ora_reco_test
プロセスがたくさんいる。
 $>svrmgrl  ← [Enter]
 Oracle Server Manager Release 3.0.5.0.0 - Production
 (c) Copyright 1997, Oracle Corporation.  All Rights Reserved.
 Oracle8 Release 8.0.5.0.0 - Production
 PL/SQL Release 8.0.5.0.0 - Production
 SVRMGR>connect internal   ← [Enter]
 Connected.
 SVRMGR> show  ← [Enter]
 Instance                        local
 Spool                           OFF
 Timing                          OFF
 Termout                         ON
 Echo                            OFF
 Stoponerror                     OFF
 Autorecovery                    OFF
 Logsource                       <default>
 Maxdata                         20480
 Numwidth                        10
 Charwidth                       80
 Longwidth                       80
 Datewidth                       9
 Labwidth                        32
 Compatibility                   NATIVE
 Retries                         infinite
 Server Output                   OFF
 Autoprint                       OFF
 Fetchrows                       infinite
 Appinfo                         OFF (USERTEXT : Oracle Server Manager)
 SVRMGR> exit
 Server Manager complete.
 $>tnslsnr &  ← TNS Listenerを起動しておく
 手近のWinマシンから接続してみる

なぜかここで、tnslsnrが起動しないので以下の内容を行った。

・/oracle/u01/app/oracle/product/8.0.5/network/admin/listener.oraを以下のように変更。
LISTENER =
 (ADDRESS_LIST =
       (ADDRESS= (PROTOCOL= IPC)(KEY= orcl))
       (ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))
       (ADDRESS= (PROTOCOL= TCP)(Host= dosv._utl.co.jp)(Port= 1521))
 )
SID_LIST_LISTENER =
 (SID_LIST =
   (SID_DESC =
     (SID_NAME = orcl)
     (ORACLE_HOME = /oracle/u01/app/oracle/product/8.0.5)
   )
 )
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
TRACE_LEVEL_LISTENER = OFF
・で手動($ORACLE_HOME/bin/lsnrctl、プロンプトでstart)で、リスナーの起動を試みるが、パーミッションエラー
 なので、オーナーをoracle.dbaにすべて変更する。
 $>su -
 #>cd /
 #chown -R oracle.dba oracle
・で無事起動。

自動起動スクリプトを作成。
 

・/etc/rc.d/init.d/orastart (chmod a x /etc/rc.d/init.d/orastartで実行パーミッションを設定)
#!/bin/sh
export ORACLE_BASE=/oracle/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.0.5
export ORACLE_SID=orcl
export ORACLE_TERM=vt100
export ORACLE_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
su oracle -c "/oracle/u01/app/oracle/product/8.0.5/bin/dbstart_on_boot $1"
・で/oracle/u01/app/oracle/product/8.0.5/bin/dbstartを
  /oracle/u01/app/oracle/product/8.0.5/bin/dbstart_on_bootで
  コピーして中を修正。
 $>cd $ORACLE_HOME/bin
 $>cp dbstart dbstart_on_boot
 $>vi dbstart_on_boot
以下の5行を追加
# Set Library path if path not set (if called from /etc/rc)
case $LD_LIBRARY_PATH in
   "") LD_LIBRARY_PATH=/oracle/u01/app/oracle/product/8.0.5/lib
       export LD_LIBRARY_PATH ;;
esac
中のPFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.oraの次の行に
以下の2行を追加。
# TNS Lisner Start
           lsnrctl start
・/etc/rc.d/init.d/orastop (chmod a x /etc/rc.d/init.d/orastopで実行
パーミッショ ンを設定)
#!/bin/sh
export ORACLE_BASE=/oracle/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.0.5
export ORACLE_SID=orcl
export ORACLE_TERM=vt100
export ORACLE_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
su oracle -c "/oracle/u01/app/oracle/product/8.0.5/bin/dbstart_on_shut $1"
・で/oracle/u01/app/oracle/product/8.0.5/bin/dbshutを
 /oracle/u01/app/oracle/product/8.0.5/bin/dbshut_on_shutで
 コピーして中を修正。
 $>cd $ORACLE_HOME/bin
 $>cp dbshut dbshut_on_shut
 $>vi dbshut_on_shut
以下の5行を追加
# Set Library path if path not set (if called from /etc/rc)
case $LD_LIBRARY_PATH in
   "") LD_LIBRARY_PATH=/oracle/u01/app/oracle/product/8.0.5/lib
       export LD_LIBRARY_PATH ;;
esac
中のPFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.oraの次の行に
以下の2行を追加。
# TNS Lisner Start
           lsnrctl stop

/etc/rc.d/rc2.d、/etc/rc.d/rc3.d、/etc/rc.d/rc4.d、/etc/rc.d/rc5.dで以下のリンクを作る。

 $>ln -s /etc/rc.d/init.d/orastart S90orastart

/etc/rc.d/rc6.dで以下のリンクを作る。

 $>ln -s /etc/rc.d/init.d/orastop S90orastop

このままでは、DBはデフォルトの小さい物なので、別でinit???.oraを作成してDBを作る必要がありますね。

以上

開発Tips

 

Copyright © UTL Co.,Ltd. All Rights Reserved. [UTL]