- 初期のデータベース管理 -
PCDN OracleWG S.Yamazaki
Personal Oracle8とはOracle8 の3つのラインナップ製品の中の1つであり、小規模なシステムのPCスタンドアローン用RDBMS としての利用の他に、大規模なシステムの分散拠点用RDBMSとして利用など幅広い利用方法があります。
現在、スタンドアローン用RDBMSとしては、Sybase SQL Anywhereがありますが、Oracle8、Oracle8 Enterprise Editionと100%コード互換がある当製品は、Oracle8を扱うユーザーにとってはこの上ない魅力のある製品です。
今回、日本Oracle社のWeb Siteからもダウンロード可能な(93MB)、Personal Oracle8 R8.0.3(以下「PO8」という。)の期間限定(90日間)試用版のWindowsNT4.0workstationへのインストール方法と、簡単な操作を解説します。
![]() |
| PO8のインストール |
PO8のインストールはとても簡単です。
CD-ROMを挿入すると、AutoRun機能により右図が表示されます。
「インストール開始」をクリックすると、次々に表示されるダイアログボックスの指示従ってボタンを押していくと、さほど悩むことなく、PO8自身のインストールは終了します。
これだけで終わっては元も子もないので、画面図を追って順に説明しましょう。
言語
「インストール開始」をクリックすると、言語選択画面が表示されます。ここでは「japanese」選択し「OK」ボタンを押します。
Oracleインストール設定
この画面では、会社名の設定ととOracleHome(インストール先ディレクトリ)の設定を行います。ドライブ
容量に余裕のあるドライブを選択し、適切なディレクトリにして下さい。デフォルトではDRIVE:\Orantになっています。このまま次に進みます。
パス変更
InstallerがPATH変数を自動変更するか否かのメッセージが表示されます。Installerに変更させるように「はい」を選択して次に進みます。
|
インストールが開始されてからは、コンポーネントの依存性チェック後、ファイルのコピーが始まります。ファイルのコピーは約5分程度で終了するはずです。
終了した時点で、Software Asset Managerの画面に戻りますので、「終了」を押して下さい。
確認のダイアログが表示され、「はい」を選択して無事インストールは終了です。
Software Asset Manager
インストール可能なコンポーネントが左側に表示されます。Shiftキーを押しながらすべて選択し、「インストール」ボタンを押します。
なお、「オプション」で確認ログの出力を選択可能です。チェックしておき、あとでログを見ておくのもいいでしょう。
初期データベース・サマリー
次に、初期データベース・サマリーのダイアログが表示され、キャラクタ・セット確認のメッセージが表示されます。「はい」を押して次に進みます。
初期データベースの作成
続いて、NT用のOracleインスタンスが起動され、初期データベースの作成に自動的に移ります。これが終了した時点でインストールは終了です。
さて、ここまで簡単に順を追って説明してきましたが、Windows95とWndowsNT4.0workstationにインストールするのでは若干の違いがありますが、基本的には大差がないので読み換えて進んで下さい。
|
| データベースの管理 |
さて、これでPO8のインストールは終了しました。
ここからは、インストール後のデータベース管理、また、ぜひ覚えておいてほしい事柄を掻い摘んで簡単に説明します。
Oracle8 Navigator
Oracle8 NavigatorはPO8に付属するデータベース管理ツールです。表やビューなどのデータ表示、表の新規作成なども容易に行えるようになっています。
それでは、正常にインストールされたかどうか、Oracle8 Navigatorを使用して確認してみましょう。
それには、まず、データベースを起動します。「スタート」メニューから「プログラム」「Personal Oracle8 for WindowsNT」「データベース起動」を実行します。「Oracle8の起動」ダイアログが表示されます。
|
さて、次にOracle8 Navigatorを触ってみたいと思います。ここでは、簡単な表データを見れるかどうかの確認の説明で終えますが、機会がありましたら他の方が詳しく説明して下さると思います。(笑)
同じように「Personal Oracle8 for WindowsNT」から「Oracle8 Navigator」を実行します。
あらかじめ作成されるユーザー"SCOTT"の"EMP"表を見てみましょう。左下の画面の青いアイコンの「ローカル・データベース」をクリックすると左にプラスのアイコンが表示されますので、そこから「表」「EMP」を右クリックのメニューから開きましょう。表:EMPのデータが表示されましたか?見れたら、あとはどんどん触って慣れていきましょう。
ユーザーと適切な権限
PO8のユーザーは大きく分けてデータベース管理者とそれ以外のユーザーに分けておき、また、それぞれの設定を適切にしておくことも大事です。デフォルトで作成されるユーザーは表1のとおりです。
表1:デフォルトのユーザー
| ユーザー名 | 付与されてるロール(BYTES) | 付与されてる権限 |
|---|---|---|
| SYS | 全部 | DELETE ANY TABLE,EXECUTE ANY TYPE,INSERT ANY TABLE,SELECT ANY SEQUENCE,SELECT ANY TABLE, UPDATE ANY TABLE |
| PO8 | DBA | UNLIMITED TABLESPACE |
| DEMO | CONNECT,RESOURCE | UNLIMITED TABLESPACE |
| DBSNMP | CONNECT,RESOURCE,SNMPAGENT | CREATE PUBLIC SYNONYM,UNLIMITED TABLESPACE |
| SCOTT | CONNECT,RESOURCE | UNLIMITED TABLESPACE |
ここでは、SQL*Plusを使って、新たにユーザーを作成してみます。SQL*Plusをsystem/managerで起動します。(接続文字列は必要ありません。)
--ユーザーの作成 CREATE USER "BIGENNERS" /** ユーザー名 **/ IDENTIFIED BY "experts" /** パスワード **/ DEFAULT TABLESPACE "USER_DATA" /** 表領域 **/ TEMPORARY TABLESPACE "TEMPORARY_DATA" /** 一時表領域 **/ / GRANT "CONNECT" TO "BIGENNERS" /** ロールの付与 **/ / GRANT "RESOURCE" TO "BIGENNERS" /** ロールの付与 **/ /
|
表領域の概要
表領域(TABLESPACE)これは表、索引などのオブジェクトが格納される場所である。話が前後してしまうが、この表領域の指定は初期データベース作成時にも当てはまることである。表領域には、SYSTEM表領域、ユーザー表領域、一時表領域の3つに分けられ、それぞれの表領域には1つ以上の物理データファイルが存在します。なお、ユーザー表領域は読込み専用にもできます。
PO8のデフォルトで作成される表領域は、表2のとおりです。
表2:デフォルトの表領域
| 表領域名 | 容量(KB) | 空き容量(KB) | 物理データファイル |
|---|---|---|---|
| SYSTEM | 20,480 | 1,062 | OracleHome\Database\sys1orcl.ora |
| USER_DATA | 3,072 | 2,220 | OracleHome\Database\usr1orcl.ora |
| ROLLBACK_DATA | 5,120 | 3,118 | OracleHome\Database\rbs1orcl.ora |
| TEMPORARY | 2,048 | 2,046 | OracleHome\Database\tmp1orcl.ora |
|
・SYSTEM表領域
データベース作成時に自動的に作成されます。この中には、データベース全体のデータ・ディクショナリ表、すべてのPL/SQLプログラム(パッケージ、プロシージャ、ファンクション、トリガー)も置かれます。
このことから、PL/SQLプログラムが多数格納されると予想される場合は、あらかじめSYSTEM表領域の容量を見積もる必要があります。表1では「SYSTEM」に該当します。
・ユーザー表領域
ユーザーの永続的なオブジェクト(表、索引)が格納されます。この表領域は明示的に作成しなければいけません。データベース内にはこの表領域を複数作成できます。このことは、表データと索引データを別々の表領域に格納したりすることができます。表1では「USER_DATA」に該当します。以下にコマンドラインによる表領域の作成例を簡単に示しますので、新たに表領域を作成したい場合、参考にして下さい。
SYSTEM/managerで接続します。
' 表領域の作成
CREATE TABLESPACE personal_data
DATAFILE 'd:\orant\database\person.ora'
SIZE 100M REUSE AUTOEXTEND ON NEXT 20M MAXSIZE 500M
DEFAULT STORAGE (INITIAL 1M NEXT 256K MINEXTENTS 1 MAXEXTENTS 32 PCTINCREASE 0 );
上の例では、personal_dataという名前の表領域を作成しています。表領域にはd:\orant\database\下にperson.oraという名前の初期サイズ100MBのデータファイルが割り当てられます。この例では格納データが100MBを超した場合、自動的(AUTOEXTEND ON)に20MBづつ最大500MBまで拡大しなさい、という指定をしています。
・一時的表領域
簡単に言えばソート領域です。この表領域を使用すると索引の作成、ソート(ORDER BY)、集計(GROUP BY)、ANALYZEコマンドを使用した統計収集などが効率的に行えます。
・読込み専用表領域
デフォルトでは表領域は読み書き可能なもので作成されますが、READ ONLYオプション付きで、読込み専用に変更することができます。この表領域に格納されたオブジェクトは修正することができませんし、また、バックアップや回復といった作業も必要無くなります。環境に応じて使い分けて下さい。
ロールバックセグメントを適切に割り当てる
ロールバックセグメント(ROLLBACK SEGMENTS)は、任意の表領域内にあり、表の更新などによる更新前のデータを格納するためにあります。
これには、パブリックとプライベートに別れており、適切に割り当てておかないと大きな表の更新・挿入が失敗することもありますので注意が必要です。(表3)。
表3:インストール直後のロールバックセグメント
| セグメント名 | 表領域(BYTES) | 容量(KB) | 状態 |
|---|---|---|---|
| SYSTEM | SYSTEM | 50 | ONLINE |
| RB_TEMP | SYSTEM | 100 | OFFLINE |
| RB1〜RB6 | ROLLBACK_DATA | 50 | ONLINE |
| RB7〜RB14 | ROLLBACK_DATA | 50 | OFFLINE |
上記のように、さほど大きくないセグメントしか用意されていません、数万件のデータ更新では小さすぎるかも知れませんので、以下のように少し大きいセグメントを用意してもいいかもしれません。 詳しくはマニュアルを参照して下さい。
' パブリックロールバックセグメントの作成
CREATE PUBLIC ROLLBACK SEGMENT "RBS_PUB1"
TABLESPACE "USER_DATA"
STORAGE ( INITIAL 256K NEXT 100K OPTIMAL 512K MINEXTENTS 2 MAXEXTENTS 255);
/** ここまでではOFFLINEです。**/
ALTER ROLLBACK SEGMENT "RBS_PUB1" ONLINE;
/** ONLINEに変更します。実際に使用するときでも結構ですね。**/
上の例は、表領域"USER_DATA"に"RBS_PUB1"のいう名前のロールバックセグメントを作成します。容量は256KBで100KBづつ255エクステントまで拡張できます。使用された後、OPTIMALに指定した512KBに最適化されるよう指示しています。