ちゃむ今回から、ロールバック・セグメントに関する検証を行なう。<ロールバック・セグメントの役割>Oracleには、1つ以上のロールバック・セグメントが存在する。ロールバック・セグメントには、トランザクション処理時の変更前の値が記録される。この更新前の値を用いて、読取り一貫性、トランザクションのロールバック、データベースのリカバリ(REDOをあてていくロールフォワードの後にロールバックを行なう)を実現している。以下に、ロールバック・セグメントが更新前情報を格納しているイメージ図を示す。ロールバック・セグメントには、プライベート・ロールバック・セグメントとパブリック・ロールバック・セグメントがある。<プライベート・ロールバック・セグメント>単一のインスタンスでのみ使用可能。起動時に、初期化パラメータのrollback_segmentsでロールバック・セグメントの指定を行なわないと、onlineにならない。Server)のような複数のインスタンスで使用可能。Oracleの起動時に、自動的に以下の初期化パラメータの計算式の個数だけ、ロールバック・セグメントをonlineにする。例)CEIL(5.1)なら5.1以上の最小の整数なので6また、パブリック・ロールバック・セグメントをrollback_segmentsで指定しても、それはちゃんとonlineになる(以下に検証結果を記載)。エラーになるわけではないと言いたかった。;SEGMENT_NAME------------------------------SYSTEMR0R1R2R3R4RBS0R_PUBこのように、エラーにならずR_PUBがONLINEになっている様子が確認できる。SYSTEMとはシステム・ロールバック・セグメントのことで、通常、特定のシステム・トランザクションにのみ使用される。このように、初期化パラメータのrollback_segmentsに指定しなくてもONLINEとなる。削除もOFFLINEにもできない。エラーが発生しました。ロールバック・セグメントをオンライン/オフラインに変更できません。エラーが発生しました。システム・ロールバック・セグメントは削除できません。ちなみに、システム・ロールバック・セグメントでなくても、ONLINE状態のものは削除できない。エラーが発生しました。R0は使用できません。rollback_segmentsで指定するとORA-01599が発生する。reserved.トップページ企業概要プライバシーポリシ。