ORACLE MASTER BRONZE DBA11g、資格取得、概要把握と試験対策(無料問題付き)

講座6    ORACLE DATABASE、データとログ管理について

    ORACLE製品も他のベンダー製品と同様にデータとログ管理が必要です。
    データの最小構造から、実行時のログに至るまでのデータの流れを理解し
    データ管理の基本構造を学びましょう。

    Enterprize Managerにはデータとログを管理する機能が備えられていますのでこちらを活用して管理してゆきましょう。
   

        流れとしてはEnterprize Managerで以下の行動を行います。

            1.データの最小構造
                ↓
            2.ORACLE DATABSEの表領域の基本構造
                ↓
            3.REDOログ管理
                ↓
            4.UNDOログ管理
                ↓
            5.制御ファイルとその他のファイル管理
                ↓
            6.セグメントの最適化
       
           
詳細な流れ

    1.データの最小構造

        データファイルはOSが認識する物理記憶構造と言います。対して、ORACLE DATABASEの論理記憶構造には単位があります。

            小さい順から並べると

                データ・ブロック < エクステント < セグメント < 表領域

                                        ■=データ有り □=データなし

            データ・ブロック    =    I/Oの最小単位のデータ。        例 ■

            エクステント    =    1つ以上の連続したデータブロック。    例 ■■
                        表を作成するときの領域確保の基本単位

            セグメント        =    同じ記憶構造持つエクステントの集合    例 ■■□■■
                        エクステントは隣接しなくてよい
                        同一表領域上であれば、異なる
                        データファイル上に分散配置してよい                       

            表領域        =    1つ以上のデータファイル。        例 ■■□■■□□■■□■■
                        1つのデータファイルは
                        必ず1つの表領域に所属。
                        複数の表領域に関連付けは出来ない。
           
           


    2.ORACLE DATABSEの表領域の基本構造

        事前構成済データベースを作成した場合、表領域がすでに割り当てられています。基本構成の表領域は以下の6つとなります。

            SYSTEM表領域    =    ORACLE DATABASEの管理データがある領域で必須。他の名前で作成できず
                        表領域の破損はサーバダウンに繋がり、インスタンスは異常終了するので注意。
                        データ・ディクショナリもここに保存される。

            SYSAUX表領域    =    EMの管理データがある領域で必須。

            UNDOTBS1表領域    =    UNDO表領域のロールバック用のデータがある。自動UNDO管理を利用した場合、破損すると
                        サーバはダウンする。自動管理にした場合は必須。

            TEMP表領域    =    ソート処理の中間データなどの一時的なデータがある領域。

            USERS表領域    =    ユーザが作成した表データがある領域。

            EXAMPLE表領域    =    サンプル・スキーマの作成を選択した場合に作成される領域。サンプルデータがある。           


        もし、領域のデータが増えて来たらどうする?

            ①既存の表領域にデータファイルを追加

            ②既存の表領域に関連付けられたデータファイル・サイズ拡張        =    AUTOEXTENDにチェックで自動拡張。
                                            最大ファイルサイズを無制限にすると
                                            ディスクがいっぱいか管理可能なサイズまで拡張する
            ③新しい表領域の作成   

        新しい表領域の作成時の注意
            ・エクステント管理    =    ローカル管理。SYSTEM表領域がローカル管理の場合、
                        ディクショナリ管理は選択出来ない           
   
            ・タイプ        =    は永続。一時表領域やUNDO表領域の場合は一時やUNDOを選択する。

            ・ステータス    =    通常は読み取り/書き込み           

            ・ファイル名    =    OFA準拠の場合は表領域名+連番2桁.dbf

            ・記憶域        =    フルになった場合に自動的にデータファイルを拡張するか選べる。

           
        もし、間違えて表領域を削除してしまったら?

            表領域上のオブジェクトも同時に削除されます。関連付けられたデータファイルも選択し、削除できる。


   
    3.REDOログ管理

        ①REDOログ・ファイルはデータベースの障害の際にリカバリに使用する為のファイルで変更履歴(REDOエントリ)を保管するファイルです。
        このファイルが破損すると、ORACLEインスタンスは異常終了してしまう程、大事なファイルです。               
       
            よって、ログファイルは多重化運用が必要。これをREDOログ・グループと言い、同じファイルを複数のグループで持たせます。
            ログスイッチはロググループ毎の単位で切り替わります。
            ログがいっぱいになると、ログ・スイッチが起こり、別のREDOファイルに書き込みます。
            ログ順序番号は1つずつカウントアップし、上書きしてゆきます。

        このバックグラウンドプログラムはLGWR(ログ・ライター・プロセス)が行い、ログスイッチを行います。

        ②古いREDOログファイルが、上書きされると消えてしまいます。これを別のファイルにコピーして保管するのが
        アーカイブ・ログ・ファイルと言います。

        このバックグラウンドプログラムはARCn(アーカイバ・プロセス)が行います。


           


    4.制御ファイルとその他のファイル管理

        ①制御ファイルはファイルの格納場所(物理構造)やステータス情報、REDOログやデータファイルの結びつきを保有した管理ファイルと言えます。
        このファイルが破損すると、ORACLEインスタンスは異常終了してしまう程、大事なファイルです。
           
            よって、制御ファイルは多重化運用が必要。しかし、1つ壊れると異常終了します。多重化の意味としては
            ORACLEインスタンスが異常終了するのを防ぐ為ではなく、制御ファイルの情報が失われる事を防ぐことが目的です。

            リカバリの際に制御ファイルとデータファイルは必須である為、大事なファイルと言えます。

        ②その他のファイルとして2つ上げます。

            パラメータ・ファイル    =    データベース起動時にORACLEが読み込む初期化パラメータを格納したファイル

            パスワード・ファイル    =    SYSDBA権限やSYSOPER権限でログインするユーザを認証する為のファイル

    5.UNDOログ管理

        UNDOログは処理を取り消す際のロールバック用のデータを保有したものです。
        更新後のデータに対して、更新前のデータで上書きするといったイメージとなります。

        実行中のトランザクションはいつでもロールバックできる仕組みで、作られたUNDOデータは
        トランザクションが終了するまで保持されます。コミットやロールバックでトランザクションが終了した場合は使えなくなり、不要となります。

            UNDOログの機能には以下の2つの機能も備えています。

                読み取り一貫性    =    あるユーザが更新処理の為にロックさせた際に、
                            ユーザが検索した際に更新前のデータを表示させる。

                フラッシュバック    =    過去のある時点に遡れる機能。

        尚、UNDO管理はデフォルトで自動で行われ、自動UNDO管理と言います。
        (自動チューニング機能も保有し、UNDOログを保管しようとする動きを自動でします。)

            しかし、ログの保管管理には注意点があります。

        注意①    UNDO保存期間を過ぎれば、ログは消えてしまいます。
            UNDO_RETENSION初期化パラメータで、【コミット後のトランザクションのUNDOデータを保存する期間】を指定しましょう。
           
        注意②    スナップショットが古いため、利用できないというエラーを出す。
            理由はUNDO表領域が小さい為、保存容量が不足。保存期間が短いのも原因。
            UNDO表領域は大きくしましょう。


    6.セグメントの最適化

        データベースにデータを追加したり、更新したり、削除すると、データファイル内に空きスペースが出来ます。
        不要なスペースを削除する為にセグメント・アドバイザというツールがあり、領域の縮小可能な分析と
        分析された情報を元に縮小操作を行うか?という操作が出来ます。

        Windowsのデフラグと同じようなイメージです。

        上記のセグメント・アドバイザは自動で実行され、自動セグメント・アドバイザと言います。(デフォルト)
        事前に行の移動を有効にしておく必要がありますが、上記のツールは意識しなくても自動で有効化してくれます。


試験に出ると想定される問題 この分野の出題としては5問


問題1    データのサイズを小さい順に並べました。①、②にあてはまるものをいれよ。
    データ・ブロック < ① < ② < 表領域

   


問題2    1つのデータファイルは必ず1つの表領域に所属し、複数の表領域に関連付けは出来ない。
    どのデータ単位に関して説明しているか?
   
    1.データ・ブロック
    2.エクステント
    3.セグメント
    4.表領域


問題3    DEFAULTプロファイルのパスワード制限の内、誤っているのはどれか?

    1.パスワードの有効期間                        =    180日
    2.パスワードが期限切れになった後、パスワードを変更するまでの猶予期間    =    7日
    3.ログインの失敗によってアカウントがロックされるまでのログイン失敗回数        =    5回
    4.ログインの失敗によってアカウトがロックされる日数                =    1日


問題4    次の表領域の内、破損するとサーバダウンに繋がり、インスタンスは異常終了するのはどれか?2つ選べ

    1.SYSTEM表領域
    2.USERS表領域
    3.UNDOTBS1表領域
    4.EXAMPLE表領域


問題5    表領域のデータが満杯になった。対応として正しいのはどれか?3つ選べ

    1.既存の表領域に関連付けられたデータファイル・サイズ拡張   
    2.既存の表領域にデータファイルを追加
    3.新しい表領域の作成
    4.データファイルを分割し、別の表領域に関連づける


問題6    REDOログ・ファイルのバックグラウンドプログラムはログ・スイッチを行います。何というバックグラウンドプログラムか?

    1.ARCn
    2.LGWR
    3.SMON
    4.PMON


問題7    UNDOログには3つの機能を備えています。下記から3つ選べ。

    1.ロールバック
    2.読み取り一貫性                                   
    3.ロールフォワード
    4.フラッシュバック


問題8    UNDOログから、処理を取り消す際のロールバックを実行しようとしたが、スナップショットが古いため、利用できないというエラーを出した。
    何故エラーが出たのか?原因のとなる理由を2つ選べ

    1.UNDO表領域が大きすぎた
    2.スナップショットを取っていなかった
    3.UNDO表領域が小さすぎた
    4.保存期間が短かった


問題9    データファイル内の不要なスペースを削除する為にアドバイスがもらえるツールは何か?1つ選べ。
   
    1.メモリ・アドバイザ   
    2.UNDOアドバイザ
    3.SQLアドバイザ
    4.セグメント・アドバイザ


問題10    制御ファイルは多重化運用が推奨されています。多重化が推奨される理由を1つ選べ。  

    1.ORACLEインスタンスが異常終了するのを防ぐ   
    2.制御ファイルの情報が失われる事を防ぐ
    3.DBCAだとデフォルトで多重化になっているから
    4.データベースが停止するのを防ぐ


問題11    古いREDOログファイルが、上書きされると消えてしまいます。これを別のファイルにコピーして保管する為にあるファイルは何?
        アーカイブ・ログ・ファイルと言います。?

    1.REDOログファイル
    2.UNDOログファイル
    3.アラートログ
    4.アーカイブ・ログ・ファイル


問題12    UNDOTBS1表領域は何の為にある?説明しているものを選べ

    1.ソート処理の中間データなどの一時的なデータがある領域
    2.UNDO表領域のロールバック用のデータがある。
    3.EMの管理データがある領域
    4.ユーザが作成した表データがある領域。



トップページに戻る