データベースの作成 Oracle9i版

 OracleDatabaseをインストールしたら、テスト用にデータベースを作成する。一応OracleMasterを狙っているので、DatabaseConfigurationAssistantなんてものは使わず、CREATE DATABASEコマンドを発行して作りたい。
 Oracleの操作は全てoracleユーザで行うため、oracleユーザでログインする。

1.CREATE DATABASE文の作成

 次のようなデータベースを作成する。各ファイルの分散などは一切考えず、とりあえず1つのディレクトリに全て配置する。

ORACLE_SIDorcl901
初期データベース格納先/opt/oracle/product/9.0.1/oradata/ora901
SYSTEM表領域system01.dbf 100MB
Redoログファイル2グループ作成し、各グループにファイルは1つ
/opt/oracle/oradata/ora901/log1a.rdo、/opt/oracle/oradata/ora901/log2a.rdo
UNDO表領域undotbs01.dbf 50MB
TEMPORARY表領域temp01.dbf 100MB
キャラクタセットJA16EUC ※
各国語キャラクタ・セットAL16UTF16

※OSがLINUXなので、内部データをEUCに統一する。クライアント側はEUCでもSJISでもOK。

 上記の要件を満たすCREATE DATABASE文は次のようになる。

CREATE DATABASE orcl901
	DATAFILE '/opt/oracle/product/9.0.1/oradata/ora901/system01.dbf' SIZE 100M
	LOGFILE
		GROUP 1 ('/opt/oracle/oradata/ora901/log1a.rdo') SIZE 1M,
		GROUP 2 ('/opt/oracle/oradata/ora901/log2a.rdo') SIZE 1M
	UNDO TABLESPACE undotbs
		DATAFILE '/opt/oracle/product/9.0.1/oradata/ora901/undotbs01.dbf' SIZE 50M
	DEFAULT TEMPORARY TABLESPACE temp
		TEMPFILE '/opt/oracle/product/9.0.1/oradata/ora901/temp01.dbf' SIZE 100M
	CHARACTER SET ja16euc
	NATIONAL CHARACTER SET al16utf16;

 SQL*Plusを起動してこのコマンドを入力してもよいが、面倒なのでファイルとして保存する。(例、$ORACLE_HOME/createdb_orcl901.sql)

2.パラメータファイルの準備

 Oracleの起動にはパラメータファイルが必要である。init.oraファイルを、作成したいインスタンス用に用意する。

$ cd $ORACLE_HOME/dbs
$ cp init.ora initorcl901.ora

 作成したパラメータファイルをviで開き、編集する。

$ vi initorcl901.ora

 変更するパラメータは次のとおり。

パラメータ変更後変更前補足
db_nameorcl901DEFAULT
db_domainサーバのドメイン名us.acme.comコメントもはずすこと
control_files('/opt/oracle/oradata/ora901/control01.ctl')(ora_control1, ora_control2)
compatible9.0.18.1.0コメントもはずすこと

 また、UNDOセグメントを作成するため、次の行を追加する。

# UNDO Segment
undo_management = AUTO
undo_tablespace = undotbs

3.Oracleデータベースの作成

 初期データベースファイルおよびREDOログファイル、制御ファイルをを格納するディレクトリを作成する。

$ mkdir $ORACLE_HOME/oradata
$ mkdir $ORACLE_HOME/oradata/ora901
$ mkdir $ORACLE_BASE/oradata
$ mkdir $ORACLE_BASE/oradata/ora901

 SQL*Plusを次のように起動する。

# sqlplus /nolog

 SYSDBA権限でOracleに接続する。

SQL> connect / as sysdba

 インスタンスをNOMOUNTで起動させる。

SQL> startup nomount

 「ORACLEインスタンスが起動しました」というメッセージが出れば成功。CREATE DATABASE文を発行する。

SQL> @$ORACLE_HOME/createdb_orcl901

 「データベースが作成されました」というメッセージが出れば成功。作成と同時にオープンされているので、パラメータを確認してみよう。

SQL> show parameter
・・・パラメータファイルの変更が反映されていることが確認できる・・・

3.データベース作成後の作業

 データベースは作成しただけでは使えず、データ・ディクショナリ・ビューと標準パッケージを作成しなければならない。
 データ・ディクショナリ・ビューはcatalog.sqlを、標準パッケージはcatproc.sqlを実行すると作成されるので、SQL*Plusで次のように実行する。

SQL> @$ORACLE_HOME/rdbms/admin/catalog
SQL> @$ORACLE_HOME/rdbms/admin/catproc

[ TOP ]