InterBase2020でデータベースファイルを読み込みと「Internal gds software consistency check (next transaction older than oldest active transaction 」というエラーが発生することがある

提供: Support
移動先: 案内検索

対象となる製品

  • InterBase 2020

問題

InterBase2020でデータベースファイルを読み込みと、以下の内容のエラーが発生することがあります。

Internal gds software consistency check (next transaction older than oldest active transaction (xxx), file: pag.c line: xxx)

InterBase 2020のReadmeには、ODS 13 以降のデータベースも接続可能と記載されていますが、古いODSバージョンのデータベースファイルをInterBase 2020で読み込むと発生することがあります。

(このエラーは、InterBase 2020の不具合ですが、必ず発生するわけではありません)


以下は、InterBaseとODSの各バージョンの対応表です。

InterBaseバージョン ODSバージョン
InterBase 7.5 ODS 11.2
InterBase 2007 ODS 12
InterBase 2009 ODS 13
InterBase XE ODS 15.x
InterBase XE3 ODS 15.x
InterBase XE7 ODS 16.x
InterBase 2017 ODS 17.x
InterBase 2020 ODS 18.x

解決

本症状を解決するには、ODSのバージョンを18.xに変更してください。


例えば、InterBase XE3のデータベースファイルをInterBase 2020で読み込めるようにするためには、以下の手順でデータベースファイルを復元してください。


  1. InterBase XE3のgbak -b コマンドでデータベースファイルをバックアップ
  2. InterBase 2020のgbak -r コマンドでデータベースファイルをリストア(復元)


リストア後のデータベースファイルのODSバージョンを確認するには、IBConsoleでデータベースファイルを開き、[プロパティ]-[全般]の"オンディスク構造体"でODSのバージョンを確認できます。

関連情報