Oracle8i(8.1.7) に関するインストールメモ(2002/03/26) 
 

Oracle8i とは

今や、Unix/Linuxの世界でデータベースと言うと Oracle という位、超有名なデータベースソフトです。2002/03時点では、最新版 「Oracle9i」が出ています。

Intel-Solaris8(07/1)版までのパッケージには、「Oracle8i Enterprise Edition R3(8.1.7)」が付いている(非商用目的でのみ使用可能)ので、それを入れてみます。

残念ながら Intel-Solaris8(10/1)版からは、付いていないのです・・・・泪

本家 : OracleOracle8i Enterprise Edition

 

なぜ Oracle ?

Oracleのセットアップは、難しいと周りから言われましたが、実はそんな難しくないです。なんだかんだ言っている人ってば、実はもったいぶって教えてくれないだけだと思いました。と言うか、簡単な事をさぞ難しく理屈をつけて言う、私の身近にいる○○さん! あなたは・・・・(爆)。

愚痴を書いてしまいましたが、ここからは本題! Oracle8i を動かすには、物理メモリ 512MB以上は、いるみたいです。論理メモリ(swap)を余分に取っていても CDE環境から Oracle をインストールする場合、物理メモリを使用するみたいで、インストールがコケルことがあります。(ま、メモリ安いし〜沢山積みましょう)

設定方法というか、殴り書きのメモ・・・

1.ネットワークアドレスが固定として話を進めていきます。DHCPですと、たぶんリスナーがうまく起動できないかもしれないので・・・

2.Oracleを動かす場合、OSの資産としてセマフォやら共有メモリを多く使います。デフォルトで指定されている値では、Oracle を動かす事ができないので、 /etc/system を編集します。編集後は、OSを再起動してください。

# vi /etc/system
    set shmsys:shminfo_shmmax=4294967295
    set shmsys:shminfo_shmmin=1
    set shmsys:shminfo_shmmni=100
    set shmsys:shminfo_shmseg=10
    set semsys:seminfo_semmni=100
    set semsys:seminfo_semmsl=100
    set semsys:seminfo_semmns=200
    set semsys:seminfo_semopm=100
    set semsys:seminfo_semvmx=32767
# sync;sync;sync;reboot

参考 : Solaris7でのOracle8i環境

1.Oracleを操作するグループとユーザを作ります。通例で、グループ:dba/ユーザ:oracle とするらしいです。

# groupadd -g 2000 dba
# useradd -u 2000 -g dba -d /export/home/oracle -s /bin/tcsh -m oracle
# passwd oracle

2.Oracle のアプリケーションを入れる先と、データを入れる先を別々にして管理し易いようにしました。

/opt/local/oracle → oracleのアプリケーションを入れる先
/home2/ora_data → oracleのシステムデータを入れる場所
/home2/hoge_data → oracleのユーザデータを入れる場所

# cd /opt
# mkdir oracle
# chown -R oracle:dba oracle
# cd /home2
# mkdir ora_data
# chown -R oracle:dba ora_data
# mkdir hoge_data
# chown -R oracle:dba hoge_data

3.CDE環境にユーザ:oracle でログインする。このとき仮想端末(仮想コンソール)を1つ立ち上げ、以下の環境変数を設定する。※ 日本語でのインストールは、途中止まってしまう様です。

% setenv LANG C
% setenv LC_ALL C

4.Oracle8i(8.1.7)の CD-ROM を入れ、先程の仮想端末から以下のコマンドを実行する。

% cd /cdrom/disk1
% ./ruInstaller 

5.ここからは、言葉で説明するより、本を見て参照してインストールしてもらった方が早いです。

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

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

6.怖がることは、ありませんデータベースを作り&壊しながら、何回もインストールしてみましょう。壊れたら、OSからインストールすればいいことです。ね、おりこうな ○○さん!。人間、あなたの様に一回で上手くいくハズは、ないんですから!

7.どうにか、インストールできたら、あと一歩です。起動用のスクリプトの編集や、リスナーの起動、テーブルスペースの作成、sqlplusユーザの作成を経て、やっと Oracle を使用することができます。以下は、殴り書きですが、私の行った一連の作業です。上記の説明と重複している部分は、多々ありますが御了承を・・・。

#超めも
■Oracle8iのユーザ設定&環境設定

■Oracle8iのセットアップ(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/8.1.7: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';

■各テーブルの作成

8.これで、使える様(一応)になりました。後は、環境変数等を設定してあげます。下は csh/tcsh の設定です。

# oracle8i
setenv ORACLE_HOME /opt/oracle/product/8.1.7
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)

9.sqlplus を動かしてみましょ (^u^)

% 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
に接続されました。

10.一応と言ったのは、管理者としての一歩を踏み出したばかりなのです。これからは、テーブル設計・チューニングと、先が長いです〜〜