• ベストアンサー

UNDOデータは物理データベースの何処?

物理データベースはデータファイル、制御ファイル、REDOログファイルで構成されていますが、 UNDOデータは、REDOログファイルに格納されているのですか? 変更開始前のデータはREDOログファイルから取り出されるのですか? それとも、REDOログファイルからデータファイルにUNDOデータを作成して、データファイルから取り出しているのでしょうか?

  • Oracle
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

UNDO表領域が格納されているデータファイルにUNDOデータが格納されると思います。REDOログファイルではないでしょう。 参考URLにもあるように、UNDO表領域は独立した表領域として、ユーザデータとは別のデータファイルに作成することが多いです。

参考URL:
http://otndnld.oracle.co.jp/skillup/oracle9i/2_1/index.html
aura999
質問者

お礼

ありがとうございました。

関連するQ&A

  • 完全リカバリのUNDOデータの由来、扱いについて教

    完全リカバリのUNDOデータの由来、扱いについて教えて下さい。 完全リカバリの大まかな流れとして、 1.リストア 2.アーカイブ、オンラインREDOログでロールフォワード 3.UNDOでロールバック 4.完了 となるかと思いますが、 UNDOデータはどこから持ってころれるのでしょうか? もしUNDO表領域から持ってくるのであれば、ロールフォワード分をロールバック出来るだけのUNDOが残ってる保証はないかもしれない、と疑問を持ちました。 (現実的にはまずないのかもしれませんが) となると、完全リカバリが失敗するケースもあるのでしょうか?

  • Oracle9i RAID0+1のデータファイル

    宜しくお願いします。 表領域の物理設計などと言われるデータ・ファイルの配置ですがOracleが使用するHDDをRAID 0+1で構成した場合、「システム表領域、UNDO表領域、一時表領域は独立して作成すること」や「REDOログは他の表領域と別にする」などなどは、下記のどの管理が良いのでしょう? 1.RAID 0+1 を単一パーティションとし、システム表領域などをディレクトリで分ける 2.RAID 0+1 を複数パーティションとし、システム表領域などをパーティションで分ける 3.その他

  • データベースの必要性について

    現在データベースの役割について勉強しています。 その中で、データベースの必要性として、以下のような説明があります。データベースが存在する前のデータ管理についてわからない為、 (1)~(3)が理解できません。 (1)~(3)について、具体的に教えてくださいませんか? よろしくお願いします。 -------------------------------- データベースが存在する前は、プログラムごとにデータを保持している。 以下のような問題点がありました。 (1)冗長性の問題:同じデータが複数のファイルに重複して存在する為、多くのデータ格納領域が必要になります。 (2)整合性の問題:データに変更があった場合、各プログラム毎のデータをすべて変更する必要があります。このため、データの更新漏れが発生しやすくなります。 (3)独立性の問題:プログラムは物理的にデータが格納されている位置を指定して処理していたため、データの構造が変わってしまうとプログラムも変更する必要がありました。

  • データベースのアタッチができなくなりました

    SQLServer2000 logデータを書き込む領域がなくなりましたというエラーメッセージが出ましたので、 logファイルを削除するためにデータベースをデタッチしました。 このときに何かのメッセージが出ましたが、強引にデタッチをしました。 logファイルを削除し、データベースをデタッチしようとしたところ、 「ログファイルとして指定したファイル名が間違っています。新しいログファイルが作成されます。続行しますか?」というメッセージが出ました。 「はい」を選択すると 「エラー 1813 新しいデータベース’データベース名’を開けませんでした。CREATE DATABASEは中断されます。デバイスアクティブ化エラー物理ファイル名’C:\Program Files\Microsoft SQL Server|MSSQL\Data\データベース名_log_LDFは正しくありません。’」 というメッセージが出て、アタッチに失敗してしまいます。 データベースを復元しましたが、logファイルが無いためか、一ヶ月以上前の時点までしか復元できません。 ldfファイルはありません。(ゴミ箱の中にも) mdfファイルは残っていますので何とかなると期待しています。 大変困っています。 どなたか解決方法をご存知でしょうか。 ご教授よろしくお願いいたします

  • 2つのデータベースのデータを1つに合わせてのソート方法

    よろしくお願いします。 Accessで作成されたデータベースが2つあり、それぞれ同じ項目名で構成されているテーブルが1つずつあります。(データの変更前と変更後というように2つのデータベースに分けています。全体で約50万件です。) 検索用のフォームを作成し、条件に合致するデータを両方のデータベースから検索してフォーム上のリストボックスに表示していきたいのですが、その表示順番を2つのデータを合わせて日付順に並び変えたいのです。このような処理が可能なのかどうかも不明なのですが、可能であればその方法を教えていただけないでしょうか。

  • 「トランザクション処理」について質問

    Oracle Database 11g の 「トランザクション処理」について質問。 認識:UPDATE文が発行されるとキャッシュに更新前の情報(UNDOセグメント)が生成される。 REDOログバッファにREDOログを生成する。 UPDATE文が正しく行われたことを、プロンプトに返す。 この時、REDOログファイルにはまだ書き込まれていない。 データファイルにも書き込まれていない。 質問:このコミットされていない状態で、障害が起きた(メモリが飛んだ)場合、 コミット前の状態にしか戻れないですか? データベースの概要のACID特性の一貫性は、 トランザクションの一貫性ということですか? また、UPDATA文を発行し、プロンプトが返ってくるが、 これは嘘になりえるっていうことでしょうか? よろしくおねがいします。

  • フラッシュバックデータベース機能と従来のリカバリ方法について

    OracleBronzeDBA10gを勉強中です。 Oracle管理経験はありません。 データベースのリカバリ作業のところで躓きました。 従来のリカバリ方法(RedoログファイルとデータファイルのBKファイルのリストアによるリカバリ) とフラッシュバックデータベース機能の違いについてご教授下さい。 従来のリカバリ方法は、復旧までに手間と時間がかかりそうですね。 しかしフラッシュバックデータベース機能を利用すると短時間で復旧できそうです。 http://otndnld.oracle.co.jp/products/database/oracle10g/htdocs/D-80/Flashback_Overview.htm ここには 『 フラッシュバック・データベースを使用するためのパフォーマンス・オーバーヘッドは2%未満です。 本番データベース用のパフォーマンス・オーバーヘッドを少しでも犠牲にしたくない場合は、フラッシュバック・データベースの使用を慎重に検討する必要があります。 ・・・(中略)・・・ (フラッシュバック・データベースには)次のようなメリットがあります。 ●バックアップのリストアにかかる時間が短縮される。 ●スタンバイ・データベースのREDOの適用遅延がなくなる。 ●予期しないエラーの訂正。 』 と載っています。 Oracle10gからの新機能との事ですが、フラッシュバックデータベース機能を利用してリストアするなら、 アーカイブRedoログを取っておく必要はないということでしょうか。 あるいはREDOログによる従来の障害対応にはできるけれど、フラッシュバックデータベース機能には出来ない事があるのでしょうか。

  • データベース

    windows2000server , oracle8.1.6を使用しています。 データベースのデータが格納されているフォルダはまたはファイルはどこに あるのでしょうか? よろしくお願いします。

  • C言語からデータベースにアクセス

    現在C言語で作成したシステムで MySQLで作成されたデータベースに格納されている画像のヒストグラム情報(すでに数値化して格納してあります)を取得 →プログラム内で処理→処理後の画像のファイル名、ヒストグラム情報をデータベースに格納 (C言語プログラム、データベースともに同じサーバー機に入っています) という処理を行いたいと思っているのですが、どのようにするのが良いでしょうか? データベースからのデータ取得はCから検索キーを指定して、データを検索、取得できればなおよいです。 PostgreSQLであればlibpqなどのライブラリがあるようですが、MySQLはどうにもわかりません。 C言語で作成したプログラムをCGIとして実装すればよいとは思うのですが、 解説サイトではフォームからの入力ばかりで、データベースから直接の受け渡しや、 画像情報のような大量のデータの受け渡しを解説しているサイトは見当たりませんでした。 なお、データベース操作はphpで行っています。 分かり辛い分で申し訳ありませんが、最悪Cプログラムからデータベースへのデータ格納だけでもかまいませんので、ご回答お願いします。

  • Oracle のREDOログアーカイブについて

    Oracle のREDOログアーカイブについて Oracle のアーカイブREDOログファイルの基本的な事を教えてください。 [ 運用条件 ] オンラインREDOログ三多重化 (メンバ 3つ)、アーカイブログモードあり、 自動アーカイブ、アーカイブプロセス数は2、データガードなし 上記条件で全REDOログファイルに障害がない場合、ARCHプロセスは多重しているどのREDOログメンバからアーカイブREDOログファイルを作成するのでしょうか。使用版数はOracle 10g R2です。