Oracle9i(9.0.1.0.0) に関するインストールメモ

Create:2002/04/24, update:2003/11/05

 

Oracle9i とは

スタイルシートステップアップアレンジブック 基本とそのバリエーションでマスターするCSS活用術今や、Unix/Linuxの世界でデータベースと言うと Oracle という位、超有名なデータベースソフトです。2002/04時点で、Oracle9i 9.0.1.0.0が出ています。(たぶん Oracle8i, Oracle10i でもインストールの方法は同じ感じだと思われる)

個人でフルセット買えるだけの資金はありませんので、OTN 会員(それでも、3万弱)になって、開発キットを手に入れてみました。



本家 : Oracle
参考 : プレゼンテーションによるOracle9iのインストール
参考 : 翔泳社 資格試験の本

Oracle9i の動作条件

OSとして、RedHat 7.0/7.1 を完全サポートし、ようやく RedHat 7.2(4/10現在)でも動作をさせるための資料や、サポートが開始されました。動作条件として、CPU:PentiumⅡ-233Mhz以上、物理メモリ:512MB以上、スワップ 1GB以上となっています。

あと、Oracle9i をインストールする場合、GUI 画面で指示しますので、KDE か Gnome を入れておいてくださいね。

各ソフトウエアの名称変更

Oracle8i → Oracle9i になって、各サービスとコマンドが若干違ってきてます。

名称 コマンド(Oracle8i) コマンド(Oracle9i)
SQL*Plus sqlplus sqlplus
ServerManager svrmgrl 廃止
Import imp imp
Export exp exp
SQL*Loader sqlldr sqlldr
Net Configuration Assistant netca netca
Net8 Assistant
 → Oracle Net Manager
netasst netmgr
Database Configuration Assistant dbassist dbca
Oracle Enterprise Manager
  Configuration Assistant
emca emca

前提ソフトウエア

Java2-JDKが必要らしいです。このサイトから Linux版sdkをダウンロードします。

ダウンロードしたら rpm コマンドを使ってインストールしましょう。

# chmod +x j2sdk-1_4_0-linux-i386-rpm.bin
# ./j2sdk-1_4_0-linux-i386-rpm.bin
# rpm -Uvh j2sdk-1_4_0-fcs-linux-i386.rpm
# ln -s /usr/java/j2sdk1.4.0 /usr/lib/java

設定方法

RedHat7.2 になってから、セマフォ/共有メモリの追加でカーネルを再構築する必要がありましたが、標準のインストール状態(OSインストール時の、サーバ種類かもしれないです)で、設定済みなので特に考える必要は、ないみたいです。また、Oracle8i インストール時には、LANG を C にしないとインストール画面がヘンになるなどありましたが、9i では改善されているようです。

  1. ネットワークアドレスが固定として話を進めていきます。DHCPですと、たぶんリスナーがうまく起動できません。
  2. Oracleを操作するグループとユーザを作ります。通例で、グループ:dba/ユーザ:oracle とするらしいです。
  3. # groupadd -g 2000 dba
    # useradd -u 2000 -g dba -d /home/oracle -s /bin/tcsh -m oracle
    # passwd oracle
    
  4. 環境変数等を設定してあげます。下は csh/tcsh の設定です。こんな感じの設定かな?
  5. # oracle9i
    # GlobalDatabase = rain.ora
    setenv ORACLE_HOME /opt/oracle/product/9.0.1
    setenv ORACLE_TERM ansi
    setenv ORACLE_SID oras9
    setenv ORA_NLS33 $ORACLE_HOME/ocommon/nls/admin/data
    setenv NLS_DATE_FORMAT "YY/MM/DD HH24:MI:SS"
    setenv NLS_LANG japanese_japan.ja16euc
    
    set path=( .... $ORACLE_HOME/bin)
    
  6. KDE か Gnome画面から、oracle ユーザでログインし、Oracle 9i のディスク#1 を CD-ROM に設定します 。
  7. インストーラを起動します。後は画面の指示に従って進めていってください。途中 CD-ROM を換えてくれーと言ってきますので、 eject コマンドで CD-ROM を出しつつ交換作業をしてください。
  8. % cd /mnt/cdrom
    % ./runInstaller
    
  9. インストーラでインストール時にデータベースを構築しないを選択をした場合は、Net Configuration Assistantでリスナーを追加、データベースを自前で作成してください。
  10. 対処方法 : http://www.syns.net/18/1/index.html

  11. しばらく・・・・3枚目のディスクが終了する位になって、エラーが出るはずです。その対処は、以下の通りです。(割といい時間かかりまっせ)
  12. % cd $ORACLE_HOME/bin
    % cp genclntst genclntst.ORIG
    % vi genclntsh
        #LD_SELF_CONTAINED = "-z def"
        LD_SELF_CONTAINED = ""
    % ./genclntsh
    

    対処方法 : http://otndnld.oracle.co.jp/tech/linux_win/htdocs/faq901-02.html

  13. 上記の作業を行った後、エラー画面で「再試行」ボタンを押しインストールを続けます。
  14. こんな本は、いかがでしょうか?

    著者:篠田 典良著
    日本オラクル株式会社監修
    ミラクル・リナックス株式会社監修
    出版:リックテレコム
    サイズ:B5変形 / 326p
    ISBN:4-89797-421-6
    発行年月:2002.3

    ※色々と本を見ましたが、入門用として取っ付き易かったです。
    ※少し物足りないかもしれませんが、手元において置きたい一冊です。

  15. どうにか、インストールできたら、あと一歩です。起動用のスクリプトの編集や、リスナーの起動、テーブルスペースの作成、sqlplusユーザの作成を経て、やっと Oracle を使用することができます。以下は、殴り書きですが、私の行った一連の作業です。上記の説明と重複している部分は、多々ありますが御了承を・・・。
  16. #超めも
    ■Oracle9iのユーザ設定&環境設定
    
    ■Oracle9iのセットアップ(LANC=C, LC_ALL=C, NLS_LANG=American_America.US7ASCII)
    
    ■インストール後の環境設定
       1.oratab(/var/opt/oracle/oratab)の編集
          # vi /var/opt/oracle/oratab
              指定したSID:/opt/oracle/product/9.0.1:Y ← N から Y に
       2.dbstart, dbshutスクリプトの編集
          # cd $ORACLE_HOME/bin
          # vi dbstart
              ORATAB=/var/opt/oracle/oratab
          # vi dbshut
              ORATAB=/var/opt/oracle/oratab
       3.demoテーブルの作成(oracleユーザで)
          % sqlplus /nolog
              SQL>@scott_tiger.sql
          % demobld scott tiger
              Building demonstration tables. Please wait.
              Demonstration table build is complete.
    
    ■リスナーの構成
        場所 : $ORACLE_HOME/network/admin/listener.ora
    
       1.listener.ora の編集
          % netasst
       2./etc/services の編集
          # vi /etc/services
              listener 1521/udp # ORACLE
    
    ■リスナーの開始/停止
          % lsnrctl status ← 開始
          % lsnrctl stop ← 停止
    
    ■インスタンスの自動起動
          # cd /etc/init.d
          # vi oratab
          # chmod +x oratab
          # ln -s /etc/init.d/oratab /etc/rc0.d/K10dbora
          # ln -s /etc/init.d/oratab /etc/rc2.d/S99dbora
    
    ■表領域の作成
          作成するスペースは、/home2/hoge_oradata
          ユーザ領域 : 1000MB(1GB)
          インデックス領域 : 500MB(0.5GB)
    
             % sqlplus /nolog
                 SQL> connect / as sysdba;
                 SQL> CREATE TABLESPACE HOGE_USER DATAFILE '/home2/hoge_oradata/hoge_user01.dbf'
                           SIZE 1000M REUSE AUTOEXTEND ON NEXT 1280K MINIMUM EXTENT 512K
                           DEFAULT STORAGE ( INITIAL 1024K NEXT 128K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);
                 SQL> CREATE TABLESPACE HOGE_INDX DATAFILE '/home2/hoge_oradata/hoge_indx01.dbf'
                           SIZE 500M REUSE AUTOEXTEND ON NEXT 1280K MINIMUM EXTENT 256K
                           DEFAULT STORAGE ( INITIAL 1024K NEXT 128K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);
    
    ■sqlplusユーザの作成(Oracleの使い方を参考:http://www.ulis.ac.jp/newsys/man/oracle.html)
          % sqlplus /nolog
              SQL> connect / as sysdba;
              SQL> CREATE USER hoge IDENTIFIED BY hoge
                       DEFAULT TABLESPACE HOGE_USER
                       TEMPORARY TABLESPACE TEMP;
              SQL> GRANT DBA TO hoge;
         ※権限の確認
              SQL> SELECT USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE
                       FROM DBA_USERS
                       WHERE USERNAME = 'HOGE';
    
    ■各テーブルの作成
    
  17. これで、使える様(一応)になりました。後は、環境変数等を設定してあげます。下は csh/tcsh の設定です。
  18. # oracle8i
    setenv ORACLE_HOME /opt/oracle/product/9.0.1
    setenv ORACLE_TERM ansi
    setenv ORACLE_SID データベース名?
    setenv ORA_NLS33 $ORACLE_HOME/ocommon/nls/admin/data
    setenv NLS_DATE_FORMAT "YY/MM/DD HH24:MI:SS"
    setenv NLS_LANG japanese_japan.ja16euc
    
    set path=( .... $ORACLE_HOME/bin)
    
  19. sqlplus を動かしてみましょ (^u^)
  20. % sqlplus hoge/hoge
    
    SQL*Plus: Release 8.1.7.0.0 - Production on 火 Mar 26 20:18:14 2002
    
    (c) Copyright 2000 Oracle Corporation. All rights reserved.
    
    Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - Production
    に接続されました。
    
  21. 一応と言ったのは、管理者としての一歩を踏み出したばかりなのです。これからは、テーブル設計・チューニングと、先が長いです〜〜
[..戻る..]