レポ
クラウドで
伸びる人沈む人

連絡特定商取引将来設計運営方針&メルマガSEの彼女は?
成功レポート集 Fedora9インストール! EclipseでJava Oracleバックアップのアーキテクチャ ゼロからHPでCGI 便利ネット知識
無料レポ&講習 IT業界の実態 linux処方箋 Java処方箋 Oracle処方箋 Perl処方箋
Oracleの起動実験 mount状態とは何か、実験してみる

<概要>

オラクルの起動は、

SQL> startup
SQL> startup mount
SQL> startup nomount

とあります。DBA管理者の方は、マウント状態にして色々作業をすると思います。
では、このマウント状態とは一体なんなのでしょうか?


具体的に言うと、どのファイルまで読み込んでいるのでしょうか?
ちょっと実験してみました。

<1.ファイルの確認>


オラクルの起動に必要なファイルは、以下の4つです。
初期設定ファイル
コントロールファイル
REDOログファイル
データファイル


初期設定ファイルは、
C:\ORACLE\PRODUCT\10.1.0\DB_1\DATABASE\

他のファイルは、
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL

にあると思います。
orcl(デフォルトのSID)や、10.1.0の部分は各自読み替えてください。


で、ここで復習しておきたいのが、以下のことです。

初期設定ファイルには、コントロールファイルの場所が記述されています。
コントロールファイルには、データファイルとREDOログファイルの場所が記述されています。


<2.マウント状態の起動を検証する>

●初期設定ファイルには、コントロールファイルのファイル名が記述されています。
 (実際に、初期設定ファイルを開いてみるとわかります)


ファイル名だけ記載されているのなら、コントロールファイルは、その内容が無茶苦茶であっても
初期設定ファイルに記述されたファイル名で存在さえすれば、マウントで起動するのか?
という疑問がわきました。


ということで、初期設定ファイルのファイル名をそのままに、ファイルの中身を
適当に変更して起動してみました。

 SQL> startup mount
 
 ORA-00205: error in identifying controlfile, check alert log for more info

エラーが出ました。やっぱりコントロールファイルの中身をみているようですね。


では、どこまで中身を見ているのでしょうか。


色々実験した結果、以下のことがわかりました。


初期設定ファイルには、db_name と control_file というパラメータがあります。
このパラメータとコントロールファイルの中身が一致していないと、mountで起動することができません。


では、コントロールファイルに記述されているデータファイル名とREDOログファイル名は、
どうなのでしょうか。次の実験にいってみましょう。


<3.データファイルとREDOログファイルは存在しなくても、マウント起動できる>


●次に、だったらREDOログファイルとデータファイルは存在しなくても、
mountの起動ができるのではないか?ということです。


以下の画面のように、REDOログファイルとデータファイルを削除して、
コントロールファイルだけにしてmountで起動してみました





SQL> startup mout
ORACLE instance started.

Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
Database mounted.


どうやら、うまくいったようです。

<4.マウント状態の結論>


初期設定ファイルとコントロールファイルが存在しないとマウント状態で起動できない。
データファイルとREDOログファイルが存在しなくとも、マウント状態で起動できる。


参考
SQL> startup nomount
は、初期設定ファイルだけで起動します。コントロールファイルは必要ありませんでした。

前へ次へ

クラウドで伸びる人沈む人 ||Copyright © 2005-2020 SearchMan,All Rights Reserved.