初心者でも安心なレンタルサーバー。200MBで250円から。CGI・SSI・PHPが使えます。

データベースの作成




Oracle新規データベースの作成方法。

今回はSIDを kenken としています。また、手順を主体としていますので細かい点には触れていません。dbassistコマンドを使用すれば簡単にデータベースを作成することが可能ですが、細かいチューニングが可能な手動での作成手順を載せています。
ディストリビューションは Turbo Linux6.0 WorkStation です。
Oracleは OTNからダウンロードした Oracle8i Enterprise Edition Release 8.1.7.0.0 です。

Vine2.15で行なった時はインストーラー後半のリンクの作成? 時にエラーが数件発生し、うまくいきませんでした。ちなみに Miracle Linux 1.0 はさすがにOracleの基礎知識さえあれば簡単にインストールできました。


initSID.ora ファイルの編集

$oracle_home/dbs/init.ora ファイルをコピーし initSID.oraとする。
$cp init.ora initkenken.ora

このファイルを編集し以下の部分を変更、ない場合は追加する。
db_name=DEFAULT

db_name=sugiDB


db_block_size = 8192 ← これはDB作成後は変更できないので注意!レスポンスに影響があります。

その他メモリーパラメーターはDB作成後も変更可能であるがまずはふさわしいと思われる値に変更し、徐々に調整していく。


svrmgrl を起動 (WinNTの場合はsvrmgr30等バージョンにより若干異なる)
[oracle@kenken oracle]$ svrmgrl

Oracle Server Manager Release 3.1.7.0.0 - Production

Copyright (c) 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


SVRMGR>



internal で接続する。

SVRMGR> connect internal
接続されました。
SVRMGR> 


データベースを nomount で起動する。

SVRMGR> startup nomount pfile=/mnt/oracle/dbs/initkenken.ora
Oracleインスタンスが起動しました。
システム・グローバル領域合計                        26136736バイト
Fixed Size                                          73888バイト
Variable Size                                    25165824バイト
Database Buffers                                   819200バイト
Redo Buffers                                        77824バイト
SVRMGR> 
pfileの指定は上記で作成したinitSID.oraファイルを指定します。

データベースを create します。
以下のコマンドをsvrmgrl上から順次実行します。事前にスクリプトファイルにして@コマンドで実行しても構いません。実行結果をロギングしておきたければ先に
SVRMGR> spool /tmp/create_db.log 等としておけば画面と同様の内容が出力されます。

CREATE DATABASE "kenkenDB"
   maxdatafiles 254
   maxinstances 8
   maxlogfiles 32
   character set JA16EUC
   national character set JA16EUC
DATAFILE '/mnt/oracle/database/sys1kenken.dbf' SIZE 100M
logfile '/mnt/oracle/database/redokenken01.log' SIZE 500K,
    '/mnt/oracle/database/redokenken02.log' SIZE 500K,
    '/mnt/oracle/database/redokenken03.log' SIZE 500K;


create databaseを実行すると
create database
*
ORA-01501: CREATE DATABASE?????????????
ORA-01990: ?????????? /mnt/oracle/dbs/orapw??????????????????
のエラーが発生してしまいました。これは $ORACLE_HOME/dbs にorapw ファイルが存在しない為に発生するようです。orapwSID で作成するようです。

作成は
orapwd file=orapwkenken password=oracle entries=2
こんな感じです。 orapwd コマンドをパラメーターなしで実行すればヘルプが表示されます。
しかし、以前行なった時は発生しなかったのでどのようなケースでこうなるかはっきり分かりません。


次に作業用のロールバックセグメントを作成します。
SVRMGR> create rollback segment rb_temp ;
文が処理されました。
SVRMGR> alter rollback segment rb_temp online ;
文が処理されました。
SVRMGR>



実際にデータを格納するテーブルスペースを作成します。
SVRMGR> create tablespace kenken datafile '/mnt/oracle/database/kenken.dbf' size 10 M ;
文が処理されました。


ロールバックセグメント用の専用テーブルスペースを作成します。
SVRMGR> create tablespace kenken_roll datafile '/mnt/oracle/database/kenken_roll.dbf' size 50M
        default storge (INITIAL     3M
                       NEXT        3M
                       MINEXTENTS  1
                       MAXEXTENTS  121
                       PCTINCREASE 50)
       ONLINE;

文が処理されました。



ロールバックセグメントを作成します。
SVRMGR> create public rollback segment roll1 tablespace kenken_roll storage(initial 3M next 3M minextents 5 maxextents 50) ;
SVRMGR> 文が処理されました。

SVRMGR> create public rollback segment roll2 tablespace kenken_roll storage(initial 3M next 3M minextents 5 maxextents 50) ;
SVRMGR> 文が処理されました。

SVRMGR> create public rollback segment roll3 tablespace kenken_roll storage(initial 3M next 3M minextents 5 maxextents 50) ;
SVRMGR> 文が処理されました。

ロールバックセグメントをオンラインにします。
SVRMGR> alter rollback segment roll1 online ;
文が処理されました。

SVRMGR> alter rollback segment roll2 online ;
文が処理されました。

SVRMGR> alter rollback segment roll3 online ;
文が処理されました。

先ほど作成した作業用ロールバックセグメントを削除します。

SVRMGR> alter rollback segment rb_temp offline ;
文が処理されました。

SVRMGR> drop rollback segment rb_temp ;
文が処理されました。


以下のコマンドを internal のまま実行します。
@/mnt/oracle/rdbms/admin/catalog.sql
@/mnt/oracle/rdbms/admin/catproc.sql

完了したら systemユーザーで以下のコマンドを実行します。

@/mnt/oracle/rdbms/admin/catdbsyn.sql
@/mnt/oracle/sqplus/admin/pupbld.sql



以上で完了です。





oracle 自身のインストールはこちら
oracle 関連のメインメニューへ




       [へなちょこlinuxのコーナーへ]    [ホームへ]