まだデータベースを作成しないようにという前節のアドバイスに 従っていただけたでしょうか?
多くの人々にとって、データベースの作成は次の言葉に要約できる かもしれません - 「'dbassist'を実行せよ」 Oracle を走らせるのが 初めてでなければ、'dbassist' が聞いてくる質問には難なく答えら れるはずです。
完全を期すために、私のやったことをドキュメントに残しますが、 まずは私の目指していたものを述べるのがベストだと思います。 要約 - これは仕事用のシステムでも「本格的な」(複数ユーザの、 または、常時使用の) 開発用ボックスでもないのです。私が 8i を インストールしたのは、8 以前のバージョンに比べてどこが新しい のか、あるいはどこが違っているのか、実際にいじくりまわしながら 調べるためなのです。
そういうわけで、なるべく 'dbassist' の安易なオプションを選びました。
別のディスク、またはせめて別のパーティションを使用することを
推奨されましたが、そうしませんでした。私の $ORACLE_HOME
は
/home/oracle
です。すべてのデータファイルとソフトウェアは
まとまってそこにあり、1 つのパーティションの上に載っています。
dbassist
cd $ORACLE_HOME/dbsここで、"init<SID>.ora" という名前のファイルを編集する必要が あります。 (私の場合 "initdev1.ora" でした) ファイルの真ん中あたりで、こんな感じの行がコメントアウトされています。
# rollback_segments = (r01, r02, r03, r04)この行のコメントを外して(シャープ記号を取り除く) ファイルを保存すれば 終わりです。
MANAGER
' になっています。 (Oracle のパスワードは
大文字にするのが習わしのようです。実際には、大文字小文字の違いは認識
されません) SQL*Plus のプロンプトで password
と
タイプして、すぐにパスワードを変更することをお勧めします。
(ALTER USER
コマンドじゃないかと思う人もいるでしょうが、これは
8i 付属バージョンの SQL*Plus の新コマンドです) 他に知る必要があるのは、
SYS のパスワードです。このデフォルトは 'CHANGE_ON_INSTALL
' で、
その名の通りインストールしたらすぐに変更しましょう!sqlplus system/<password>
)
それから次のようにタイプします。
@?/sqlplus/admin/pupbld.sql疑問符は
$ORACLE_HOME
ディレクトリのエイリアスです。
答えはイエスでありノーでもあります。ただ遊んだり、8i の新しい特徴を 学ぶため、自分自身用にデータベースを構築するなら、答えはイエスです。 上の指示に従ってできるデータベースは完全で、うまく動作します。
しかし、Oracle について知識があるなら、デフォルトのコンフィギュレーションは あきれるほどひどいものだとすぐに気づくでしょう。もし本格的な仕事用の システムを作っているなら、"Custom" オプションを使ったほうがいいでしょう。
私のお遊びのシステムに対してさえ、いくらかひねりを入れました。大部分の テーブルスペースのサイズを増やし、かつそれが自動的に増えないようにしました。 (利口ぶるソフトウェアは嫌いです)
必要はありません。そうしなくても動作します。しかし、そうだとしても、 すべてのファイルを同じディスクに入れるのは勧めません。
ファイルをいくつかのディスクに分散して置くと、たとえデータファイルと ロールバックセグメントを別々にするだけでも、著しいパフォーマンス上の 利点があります。詳しくは、Oracle DBA book を読んでください。
最初にインストールした時にいくつかある長さ 0 のファイルが原因です。 パッチを当てると問題は解決します。
簡単に言うと、おそらく、$ORACLE_SID
が正しく設定されていないか、
あるいはまったく設定されていないか、です。'dbassist' で与えたものと
同じ値に設定されていて、かつエクスポートされていることを確認して
ください。 (つまり B シェル互換シェルでは、export ORACLE_SID
)
これはとてもありふれたエラーで、いろいろな原因があります。
まず、共有サーバ構成 (MTS と呼ばれることもある) ではないことを確認して みたほうがいいでしょう。専用サーバ構成を使ってデータベースを作成し、 後でそれを変換します。 (訳注:共有サーバ構成では、は一つのサーバープロセスが複数のユーザー セッションの処理を受け持つのに対し、専用サーバー構成では、ユーザー のセッション1つに対して Oracle のサーバープロセスが一つ 生成されます)
これが原因でなければ、NLS_LANG 環境変数をチェックします。一番簡単なのは、 それを unset することです。もし本当に使いたいなら、必ず完璧に正しく設定します。 1 (いち) と l (エル) を取り違えないように気をつけてください! (訳注:EUC 使用の日本語環境では japanese_japan.ja16euc を使います。 ただし環境変数 ORA_NLS33 も正しく設定しないと日本語メッセージは使えません)