3 既知の問題と回避方法

この章では、リリース時点での既知の問題について説明します。

リリース19c (19.1.0.0.200714) — 2021年10月

バグ33407415: PostgreSQL - Extractが表レベルでデフォルト・ロギングを有効にして証跡に不正なレコードを書き込む

FULLレプリカ・アイデンティティ・ロギングが設定されていない、Extractによって取得されるように構成された表は、更新および削除操作が発生した場合にダウンストリームReplicat問題が発生し、Replicatが異常終了する原因となる可能性があります。

回避方法

表に主キーがあるかないかにかかわらず、Extractによって取得されるように構成された表に対して、ALLCOLSオプションでADD TRANDATAコマンドを実行します。これにより、表にFULLレプリカ・アイデンティティ・ロギングが設定されます。

リリース19.1.0.0.210420 — 2021年5月

バグ32795888: SQL Server - ADD HEARTBEATTABLEがAzure SQL DB管理対象インスタンスで失敗し、TARGETGONLYが必要であるという誤ったエラー・メッセージが表示される

ADD HEARTBEATTABLE/ALTER HEARTBEATABLE NOTARGETONLYコマンドは、Azure SQLデータベース管理対象インスタンスに対して機能しません。これらのコマンドのどちらかを使用しようとすると、TARGETONLYが必要であるという誤ったエラー・メッセージが報告されます。

回避方法

なし。

バグ32791333: Sybase - Sybaseバージョン15.7および16.1ではハートビート機能がサポートされていない

Sybase 15.7および16.1データベース・バージョンではハートビート機能がサポートされていません。ハートビート表を追加しようとすると、次のエラーが発生します。

2021-04-13 08:50:31 ERROR OGG-10513 The job scheduler database(sybmgmtdb)does not exist. 
Configure database sybmgmtdb and add Oracle GoldenGate replication user with correct role to create and run the heart beat job.

回避方法

なし。

リリース19.1.0.0.201013 — 2020年10月

バグ31792776: PostgreSQL - Extractが「Positioning sequence ID is out of order」エラーで異常終了する

Extractがエラー「Positioning sequence ID is out of order」で異常終了します。

回避方法

前回のExtract実行レポート・ファイルでレポートされたflush LSNを使用してExtractを変更します。

バグ29910461: DB2 for i - Pumpがエラー「ERROR OGG-01224 TCP/IP error 79 (Connection refused)」で異常終了する
開始されたPumpプロセスの数が50を超えると、Oracle GoldenGate Pumpが接続拒否エラーで失敗することがあります。
回避方法
一度に開始するPumpプロセスの数を減らします。
バグ31460112: DB2 LUW - XエンディアンExtractがエラー「An invalid parameter "piStartLRI" was passed to the "db2ReadLog" read log API」で停止する

このエラーは、クロスエンディアン環境でDB2 LUWのリモート・データベースからログ・レコードを読み取る際に発生する可能性があります。

回避方法
なし。
バグ31637694: Oracle - Oracle GoldenGateの再起動後にReplicatが挿入をスキップする
GROUPTRANSOPSが1に設定されている場合、ReplicatがRESTART_ABENDを参照するとレコードがスキップされることがあります。
回避方法
GROUPTRANSOPSを1より大きい値に設定するか、その設定を削除します。

リリース19c (19.1.0) - 2020年9月

バグ31652978: Oracle - バッチ・ジョブのロード用のアクティブ/ライブ表のいずれかで、ExtractにINSERTSがランダムに欠落している

クラシックExtractを使用してExadataプラットフォームからキャプチャできません。Exadata、Exadata Cloud Service、Exadata Cloud at Customerまたは任意のExadataクラウド・サービスからキャプチャするには、統合Extractを使用する必要があります。

回避方法

なし。

バグ31922955: 一般 - LANG=en_US.UTF-16がサポートされていない

LANGがオペレーティング・システム・レベルでen_US.UTF-16に設定されると、GGSCIがハングします。en_US.UTF-8の設定は可能です。たとえば、LinuxでGGSCIまたは管理クライアントがハングする設定は次のとおりです。

[celclnx29]/bugmnt3/am/celclnx29/SRx.xxxxxxxxxxx/user/gg122> echo $LANG en_US.UTF-16

回避方法

なし。

バグ31799288: Oracle - クラシックExtractで表領域の暗号化がサポートされていない

Oracle Database 19cのクラシックExtractでは、表領域の暗号化はサポートされていません。

回避方法

なし。

バグ31768942: ADB-S - SHAREオプションがPerPDBキャプチャで機能しない

PerPDBのExtractを登録する場合、登録は成功しますが、SHAREオプションは無視されます。

回避方法

なし。

リリース19.1.0.0.200714 - 2020年8月

バグ31732282 - PostgreSQL: ユーザー定義型がサポートされていない

Oracle GoldenGate for PostgreSQLでは、ユーザー定義データ型(UDT)はサポートされていません。

回避方法

ユーザー定義データ型を含む表を使用しないでください。つまり、ExtractまたはReplicatパラメータ・ファイルからそのような表を除外してください。

バグ31730629: PostgreSQL - マテリアライズド・ビューからのキャプチャがサポートされていない

マテリアライズド・ビューからのレコードのキャプチャはサポートされていません。

回避方法

Extractパラメータ・ファイルでマテリアライズド・ビューを使用しないでください。

バグ31730647: PostgreSQL - UPDATEレコードのnullと空の文字列を区別できない

PostgreSQL Extractは、空の文字列またはNULLデータとして挿入されて後でNULLまたは空の文字列で更新された場合(またはその逆の場合)、空の文字列またはnullデータのVARCHAR列データを区別できません。

回避方法

NOCOMPRESSUPDATESパラメータを使用します。

バグ31730664: PostgreSQL - Oracle GoldenGate ExtractでWALレコードをキャプチャするには、PostgreSQLインストールにデフォルト・プラグインtest_decoding.soが存在する必要がある

デフォルトのtest_decodingプラグインは、PostgreSQLインストール・ディレクトリに存在する必要があります。これが既存のデータベース設定で、test_decoding.soがデータベースのLIBフォルダの下にない場合は、次の場所からtest_decoding.soをダウンロードする必要があります

データベース・バージョンがPostgreSQL 11の場合:

sudo yum install postgresql11-contrib

データベース・バージョンがPostgreSQL 10の場合:

sudo yum install postgresql10-contrib

回避方法

なし。

リリース19.1.0.0.200714 — 2020年7月

バグ31097457: PostgreSQL - bit/varbit型がバイナリではなくchar/varcharとしてバインドされる

初期ロード・モードでは、実際のデータがソースbit varying列で定義された長さより短い場合、bit varyingデータに接頭辞0を付けることができます。データの長さは、接頭辞0を付けることで最も近い8の倍数になるよう丸められます。

回避方法

なし

バグ31326961: PostgreSQL - ADタグ、BCタグ、または4桁を超えるYEARコンポーネントを含むタイムスタンプ・データが正しく取得されない

データがターゲットのPostgreSQLのTIMESTAMPTZ列に適用されていて、ソースとターゲット間のデータの不一致を引き起こす場合、タイムゾーン・コンポーネントの秒フィールドは証跡に書き込まれません。

回避方法

なし。

バグ31326068 - データベースから取得されたデータのタイムゾーン・コンポーネントに秒がある場合、TimestampTZデータに不一致が生じる

受信データのタイムゾーン・コンポーネントの秒部分は、ターゲット・データ型では考慮されません。たとえば、受信データにタイムゾーン・コンポーネントのデータ1900-03-03 02:02:02.123 +03:59:56がある場合、タイムゾーンの56秒が無視され、56秒の不一致が確認されます。

回避方法

postgresql.confファイルのタイムゾーン・パラメータがutcである場合、この問題は発生しません。

バグ31146341: PostgreSQL - ターゲット・データベース表のIdentity Always列がGENERATED ALWAYS AS IDENTITY句で作成されている場合、エラーが発生する

ターゲット・データベース表のIdentity Always列がGENERATED ALWAYS AS IDENTITY句で作成されている場合、次のエラーがスローされます。

2020-05-09 21:46:39 ERROR OGG-00551 Database operation failed: Preparing statement (INSERT INTO "public"."int1_nokey" ("id",...). ODBC error: SQLSTATE 37000 native database error 3624914. [Oracle][ODBC PostgreSQL Wire Protocol driver][PostgreSQL]ERROR: VERROR; cannot insert into column "col3"(Detail Column "col3" is an identity column defined as GENERATED ALWAYS.; Hint Use OVERRIDING SYSTEM VALUE to override.; File d:\pginstaller.auto\postgres.windows-x64\src\backend\rewrite\rewritehandler.c; Line 826; Routine rewriteTargetListIU; [Oracle][ODBC PostgreSQL Wire Protocol driver][PostgreSQL]Failed transaction. The current transaction rolled back.

回避方法

アイデンティティ列のシード値の変更により行に競合または衝突がある場合は、次の操作を実行して修正できます。
  1. 問題のある表の自動増分列を操作している順序名を特定します。

    select pg_get_serial_sequence('fruits','id') where table is “fruits” and auto-increment column name is “id” 
    pg_get_serial_sequence
    -------------------------------- 
    "public.fruits_id_seq"
  2. 自動増分列のシード値のデフォルトの増分を特定します。

    select increment from information_schema.sequences where sequence_name= 'fruits_id_seq' and sequence_schema='public';
  3. 次の問合せを使用して、自動増分列のシード値を変更します。

    SELECT SETVAL('fruits_id_seq', (SELECT MAX(id) + increment FROM fruits));
  4. Replicatを起動します。

バグ31521207: PostgreSQL - BITデータをChar/Varcharデータ型に変換する場合のデータの破損

長さ1のBIT型(BITまたはBIT(1)またはVARBIT(1)型)のPostgreSQLソース列をターゲットのCHARまたはVARCHAR型の列にマッピングすることはサポートされていません。

回避方法

長さが1より大きいソースbit型列を使用してください。

バグ31528537: PostgreSQL - @tokenへのレプリケート時に数値型の無効な入力構文でReplicatが異常終了する

PostgreSQLからの抽出では、WHERE句にDATEまたはTIMESTAMP列が含まれるSQL問合せでSQLEXECはサポートされていません。

回避方法

なし。

バグ31204771: PostgreSQL - DBLOGINでエラー「Error parsing connect string at offset 51' when using password in special chars」が生成される

DBLOGINがパスワード認識の制限によるエラーを生成します。

回避方法

この問題の回避策はありませんが、次の制限事項を考慮する必要があります。
  • パスワードに特殊文字が含まれている場合は、二重引用符で囲む必要があります。

  • パスワード文字列では、セミコロンを特殊文字として使用できません。セミコロンが使用されている場合は、接続文字列のフィールド・セパレータとして扱われるため、ドライバは接続オプションとして解釈し、接続に失敗します。

  • USERIDALIASを作成する際も、セミコロン付きのパスワードは使用しないでください。

バグ31216309: PostgreSQL - ネイティブ・レプリケーションが有効な場合に、Extractでスタンバイ・データベースから登録できない

スタンバイ・データベースからのキャプチャはサポートされていません。

回避方法

なし。

バグ31560266: MySQL - ADD HEARTBEATTABLEメッセージは、MySQL、MariaDB Amazon Aurora、Amazon RDSに対して修正する必要がある

データベース・ユーザーがデータベース内でEVENT権限を持っていない場合は、user@databasenameに対するGRANT EVENTに不適切なメッセージ・リストが表示されます。

回避方法

user@hostnameに対してEVENT権限を付与し、Amazon AuroraまたはAmazon RDSに対して実行している場合は、event_scheduler変数を新しいまたはデフォルト以外のパラメータ・グループを介してONに設定します。

リリース19.1.0.0.200414 — 2020年6月

バグ31455294: DB2 z/OS - Oracle GoldenGate 19c (19.1.0.4)のExtractでLPARおよびDB2がクラッシュする

DB2 z/OSにOracle GoldenGate 19c (19.1.0)がインストールされているが、Oracle GoldenGate 12c (12.3.0.1)のストアド・プロシージャの以前のインストールがOracle GoldenGate 19c (19.1.0)のインストールによって参照されている場合、または正しく置き換えられていない場合、ECSAの破損が発生する可能性があり、これによりLPAR全体の致命的な異常終了につながる可能性があります。Oracle GoldenGateをアップグレードする場合、DB2 z/OS PDSEの新しい実行可能ファイルが適切にインストールされていること、またはその新しい名前が新しいストアド・プロシージャおよびUDTF定義で使用および参照されていることを確認する必要があります。

回避方法

インストールが正しく実行されていることを確認します。

バグ30328936: DB2 z/OS - 「OGG-06550 Unable to position in log buffer」というエラーでExtractが断続的に異常終了する

Extractの1つ以上の表にLOBが存在する場合、またはNOAPIFILTERが発行されると、エラー「OGG-06550 Unable to position in log buffer」でExtractが断続的に異常終了することがあります。

回避方法

Extract構成に次のように追加する必要があります。

TRANLOGOPTIONS APIBUFSIZE 100000

問題が解消されない場合は、発生しなくなるまで値を少しずつ増やします。この値は、OGGREADBユーザー定義表関数で定義された出力BLOB列サイズより大きくしないでください。これはDB2 z/OSシステムに割り当てられたECSAバッファのサイズに直接影響するため、この値は必要なだけ増やすことをお薦めします。APIBUFSIZEを変更する場合は、BUFSIZEパラメータの値(デフォルト値は1MB)より大きくしないでください。

リリース19.1.0.0.200414 — 2020年4月

バグ31202227 - Azure Database for MySQL: ハートビート表の2番目または3番目のハートビート・シード・レコードの後にExtractが異常終了する

Azure Database for MySQLへのリモート接続時、hb_seed tableに対する2回目または3回目の更新の後、Extractが次のエラーで異常終了します。

ERROR OGG-01161 Bad column index (-4096) specified for tablemysrcdb.gg_heartbeat_seed, max columns = 17..

回避方法

binlog_row_imageシステム変数がFULLに設定されていることを確認します。

リリース19.1.0.0.200204 — 2020年2月4日

バグ30033958 - DB2 z/OS: 表の切捨てがExtractで取得されない

ソース・データベースで実行されるTRUNCATE IMMEDIATEは、ターゲット・データベースに反映されません。

回避方法

ターゲットの変更を参照するために、Extractパラメータ・ファイルでGETTRUNCATESが必要です。また、TRUNCATEコマンドからIMMEDIATEパラメータを削除します。

バグ31195430 - TRANLOGOPTIONS EXCLUDETAGがパラレルDML操作で機能しない

PDMLトランザクションからの証跡レコードにタグ・データ/トークンがありません。

回避方法

なし

リリース19c (19.1.0) - 2019年10月

バグ30427030 - Oracle: 管理クライアントでVIEW PARAMSコマンドおよびVIEW REPORTコマンドが失敗する

Windows Serverで管理クライアントを実行している場合、標準ビューア・ユーティリティを使用すると、VIEW PARAMSコマンドおよびVIEW REPORTコマンドが失敗します。

回避方法

この問題を解決するには、管理クライアント内で次のコマンドを実行します。

SET PAGER notepad

リリース19c (19.1.0) - 2019年9月

バグ30328936 - DB2 z/OS: 「OGG-06550 Unable to position in log buffer」というエラーでExtractが断続的に異常終了する

ExtractまたはNOAPIFILTERの1つ以上の表にLOBが存在する場合、Extractではエラー"OGG-06550 Unable to position in log buffer"が断続的に発生することがあります。

回避方法

Extract構成に次のように追加する必要があります。

TRANLOGOPTIONS APIBUFSIZE 100000

問題が解消されない場合は、発生しなくなるまで値を少しずつ増やします。この値は、OGGREADBユーザー定義表関数で定義された出力BLOB列サイズより大きくしないでください。これは、DB2 z/OSシステムに割り当てられたECSAバッファのサイズに直接影響するため、この値を必要以上に増やさないことをお薦めします。APIBUFSIZEを変更する場合は、BUFSIZEパラメータの値(デフォルト値は1MB)より大きくしないでください。

バグ29541089 - SQL Server: 以前のバージョンと比較してSQL Server 2017のExtractキャプチャ率が下がっている

Microsoft SQL Server 2016/2017用のOracle GoldenGateのキャプチャ率を低下させる可能性のある問題がMicrosoftで発生しています。

回避方法

なし。

バグ30222937 - SQL Server: ExtractにSYSADMIN権限がない場合のSQL Serverエージェントに関する不正なメッセージ

Extractがsysadminサーバー・ロールのメンバーでないログインを使用してSQL Serverインスタンスに接続している場合、SQLエージェントが実行していないことを示すメッセージが表示されますが、これが正しい場合と正しくない場合があります。これは、SQLエージェントのステータスを実際に判別する権限がログインにないためです。

回避方法

SYSADMINサーバー・ロールのメンバーになるようにExtractで使用するログインを付与するか、SQLエージェントが実行中であることを手動で確認し、Extractのレポート・ファイルの警告を無視します。

バグ30222904 - SQL Server: AlwaysOnセカンダリ・レプリカ・データベースで権限の問題が発生してもExtractがエラーなしで異常終了する

ExtractがTRANLOGOPTIONS ALWAYSONREADONLYROUTINGで構成され、リスナーを介したDSN接続を使用し、Always Onグループが読取り専用ルーティング用に構成されている場合、Extractで使用されるログインがセカンダリ・レプリカ・データベースのデータベース・ユーザーにマップされていないと、Extractはエラーなしで異常終了します。

回避方法

セカンダリ・インスタンスでExtractによって使用されるログインまたはパスワードと同じものを作成し、そのログインにSYSADMIN権限を付与します。

バグ29209870 - SQL Server: SQL Server CDC TRANDATAで、データベース名または表名のピリオドがサポートされない

SQL ServerのためのOracle GoldenGateのADD TRANDATAでは、データベース名または表名のピリオドはサポートされません。

回避方法

なし。

バグ29882931 - MySQL: Oracle GoldenGate 18cリリースから19cリリースへのアップグレード中にSOURCEDEFパラメータが使用されると、Replicatが異常終了する

Oracle GoldenGate 18cリリースから19cリリースへのアップグレード時にSOURCEDEFパラメータを使用すると、Oracle GoldenGate Replicatがエラー「OGG-01163 Bad column length (6) specified for column ID」で異常終了します。

回避方法

アップグレード時に、SOURCEDEFパラメータを使用しないでください。

バグ27028084 - MySQL: リモート・キャプチャのバイナリ・ログ・ファイルのサイズ

Oracle GoldenGate MySQLのリモート・キャプチャでは、サイズが4GBより大きいバイナリ・ログ・ファイルはサポートされません。したがって、オフセットの位置指定時に4294967295より大きいオフセットもサポートされません。

回避方法

なし。

バグ30023717 - Oracle: 相互依存性が極端に高いトランザクションを処理するとき、パラレルReplicatがORA-1403で失敗することがある

多数の潜在的依存関係があるトランザクションのまれな状況で、パラレルReplicatがエラー「ORA-1403: "no data found"」で異常終了します。

回避方法

Replicatを再起動します。元のトランザクションが、グローバル・データ整合性を維持しながら正しく適用されます。

バグ30207560 - Oracle: Oracle GoldenGateプロセスがオープンしているときにGGSERRログ・ファイルをWindowsでロールオーバーできない

ggserr.logファイルは、デフォルトまたは変更されたサイズになったときに自動的にロールオーバーするように構成されています。ただし、Windows上のOracle GoldenGateでは、実行中のプロセスがあるときにggserr.logファイルをロールオーバーできません。

回避方法

実行中のすべてのExtract、ポンプおよびReplicatを停止してから再起動します。これにより、ggserr.logをロールオーバーできます。

バグ30250118 - Oracle: AIXおよびSolarisの自動CDR統計で正しくレポートされない

Oracle Database 18cを使用しているAIXまたはSolarisでOracle GoldenGate 19cにシャーディングが実装されている場合、自動CDRで統計情報が正しくレポートされません。

回避方法

なし。

リリース19c (19.1.0) — 2019年5月初期リリース

バグ27938481: パラレルReplicatでALLOWDUPTARGETMAPに異なるKEYCOLSが使用されている場合に、エラー・メッセージが生成されない

Oracle GoldenGateでは、非統合パラレルReplicatでサポートされない異なるKEYCOLSを指定したALLOWDUPTARGETMAPに対して、エラー・メッセージは生成されません。ALLOWDUPTARGETMAPは、統合パラレルReplicatおよび統合Replicatではサポートされません。異なるKEYCOLSを指定したALLOWDUPTARGETMAPがサポートされるのは、クラシックReplicatと調整Replicatです。

回避方法

なし。

バグ29761322 - Oracle: 18.1以降へのソフトウェアのアップグレード後、Extractによる12.2証跡形式への書込みで、マルチバイトCLOBのエンコーディングが正しくない

Extractでは、既存の証跡ファイル形式と同じ形式でマルチバイトのCLOBデータが証跡に書き込まれた場合、MBCS CLOBデータが不正なエンコーディングで書き込まれます。これが発生するのは、証跡ファイルの形式が12.2以前の場合、またはFORMAT RELEASEを使用して12.2より前の形式が指定された場合です。

回避方法

現在の証跡ファイルの形式が12.2で、マルチバイトのCLOBがある場合は、ソフトウェアのアップグレード後に明示的なETROLLOVERを実行します。

バグ25890033 - DB2 for i: マルチジャーナルのサポートの問題

DB2 for i上のExtractでは、単一のジャーナルから読み取ることを引き続きお薦めします。ただし、これには、ハートビートが有効である場合、レプリケーションに使用されているデータ・ジャーナルと同じジャーナルにハートビート表のジャーナルを記録する必要があるという副作用があります。

回避方法

ハートビート表でDELETE/ADD TRANDATAを使用して、適切なジャーナルへのジャーナルの記録を有効にすることをお薦めします。

バグ29778593 - DB2 LUW、DB2 for i、DB2 z/OS、Teradata: heartbeat lagコマンドで受信パスおよび送信パスが表示されない

heartbeat lagコマンドでは、受信パスおよび送信パスは表示されません。ただし、ハートビート表とハートビート履歴表には有効なデータが含まれています。

回避方法

なし。