ablog

不器用で落着きのない技術者のメモ

Oracle はデータベース作成時に何をしているか

Oracle でデータベースを作成する時に何が行われているのか考えてみた(dbcaを使わない場合)。
サーバープロセスが初期化パラメータファイルをINPUTにして、ファイルを作成しているだけな気がする(当たり前か)。ファイルはSPFILE、パスワードファイル、データベースファイル(制御ファイル、REDOログ、データファイル)。また、データベース作成時の記録がログに出力れる。サーバープロセスってそんなにいろいろなことができるんだろうかと思うけど、たぶん共有ライブラリをロードすればたいがいのことはできるような作りになってるんじゃないかと思う。

[仮説]

  • 作業者
    • sqlplus
    • サーバープロセス
    • 共有ライブラリ
  • INPUT
    • 初期化パラメータファイル
    • create database文
    • ?/rdbms/admin/*.sql
  • OUTPUT
    • データベースファイル
      • 制御ファイル
      • REDOログ
      • データファイル
    • SPFILE
    • パスワードファイル
    • ログ
      • 実行ログ
      • 標準出力
      • 標準エラー

[検証方法]

  • データベース作成中にOSのプロセスを確認する。
  • データベース作成中にサーバープロセスが使用しているライブラリを確認する。
  • データベース作成時に作成・更新されたファイルを確認する。

[検証結果]
(検証後追記予定)

[その他]

  • データベース作成時のオプションと対応するSQL(?/rdbms/admin/*.sql)を調べたい。