3 既知の問題と回避方法

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

3.1 リリース21c (21.1.0) — 初期リリース2021年5月

バグ31677892: MySQL - 環境変数TZがMySQLデータベースのタイムゾーン設定と異なる場合、タイムスタンプ値がソースとターゲットで異なる

Oracle GoldenGateインストール・サーバーのタイムゾーンがソース・データベース・サーバーのタイムゾーンと一致しない場合、ターゲット・データベースに送信されるTIMESTAMPデータはソース・データベースのものと異なります。

Microservicesインストールの場合、タイムゾーンが同じであるかどうかに関係なく、ExtractはタイムゾーンをUTCに解決します。

回避方法

TZ変数値を、MySQLデータベースに設定されているタイムゾーン値と一致するように設定します。

Extractプロセスが拡張され、セッションの現在のタイムゾーンがレポートされるようになりました。また、MySQLのタイムスタンプがTZの正しい設定に依存するため、環境変数TZがデータベースのタイムゾーンと一致するように設定されていることを確認するメッセージも表示されます。

次の問合せを実行して、ソース・データベースのタイムゾーンを確認します。

select @@system_time_zone

これにより、PDTなどのタイムゾーン値が返されます。

Classic Architectureの場合、TZというOracle GoldenGateのセッション変数を作成し、データベースのタイムゾーン値と同じ値に設定します。

MAの場合、ソースExtractを含むデプロイメントにTZという新しい変数を作成し、それをソース・データベースのタイムゾーンの値に設定してから、実行中のOracle GoldenGateプロセスを停止し、Administration Serverを再起動してExtractおよびReplicatを起動します。

バグ31825720: MySQL - MAで、クライアント文字セットがデータベース文字セットと互換性がない場合、パラメータ化された入力を含むSQLEXECが失敗する

MAでは、SQLEXECがExtractパラメータ・ファイルのパラメータ化された入力で構成されている場合、データベースに一致するレコードが含まれていても、問合せでフェッチされたレコードがレポートされません。これは、クライアント文字セットがデータベース文字セットと一致しないために問合せ入力パラメータが記号に置き換えられ、レコードの一致が失敗するためです。

回避方法

GLOBALSファイルのデータベース文字セットと一致するようにクライアント文字セットを設定します。

バグ32595302: MySQL - Extractがエラー「ERROR OGG-00768 The data type (245) is not supported in SQLEXEC functionality」で異常終了する

SQLEXEC関数では、JSONデータ型の列は使用できません。

回避方法

なし。

バグ32795888: SQL Server - Azure SQL Database Managed InstanceのADD HEARTBEATTABLE機能でサポートされるのはターゲット構成のみ

Azure SQL Database Managed InstanceのADD HEARTBEATTABLE機能は、ターゲット構成のみをサポートし、ハートビート機能のソースとしては使用できません。ALTER HEARTBEATTABLE NOTARGETONLYもサポートされていません。

回避方法

なし。

バグ32817253: SQL Server - Azure Managed Instance SQL Serverエージェント・チェックでExtractがアクセス拒否により異常終了する

Azure SQL Database Managed Instanceに対してsysadmin権限を持つユーザーで構成されたExtractは、Access is Deniedエラーで異常終了します。

回避方法

Extractユーザーのsysadmin権限を削除し、アカウントをソース・データベース内のdb_ownerロールにのみ設定します。

バグ32203789: Admin ClientからCheckprmオプションがサポートされない

MicroservicesインストールのAdmin Clientからシェル・コマンドを実行する場合、ダッシュ2つ(--)の後のコマンド・オプションは無視されます。

回避方法

--オプションをバックスラッシュ\--でエスケープします。たとえば、次のようにします。

SHELL ./checkprm \--COMMAND EXTRACT