アーキテクチャ 備忘録

■以下のようなファイル構造。

ポイントとしては、データべースは複数の表領域で構成され、データファイルは、一つの表領域のみに対応。セグメントは複数のデータファイルにまたがる事が可能。

データベースファイル構造

 

■LGWRがREDOログバッファに変更ログをREDOログに書くタイミング

・トランザクションのコミット

・3秒毎

・DBWnが変更されたバッファをデータファイルに書き込む前

・REDOログバッファの容量が1/3に達した時

 

■DBWnがDBバッファキャッシュ内の変更データをデータファイルに書き込む時

・CKPT

・サーバープロセスがDBバッファ内に空きバッファを見つけられなかった時

 

RMAN関連での備忘録

■永続設定…RMANでは、バックアップ手順簡略化のために、デフォルトの構成を、永続設定として保存可能。

①自動チャネル構成

…configure default device type to disk or sbt(テープ)

②バックアップ保存ポリシーの設定

…リカバリ期間保存ポリシー

configure retention policy to recovery window of 日数 days;

…冗長性保存ポリシー

configure retention policy to redundancy 冗長数;

例えば、冗長数が3なら、4世代目からのバックアップは保存ポリシーから除外。

③作成するバックアップコピーの数の指定

④デフォルトのバックアップタイプを、BACKUPSETまたは、COPY(イメージコピー)に設定する

⑤バックアップピースサイズの制限

⑥バックアップ最適化
…configure backup optimization ON or OFF;

バックアップ最適化のON or OFFの設定。バックアップ実施時に、指定したデバイスタイプ内に同一ファイルのバックアップがある場合は、バックアップをスキップする。

⑦制御ファイルの自動バックアップ構成

 

■DELETE INPUT…バックアップ済のバックアップセットやアーカイブログを削除するオプション。

例)backup database plus archivelog delete input; … バックアップ済のアーカイブログを削除。

例)backup backupset all delete input; … バックアップ済のバックアップセットを削除。

 

■OBSOLETE 不要バックアップ関連

REPORT OBSOLETE…不要バックアップファイルを表示。

DELETE OBSOLETE…不要バックアップファイルを削除。

Oracle Net Services

Oracle Net Servicesとは何か

別クライアントからOracleに接続するために必要なネットワーク機能を提供。

以下から構成される。

・Oracle Net
・リスナー
・Connection Manager

■Oracle Netとは
クライアント-サーバ間の接続経路確定・維持を行う。

■リスナーとは
DBと外部アプリとの接続調整を行うプロセス。

データベースの停止

SQL*Plusを使用してDBを停止する場合は、shutdownコマンドを使用する。

shutdown [normal | transactional | immiediate | abort]

①normal
全てのDBユーザーが接続を終了するのを待ってから、DBをクローズ、マウント解除する
・チェックポイントが発生。DBバッファキャッシュ及びREDOログバッファ内の情報はすべてディスクに書き込まれる。
次回起動時にインスタンス回復を行う必要なし

②transactional
すべてのトランザクションが終了するのを待ってから、DBをクローズし、ディスマウントする
・チェックポイントが発生。DBバッファキャッシュ及びREDOログバッファ内の情報はすべてディスクに書き込まれる。
次回起動時にインスタンス回復を行う必要なし
・新規トランザクションは派生しない

③IMMEDIATE(=即時)
・現在のトランザクションの終了を待たずに、DBをクローズし、ディスマウントする。
・チェックポイントが発生。DBバッファキャッシュ及びREDOログバッファ内の情報はすべてディスクに書き込まれる。
次回起動時にインスタンス回復を行う必要なし

・現在進行中のトランザクションはロールバックされ、接続されているすべてのセッションは切断される

④ABORT(中断)
・現在進行中のSQL分の終了を待たずに、DBを即時終了する。
・トランザクションはロールバックされず、DBはクローズもディスマウントもされない
・チェックポイントははっせしない
・DBバッファキャッシュ、REDOログバッファの情報は喪失
次回起動時にインスタンス回復が実施される

 

データベースの起動の段階

データベースの起動には、3段階がある。

①NO MOUNT
・インスタンスのみ起動
・DBファイルのマウント・オープンは行わない状態。
・DB作成や制御ファイル再作成はここで実施可能。
初期化パラメータファイルの読み込み及び、
SGC、バックグラウンドプロセス起動後、アラートログとトレースファイルをオープンする

②MOUNT
制御ファイルをオープンした状態。(オープンする制御ファイルは、CONTROL_FILES初期化パラメータファイルで指定されたもの)
制御ファイル以外のDBファイルのマウント・オープンは行わない
・制御ファイルから、データファイルとオンラインREDOログファイルの名前の取得を行う。
・マウント状態では、以下の作業が可能。
-ファイル名の変更
-オンラインREDOログファイルのアーカイブの有効化/無効化
-全DB回復(部分回復は、オープン状態で実施可能)

③OPEN
・OPEN状態は、通常のデータベース操作を行える状態。
・MOUNT状態時に取得した情報をもとに、DBファイルとオンラインREDOログファイルをオープンする
・Oracleサーバは、DBの整合性をチェックし、不具合が発生していれば、SMONがインスタンス回復を行う。

SQL*Plusを使用したDBの起動及び停止

SQL*Plus を使用して、データベースの起動及び停止を行うことが可能。

以下のコマンドを実行

startup [初期化パラメータファイル名] [nomount | mount | open]

startupコマンドを実行すると、初期化パラメータファイルが読み込まれる。

指定しないことも可能。

指定しない場合は、以下の優先順番で初期化パラメータファイルが読み込まれる。

①spfileSID.ora
②spfile.ora
③initSID.ora

※pfileはテキストファイル。spfileはバイナリ形式。
spfilleはインスタンス起動中に変更した値を保存可能。

表領域・データファイル

Oracle DBは以下のような表領域(論理構成)でわかれている。

表領域には、1つ以上のデータファイルを対応付け、データファイルの中に表や索引等のセグメントを格納する。

ex)
表領域A…データファイル1つで構成
表領域B…データファイル2つで構成


■表領域の種類
・SYSTEM表領域
・TEMP表領域
・USERS表領域

■BIGFILE表領域
通常は、SMALLFILE表領域を使用する。
SMALLFILE表領域は、複数のデータファイルを含めることが可能。

一方、40億ブロックまでの非常に大きな単一データファイルで構成されるBIGFILE表領域を作成することも可能。

REDOログファイル

REDOログファイルは、Oracle DB内のデータに加えられた変更を記録するファイル。

ディスク障害等でのデータ損失を防止できる。

REDOログファイルは、2つ以上のグループから構成。

REDOログファイルは、循環式のファイルで、ログライタープロセス(LGWR)が、REDOログバッファの内容を1つのグループにのみ書き出す。

具体的な構造は、以下ファイル参照。(クリックで拡大)

REDOログ