Oracle8i(8.1.7)
に関するインストールメモ(2002/03/26)
今や、Unix/Linuxの世界でデータベースと言うと Oracle という位、超有名なデータベースソフトです。2002/03時点では、最新版 「Oracle9i」が出ています。 Intel-Solaris8(07/1)版までのパッケージには、「Oracle8i Enterprise Edition R3(8.1.7)」が付いている(非商用目的でのみ使用可能)ので、それを入れてみます。
※ 残念ながら Intel-Solaris8(10/1)版からは、付いていないのです・・・・泪
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 oracle2.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_data3.CDE環境にユーザ:oracle でログインする。このとき仮想端末(仮想コンソール)を1つ立ち上げ、以下の環境変数を設定する。※ 日本語でのインストールは、途中止まってしまう様です。
% setenv LANG C
% setenv LC_ALL C4.Oracle8i(8.1.7)の CD-ROM を入れ、先程の仮想端末から以下のコマンドを実行する。
% cd /cdrom/disk1
% ./ruInstaller5.ここからは、言葉で説明するより、本を見て参照してインストールしてもらった方が早いです。
著者:篠田 典良著
日本オラクル株式会社監修
ミラクル・リナックス株式会社監修
出版:リックテレコム
サイズ: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.一応と言ったのは、管理者としての一歩を踏み出したばかりなのです。これからは、テーブル設計・チューニングと、先が長いです〜〜