3 既知の問題と回避方法
この章では、リリース時点での既知の問題について説明します。
リリース19c (19.25.0.0.241015) — 2024年10月
バグ33834951 - Extractがエラー「CACHEMGR: filecaching: pthread_created failed: errno: 11 (Resource temporarily unavailable), after applying Jan 2022patch 33742666 (19.1.0.0.220118)」で異常終了する
19.1.0.0.220222リリースより前(リリース19.1.0.0.220118以下)に作成されたBounded Recoveryチェックポイントは、Oracle GoldenGateリリース19.1.0.0.220222以降にパッチを適用した後、Extractでは使用できません。その結果、Extractは、更新されたバージョンで2つ以上のBounded Recoveryチェックポイントが完了するまで、標準リカバリのみを使用できます。
回避方法
Oracle GoldenGateリリース19.1.0.0.220222以降にパッチを適用する前に、Extractが長時間実行のトランザクションなしで更新され、アーカイブ・ログがExtractの再起動位置で使用可能であることを確認してください。
リリース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.
回避方法
なし。
リリース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.
回避方法
-
問題のある表の自動増分列を操作している順序名を特定します。
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"
-
自動増分列のシード値のデフォルトの増分を特定します。
select increment from information_schema.sequences where sequence_name= 'fruits_id_seq' and sequence_schema='public';
-
次の問合せを使用して、自動増分列のシード値を変更します。
SELECT SETVAL('fruits_id_seq', (SELECT MAX(id) + increment FROM fruits));
-
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コマンドでは、受信パスおよび送信パスは表示されません。ただし、ハートビート表とハートビート履歴表には有効なデータが含まれています。
回避方法
なし。