DB(データベース)の「マウント」ってなに??
「マウント」という言葉についてご説明します。
データベースの文脈で「マウント」とは、データベースファイルをインスタンスに関連付ける過程を指します。より詳しく説明すると:
意味:
「マウント」とは、Oracleインスタンス(メモリ上で動作するプログラム)がデータベースファイル(ディスク上に存在する物理ファイル)の場所を認識し、それらを使用できる状態にすることです。プロセス:
インスタンスの起動:まずメモリ上にOracleインスタンスが起動されます。
マウント:次に、インスタンスがコントロールファイルを読み取り、データファイルやREDOログファイルの位置を特定します。
オープン:最後に、データベースがオープンされ、ユーザーがアクセスできるようになります。
重要性:
マウント状態は、データベースの整合性チェックやリカバリ作業を行う際に重要です。この状態では、ファイルの位置は特定されていますが、まだユーザーアクセスは許可されていません。マウント状態の用途:
データベースのバックアップ
リカバリ操作
データベース構造の変更
「マウント」は、データベースの起動プロセスの重要な中間段階であり、インスタンスとデータベースファイルを結びつける役割を果たします。
以下、「マウント」についてさらに詳しく説明いたします。
マウントの詳細なプロセス:
a. インスタンス起動:メモリ上にSGA(System Global Area)が割り当てられ、バックグラウンドプロセスが開始されます。
b. コントロールファイルの読み取り:インスタンスは、初期化パラメータファイル(SPFILE/PFILE)に指定されたコントロールファイルの場所を特定し、読み取ります。
c. データファイルとREDOログファイルの位置確認:コントロールファイルから、データファイルとREDOログファイルの位置情報を取得します。
d. ファイルの存在確認:指定された全ファイルが存在するか確認します。マウント状態の特徴:
データベースの構造は認識されていますが、データファイルは開かれていません。
ユーザーアクセスは禁止されています。
管理者のみがデータベースに接続可能です。
マウント状態でのみ可能な操作:
データベースの名前変更
コントロールファイルの追加や削除
REDOログファイルの追加、削除、または名前変更
アーカイブモードの変更
マウントとNOMOUNTの違い:
NOMOUNT:コントロールファイルすら読み込まれていない状態。データベース作成時に使用。
MOUNT:コントロールファイルは読み込まれているが、データファイルは開かれていない状態。
マウント状態からの遷移:
OPEN:通常の運用状態に移行。ユーザーアクセスが可能になります。
SHUTDOWN:インスタンスを停止し、すべてのメモリとプロセスを解放します。
実際のユースケース:
データベースリカバリ:メディア障害後、データファイルを復元し、REDOログを適用する際に使用。
構造変更:表領域の追加や削除など、データベース構造を変更する際に使用。
整合性チェック:データベースの一貫性を検証する際に使用。
パフォーマンスへの影響:
マウント操作自体は比較的高速ですが、大規模なデータベースや多数のファイルがある場合、若干の時間がかかる可能性があります。セキュリティ面:
マウント状態では、通常のユーザーアクセスが制限されるため、セキュリティ上重要な操作を安全に行うことができます。
このように、「マウント」はデータベース管理において重要な概念であり、様々な管理タスクや障害復旧シナリオで中心的な役割を果たします。