• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックポイントとロールバックのタイミングについて。)

チェックポイントとロールバックのタイミングについて

このQ&Aのポイント
  • チェックポイントをまたがったトランザクションで完了後にシステム障害が発生した場合、ロールフォワードによってデータベースとtransaction logファイルにデータが書き込まれます。
  • チェックポイントを一度も通らずにトランザクションが完了し、完了後にシステム障害が発生した場合も同様にデータベースとtransaction logファイルにデータが書き込まれます。
  • トランザクション実行中にシステム障害が発生した場合、ロールバックされてtransaction logファイルにのみ書き込まれ、データベースには書き込まれません。

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

  • ベストアンサー
  • fu_u_ka_i
  • ベストアンサー率51% (15/29)
回答No.1

たぶん、使っている用語が、SQLserverの用語だと思うのですが... オラクルの用語を使わず、SQLserverの用語で質問するということは、 オラクルのマニュアルには、目を通していないと言うことですよね? 質問された内容は、”オラクル概要”一冊でほぼ網羅されています。 お読み頂くのが、正しい理解が得られると思いますよ。 お読み頂いた上で、わからない部分を改めて質問されるのが良いでしょう。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ロールバックとチェックポイント関連で質問です。

    下記のパターンの際に、transaction logファイルに書き込まれるのか否かを教えて下さい。 A:チェックポイントをまたがったトランザクションで完了後にシステム障害が発生した場合。 =>私の認識では、ロールフォワードによって、データベースとtransaction logファイルにデータが書き込まれる。と考えているのですが、正しいでしょうか? B:チェックポイントを一度も通らずに、トランザクションが完了。完了後にシステム障害が発生。 =>Aと同じですか? C:トランザクション実行中にシステム障害が発生した場合。 =>ロールバックされて、transaction logファイルにのみ書き込まれて、データベースには書き込まれない。というのは正しいでしょうか? よろしくお願いします^^

  • 障害回復(ロールバックとロールフォワード)について

      t0  t1  t2   t3   t4   t5        |           | A s---e   |           |         |           | B s-------------e        |         |           | C  s------------------------|         |           | D       |   s----e    |         |           | E       |    s---------| ※t2はチェックポイント、t5は障害発生 ロールバックとロールフォワードについて教えてください。 (1)BとEについてロールフォワードによる回復が必要とのことですが、障害発生前にトランザクションが終了しており、コミットされているはずなのに、なぜロールフォワードが必要なのでしょうか? (2)Aはチェックポイント前に処理が完了しているため、回復処理は不要とのことですが、BとEが必要でAが不要の違いわかりません。 よろしくお願いします。

  • ロールバックについて

    トランザクション障害が起きた場合、 ログファイルの更新前情報によってロールバックするらしいのですが、 この更新前情報というのはいつログファイルに書き出されたのでしょうか?

  • ロールバックとロールフォワード(データベーススペシャリスト試験)

      t0  t1  t2   t3   t4   t5         |           | A s---e  |           |         |           | B s-------------e       |         |           | C s------------------------|         |           | D       |   s----e   |         |           | E       |   s---------| 図がずれていたらごめんなさい。 A~Eはトランザクション sはトランザクション開始 eはコミット t0~t5は時間を表していて 時間t2でチェックポイント 時間t5で障害が発生したとします。 参考書によると復旧時に CとEはロールバックを行い、 BとDはロールフォワードを行うとあります。 B、C、Dはわかるのですが Eにロールバックが必要な理由がわかりません Eを再び実行するためにはデータは トランザクションを開始したt3時点の状態であればよいはずです。 そしてチェックポイント(=t2)の状態はt3と同じなので、 Eの更新前ファイルを使ってデータをロールバックする必要はないように思えます。 どこで間違っているでしょうか。。。

  • データベースの質問です。下記の四択について、どうい

    データベースの質問です。下記の四択について、どういうものか根拠を教えて下さい システム障害発生時には,データベースの整合性を保ち,かつ,最新の データベース状態に復旧する必要がある。このために,DBMSがトランザクション のコミット処理完了とみなすタイミングとして,適切なものはどれか。  ア アプリケーションの更新命令完了時点  イ チェックポイント処理完了時点  ウ ログバッファへのコミット情報書込み完了時点  エ ログファイルへのコミット情報書出し完了時点

  • ロールバックの逆の言葉は?

    現在ファイルのバックアップとバージョン管理を行う簡単なツールを作成しているのですが、その際にロールバックから復帰するいい言葉がわからず悩んでいます。 例えばチェックポイントが10個ある場合(v1~10)、バージョン6(過去のバージョン)に戻る作業がロールバックです。 その後、再びバージョン10に復帰することも可能で、この終端のバージョンに復帰する作業のよさげな名前を探しています。 昔VSS少し使っていたことがあって、ロールバックという言葉は覚えていたのですが、残念ながらそのもどし方の名前は忘れてしまいました。 よろしくおねがいします。

  • インポートからのロールフォワードは可能?

    同じ構造のデータベースAとBがあります。 データベースAを実際に使用し、Bは予備機とします。 一日一回の割合でAから全テーブルのデータをエクスポートしてBにインポートしております。 Aのデータファイルに障害が発生した場合、 BのインポートデータとAのアーカイブログを用いて、障害直前までの復旧は可能でしょうか?

  • ロールバックできず困っています。

    1.テーブルAに、新たに列を追加したテーブルBを作成。 ↓ 2.テーブルAのデータをテーブルBにコピー。 ↓ 3.テーブルAを削除。 ↓ 4.テーブルBの名前をテーブルAに変更。 という一連の処理があります。 これらの処理でエラーが発生した場合、処理実行前の状態に戻したいのですが、ロールバックできずに消されるはずだった不要なテーブルが残ってしまいます。 何か方法はありますか?よろしくお願いします。

  • ActiveX DLLでのオラクルのトランザクション

    VB6とOracle9iのOO4Oにてシステムを構築しておりますが、一つ解らないことがありましたので、どなたかご教授願います。 あるPG(通常のEXEです)よりActiveX DLLを呼び出してOracleの表へデータを挿入する処理があります。呼び出し元となる通常のEXEはまずOracleの接続処理を記述しています。正常に接続が完了したならトランザクションを開始し、表のDeleteを実行します。その後ActiveX DLLを呼び出して表のInsertを実行しています。再び通常のEXEに制御が戻り、トランザクションの完了(COMMIT)または破棄(ROLLBACK)を行います。しかし、最後のトランザクションのCOMMIT(ROLLBACK)を行うと『コッミト(ロールバック)時にアクティブなトランザクションがありません』というエラーが発生してしまいます。正しくBegin Transactionを実行しているのに、これはどういうこと何のでしょうか。ご存知の方がいらっしゃましたら教えてください。

  • LDFファイルからのロールフォワード

    SQL Server 2005 Express Editionを使用しています。 物理的に1つのディスクで、CドライブとDドライブがあり、 mdfもldfもDドライブに配置していました。 完全復旧モデルで、毎日データベースを夜間バックアップし、 ログファイルは、その後Truncate_onlyして切捨てを行っていました。 上記状況でシステム稼動中にWindowsがフリーズ、 電源を強制的に落としたところ、セーフモードでも 起動できなくなった為、再インストールしました。 こういう状況ですので、残っている物は、  ・前日のフルバックアップ  ・稼働中だったmdfとldf のみという状況です。 できる限りデータを復旧しようとした場合、 フルバックアップからリストアし、その後、 残っていたldfからロールフォワードという虫のよいことは できるのでしょうか? 良い方法があれば教えてください。