バージョン 2.7(最新)の BigQuery Connector for SAP に関する問題のトラブルシューティングを行う場合は、SAP LT Replication Server アプリケーションのロギングと Google Cloud のログの両方を使用して、エラー メッセージとログメッセージを確認します。
BigQuery Connector for SAP は、すべてのエラーを標準の SAP LT Replication Server アプリケーション ログに送信します。
また、SAP LT Replication Server デバッグを使用して問題を特定することもできます。
トラブルシューティングの概要
BigQuery Connector for SAP の問題をトラブルシューティングする場合、調査する問題の領域や範囲に応じて注意を要する点がいくつかあります。
- ネットワーク、ハードウェア、オペレーティング システムなどのインフラストラクチャ。
- ソースサーバーや SAP LT Replication Server などの SAP ソフトウェア。
- BigQuery Connector for SAP。
- BigQuery(BigQuery API とターゲット テーブルを含む)。
適切なチームが参加する
問題のトラブルシューティングを行う場合は、まず、前述のどの領域で問題が発生しているのかと、その範囲を特定する必要があります。
問題を解決するために、Basis 管理者、SAP LT Replication Server 管理者、DBA、Google Cloud セキュリティ管理者など、複数のチームの協力が必要になることがあります。
適切なチームとスキルを早期に確保することで、問題をより迅速に解決できます。
根本原因を特定する
まず、問題の根本原因を突き止める必要があります。根本原因と思われる事象が他の場所で発生している根本原因の症状にすぎないということもあります。
SAP システムは緊密に統合されていますが、複数の異なる場所にあるファイルにログとトレースを書き込むことができます。トラブルシューティングを行う場合は、調査対象として適切なログとトレース ファイルを特定する必要があります。
ソフトウェアの要件と前提条件を確認する
すべてのシステム ソフトウェアが、必要な最小バージョンで動作し、すべての BigQuery Connector for SAP の前提条件を満たしていることを確認します。
BigQuery Connector for SAP のインストールの前提条件については、次をご覧ください。
SAP LT Replication Server が Compute Engine VM で実行されている場合は、前提条件をご覧ください。
SAP LT Replication Server が Google Cloud の外部のホストで実行されている場合は、前提条件をご覧ください。
BigQuery Connector for SAP のソフトウェア要件については、ソフトウェア要件をご覧ください。
古い ECC ソフトウェアを使用している場合は、SAP LT Replication Server のバージョンが ECC バージョンと互換性があることを確認します。詳細については、SAP Note 2577774 - Version compatibility for source and target systems - SLT をご覧ください。
SAP ソースシステムと SAP LT Replication Server には、ABAP ベースの移行およびレプリケーション技術に関する修正情報をすべて実装してください。詳細については、SAP Note 3016862 - DMIS Note Analyzers with separated scenarios for ABAP-based Migration and Replication Technology をご覧ください。
SAP のサポート ドキュメントを読む
SAP ユーザー アカウントがある場合は、SAP ONE Support Launchpad で入手できる SAP ノートと SAP ナレッジベース記事を参照することで、多くの SAP ソフトウェアの問題を解決できます。
ロギング
BigQuery Connector for SAP は、ログ メッセージを SAP LT Replication Server に送信します。これらのメッセージは、SAP LT Replication Server アプリケーション ログで確認できます。
このメッセージには、BigQuery Connector for SAP が BigQuery API から受信するメッセージが含まれています。
一般的な BigQuery ログ メッセージは Google Cloud コンソールで確認できます。
SAP LT Replication Server アプリケーション ログ
すべてのエラー メッセージは、標準の SAP LT Replication Server アプリケーション ログに保存されます。アプリケーション ログを確認して問題の根本原因を分析し、トラブルシューティングを行います。
トランザクション LTRC
を実行し、構成を開いて [Application Logs] を選択すると、SAP LT Replication Server 構成に固有のアプリケーション ログを表示できます。
ログが表示されたら、テーブルの行を選択します。ボタンをクリックすると、エラー メッセージが表示されます。レプリケーションの [Application Logs] タブをクリックすると、レプリケーションに関連するランタイム ログ メッセージをフィルタリングできます。
BigQuery Connector for SAP によって生成されたメッセージ
BigQuery にレコードが送信される前に BigQuery Connector for SAP で発生したエラーには、接頭辞 /GOOG/SLT
が付いています。
BigQuery API から返されたエラーには、/GOOG/MSG
という接頭辞が付いています。これには HTTP エラーが含まれます。
どちらの接頭辞も付いていないエラーは、SAP LT Replication Server によって発行されています。
BigQuery ログ
BigQuery は、さまざまなログエントリを Cloud Logging に書き込みます。これは、Google Cloud コンソールで確認できます。
BigQuery ログエントリを表示するには:
Google Cloud コンソールで Logging を開きます。
クエリエディタで BigQuery リソースを指定します。例:
resource.type="bigquery_dataset"
BigQuery ログの詳細については、ログをご覧ください。
HTTP トレース
エラーのトラブルシューティングでは、SMICM
または ST05
のトランザクションで HTTP トレースを有効にできます。
パフォーマンスへの影響を抑えるため、HTTP トレースを完了したら、可能な限り早い段階で無効にしてください。
デバッグ
必要な認可を取得している場合は、BigQuery Connector for SAP のビジネス アドイン(BAdI)コードをデバッグできます。
BAdI コードをデバッグするには:
BAdI コードのデバッグに必要な SAP の認可をまだ取得していない場合は、SAP 管理者にリクエストしてください。
SAP GUI のトランザクション エントリ フィールドに「
/h
」と入力し、Enter
を押してデバッグを有効にします。[Settings] メニューで、[Change Debugger Profile / Settings] を選択します。
[Debug Modes] で、[System Debugging] が選択されていることを確認します。
必要に応じて、コードに外部ブレークポイントを設定します。
モニタリング
SAP データソースからターゲット BigQuery テーブルへのデータパスに沿って、次のような複数のポイントをモニタリングできます。
- インフラストラクチャ - ネットワーク、ハードウェア、オペレーティング システム
- SAP データベース レイヤ
- SAP アプリケーション レイヤ
- BigQuery Connector for SAP
- BigQuery
各ポイントでのモニタリングの詳細については、BigQuery Connector for SAP オペレーション ガイドをご覧ください。
データ調整
レコード数は、次の 3 つのポイントで確認できます。
- ソーステーブル。
- トランザクション
LTRC
内の SAP LT Replication Server の負荷またはレプリケーションの統計情報 - BigQuery ターゲット テーブル
Replication Validation ツールを使用すると、レコード数を確認して比較できます。また、SQL クエリを実行してレコードを自身で取得することもできます。
データ調整の詳細については、BigQuery Connector for SAP オペレーション ガイドをご覧ください。
構成に関する一般的な問題
このセクションでは、BigQuery Connector for SAP の初期設定と構成中に発生する可能性のある一般的な問題の解決策について説明します。
データベースのデータ型に対する SAP LT Replication Server のサポート
SAP ソフトウェアのバージョンによっては、SAP LT Replication Server がソース データベース内の一部のデータ型をサポートしていない場合があります。詳細については、SAP Note 1605140 - SAP Landscape Transformation Replication Server(SLT)で重要な考慮事項をご覧ください。
問題: SAP LT Replication Server でアクセス トークンの OS コマンドが機能しない
問題: アクセス トークンを出力するオペレーティング システム(OS)コマンドを作成しましたが、SAP LT Replication Server で機能しない。
原因: この問題は複数の問題が原因で発生する可能性がありますが、OS コマンドに必要な環境変数が正しく構成されていないことが原因である可能性が最も高いと考えられます。
解決策: OS コマンドが正しく構成されていることを確認します。
printenv
コマンドを OS(SID_LCadm
として)と SAP トランザクション SM69
の両方から実行して、出力を比較します。トランザクション SM69
で返された変数が不完全な場合は、SAP LT Replication Server を再起動して変数を登録してください。
問題: /GOOG/MSG: 400 - Bad Request Request contains an invalid argument
問題: エラー メッセージ /GOOG/MSG: 400 - Bad
Request Request contains an invalid argument
が表示されてデータ転送が失敗する。
原因: Google Cloud で実行されている SAP ワークロードについて、クライアント キー テーブル /GOOG/CLIENT_KEY
に使用されているアクセス スコープが無効です。
解決策: この問題を解決するには、次の手順を完了します。
SAP GUI で、
/n
で始まる/GOOG/SLT_SETTINGS
トランザクションを入力します。/n/GOOG/SLT_SETTINGS
トランザクション
LTRC
で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。トランザクション
SM30
を入力してから、テーブル/GOOG/CLIENT_KEY
を開きます。前の手順でメモした Google Cloud Key Name の値について、[Scope] フィールドの値が
/GOOG/CLIENT_KEY
にアクセス設定を指定するに記載のアクセス スコープと一致していることを確認します。フィールドには、スペースを入力しないでください。レプリケーションを再実行します。
問題: /GOOG/MSG : 400 - ICM_HTTP_CONNECTION_FAILED
問題: エラー メッセージ /GOOG/MSG : 400 - ICM_HTTP_CONNECTION_FAILED
が表示されてデータ転送が失敗する。
原因: BigQuery Connector for SAP が Google Cloud APIs への接続で使用する RFC 宛先で、[Path Prefix] フィールドまたは [Target Host] フィールドの値が正しくありません。
解決策: この問題を解決するには、次の手順を完了します。
SAP GUI で、
/n
で始まる/GOOG/SLT_SETTINGS
トランザクションを入力します。/n/GOOG/SLT_SETTINGS
トランザクション
LTRC
で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。トランザクション
SM30
を入力してから、テーブル/GOOG/SERVIC_MAP
を開きます。前の手順でメモした Google Cloud Key Name の値について、RFC 宛先名をメモします。
トランザクション
SM59
を入力し、次の手順を完了します。BigQuery に接続する RFC 宛先について、[Path Prefix] フィールドの値が
/bigquery/v2/
であることを確認します。BigQuery に接続する RFC 宛先について、[Target Host] フィールドの値が
bigquery.googleapis.com
であることを確認します。IAM に接続する RFC 宛先について、[Path Prefix] フィールドの値が
/v1/
であることを確認します。IAM に接続する RFC 宛先について、[Target Host] フィールドの値が
iamcredentials.googleapis.com
であることを確認します。
レプリケーションまたは初期読み込みを再実行します。
問題: /GOOG/MSG : 401 - Unauthorized Request is missing required authentication credential. Expected OAuth 2 access to ken, login coo
問題: エラー メッセージ /GOOG/MSG : 401 -
Unauthorized Request is missing required authentication credential. Expected
OAuth 2 access to ken, login coo
が表示されてデータ転送が失敗する。
原因: HTTP ポート構成がありません。
解決策: SAP システムで HTTP ポートと HTTPS ポートの両方を作成し、アクティブにする必要があります。
VM メタデータは、HTTP ポート経由でのみアクセス可能なメタデータ サーバーに保存されます。そのため、VM メタデータにアクセスするには、HTTP ポートと HTTPS ポートが作成されてアクティブであることを確認する必要があります。
この問題を解決するには、次の操作を行います。
SAP GUI で、トランザクション コード
SMICM
を入力します。メニューバーで、[Goto] > [Services] をクリックします。
HTTP ポートと HTTPS ポートが作成され、アクティブであることを確認します。[Actv] 列の緑色のチェックマークは、HTTP ポートと HTTPS ポートが有効になっていることを示します。
レプリケーションを再実行します。
HTTP ポートと HTTPS ポートの構成については、ICM の HTTP(S) 設定をご覧ください。
問題: /GOOG/MSG : 401 - ICM_HTTP_CONNECTION_BROKEN
問題: 初期読み込みまたはレプリケーション中に、LTRC トランザクションでデータ転送が失敗し、エラー メッセージ /GOOG/MSG : 401 - ICM_HTTP_CONNECTION_BROKEN
が表示される。
原因: Google Cloud で実行されている SAP ワークロードについて、BigQuery Connector for SAP が Google Cloud APIs への接続で使用する RFC 宛先で SSL が有効になっていません。
解決策: この問題を解決するには、次の手順を完了します。
SAP GUI で、
/n
で始まる/GOOG/SLT_SETTINGS
トランザクションを入力します。/n/GOOG/SLT_SETTINGS
トランザクション
LTRC
で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。トランザクション
SM30
を入力してから、テーブル/GOOG/SERVIC_MAP
を開きます。前の手順でメモした Google Cloud Key Name の値について、RFC 宛先名をメモします。
トランザクション
SM59
を入力し、前の手順でメモした RFC 宛先について、次の操作を行います。[Logon and Security] タブに移動します。
[SSL Certificate] フィールドで、[DFAULT SSL Client (Standard)] オプションが選択されていることを確認します。
[Service No.] フィールドに値
443
が指定されていることを確認します。
レプリケーションを再実行します。
問題: /GOOG/MSG: 110 - HTTPIO_PLG_CANCELED
問題: 初期読み込みまたはレプリケーション中に、LTRC トランザクションでデータ転送が失敗し、エラー メッセージ /GOOG/MSG: 110 - HTTPIO_PLG_CANCELED
が表示される。
原因: HTTP ポート構成がありません。
解決策: SAP システムで HTTP ポートと HTTPS ポートの両方を作成し、アクティブにする必要があります。
VM メタデータは、HTTP ポート経由でのみアクセス可能なメタデータ サーバーに保存されます。そのため、VM メタデータにアクセスするには、HTTP ポートと HTTPS ポートが作成されてアクティブであることを確認する必要があります。
この問題を解決するには、次の操作を行います。
SAP GUI で、トランザクション コード
SMICM
を入力します。メニューバーで、[Goto] > [Services] をクリックします。
HTTP ポートと HTTPS ポートが作成され、アクティブであることを確認します。[Actv] 列の緑色のチェックマークは、HTTP ポートと HTTPS ポートが有効になっていることを示します。
レプリケーションを再実行します。
HTTP ポートと HTTPS ポートの構成については、ICM の HTTP(S) 設定をご覧ください。
問題: /GOOG/MSG: 403 - SSL is required to perform this operation
問題: エラー メッセージ /GOOG/MSG: 403 - SSL is
required to perform this operation
が表示されてデータ転送が失敗する。
原因: Google Cloud で実行されている SAP ワークロードについて、BigQuery Connector for SAP が Google Cloud APIs への接続で使用する RFC 宛先で SSL が有効になっていません。
解決策: この問題を解決するには、次の手順を完了します。
SAP GUI で、
/n
で始まる/GOOG/SLT_SETTINGS
トランザクションを入力します。/n/GOOG/SLT_SETTINGS
トランザクション
LTRC
で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。トランザクション
SM30
を入力してから、テーブル/GOOG/SERVIC_MAP
を開きます。前の手順でメモした Google Cloud Key Name の値について、RFC 宛先名をメモします。
トランザクション
SM59
を入力し、前の手順でメモした RFC 宛先について、次の操作を行います。[Logon and Security] タブに移動します。
[SSL Certificate] フィールドで、[DFAULT SSL Client (Standard)] オプションが選択されていることを確認します。
[Service No.] フィールドに値
443
が指定されていることを確認します。
レプリケーションを再実行します。
問題: /GOOG/MSG: 403 - Request had insufficient authentication scopes
問題: エラー メッセージ /GOOG/MSG: 403 - Request
had insufficient authentication scopes
が表示されてデータ転送が失敗する。
原因: Google Cloud で実行されている SAP ワークロードについて、テーブル /GOOG/CLIENT_KEY
で、指定されたサービス アカウントに BigQuery へのアクセスに必要なスコープがありません。
解決策: この問題を解決するには、次の手順を完了します。
SAP GUI で、
/n
で始まる/GOOG/SLT_SETTINGS
トランザクションを入力します。/n/GOOG/SLT_SETTINGS
トランザクション
LTRC
で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。トランザクション
SM30
を入力してから、テーブル/GOOG/CLIENT_KEY
を開きます。前の手順でメモした Google Cloud Key Name の値について、[Service Account Name] フィールドに指定された値が
default
であることを確認します。Google Cloud コンソールで、Compute Engine の [VM インスタンス] ページに移動します。
SAP LT Replication Server をホストする VM インスタンスをクリックします。
[停止] をクリックし、指示に従って VM インスタンスを停止します。
[編集] をクリックし、サービス アカウントの [アクセス スコープ] を編集して BigQuery へのアクセスを有効にしてから、[保存] をクリックします。
[開始 / 再開] をクリックして VM インスタンスを再起動します。
SAP LT Replication Server が実行されていることを確認します。
レプリケーションを再実行します。
問題: /GOOG/MSG: 403 - Access Denied: Dataset PROJECT_ID:DATASET_NAME: Permission bigquery.tables.created denied on dataset
問題: エラー メッセージ /GOOG/MSG: 403 -
Access Denied: Dataset PROJECT_ID:DATASET_NAME: Permission
bigquery.tables.created denied on dataset
が表示されてデータ転送が失敗する。
原因: Google Cloud で実行されている SAP ワークロードについて、テーブル /GOOG/CLIENT_KEY
で、指定されたサービス アカウントに BigQuery API へのアクセスに必要な権限がありません。
解決策: この問題を解決するには、次の手順を完了します。
SAP GUI で、
/n
で始まる/GOOG/SLT_SETTINGS
トランザクションを入力します。/n/GOOG/SLT_SETTINGS
トランザクション
LTRC
で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。トランザクション
SM30
を入力してから、テーブル/GOOG/CLIENT_KEY
を開きます。前の手順でメモした Google Cloud Key Name の値について、[Service Account Name] フィールドに指定された値をメモします。
Google Cloud コンソールで、Identity and Access Management の [サービス アカウント] ページに移動します。
前の手順でメモしたサービス アカウントを選択します。
Google Cloud Identity and Access Management の説明のとおりに、BigQuery Connector for SAP が BigQuery にアクセスするために必要な IAM ロールがサービス アカウントにあることを確認します。
レプリケーションを再実行します。
問題: /GOOG/MSG: 404 - Not Found
問題: エラー メッセージ /GOOG/MSG: 404 - Not
Found
が表示されてデータ転送が失敗する。
原因: BigQuery Connector for SAP が Google Cloud APIs への接続で使用する RFC 宛先で、パス プレフィックスが無効です。
解決策: この問題を解決するには、次の手順を完了します。
SAP GUI で、
/n
で始まる/GOOG/SLT_SETTINGS
トランザクションを入力します。/n/GOOG/SLT_SETTINGS
トランザクション
LTRC
で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。トランザクション
SM30
を入力してから、テーブル/GOOG/SERVIC_MAP
を開きます。前の手順でメモした Google Cloud Key Name の値について、RFC 宛先名をメモします。
トランザクション
SM59
を入力し、次の手順を完了します。- BigQuery に接続する RFC 宛先について、[Path Prefix] フィールドの値が
/bigquery/v2/
であることを確認します。 - IAM に接続する RFC 宛先について、[Path Prefix] フィールドの値が
/v1/
であることを確認します。
- BigQuery に接続する RFC 宛先について、[Path Prefix] フィールドの値が
レプリケーションを再実行します。
問題: /GOOG/MSG: 404 - Table PROJECT_ID:DATASET_NAME.TABLE_NAME not found
問題: エラー メッセージ /GOOG/MSG: 404 -
Table PROJECT_ID:DATASET_NAME.TABLE_NAME not
found
が表示されてデータ転送が失敗する。
原因: BigQuery Connector for SAP が Google Cloud APIs への接続で使用する RFC 宛先で、[Target Host] フィールドに指定した値が、Cloud DNS のいずれの DNS 名とも一致しません。
解決策: この問題を解決するには、次の手順を完了します。
SAP GUI で、トランザクション コード
SE38
を入力して、レポート/GOOG/R_SLT_SETTINGS
を開きます。実行された
LTRC
トランザクションについて、一括転送 ID を開き、[Google Cloud Key Name] 列の値をメモします。トランザクション
SM30
を入力してから、表示モードでテーブル/GOOG/CLIENT_KEY
を開きます。前の手順でメモした Google Cloud Key Name を使用してテーブル
/GOOG/SERVIC_MAP
を検索し、指定された RFC 宛先名をメモします。トランザクション コード
SM59
を入力します。BigQuery と IAM API への接続に使用する RFC 宛先について、[Target Host] フィールドの値をメモします。
Google Cloud コンソールで、ネットワーク サービスの [Cloud DNS] ページに移動します。
BigQuery Connector for SAP が BigQuery と IAM API にプライベート接続できるように作成した Private Service Connect エンドポイントの DNS レコードを含む限定公開ゾーンをクリックします。
前の手順でメモしたターゲット ホストの値ごとに、一致する DNS 名がある DNS レコードがあることを確認します。
レプリケーションを再実行します。
問題: /GOOG/MSG: 404 - Not Found Requested entity was not found
問題: エラー メッセージ /GOOG/MSG: 404 - Not Found Requested entity was not found
が表示されてデータ転送が失敗する。
原因: Google Cloud で実行されているワークロードについて、クライアント キー テーブル /GOOG/CLIENT_KEY
で使用されているサービス アカウントが無効です。
解決策: この問題を解決するには、次の手順を完了します。
SAP GUI で、
/n
で始まる/GOOG/SLT_SETTINGS
トランザクションを入力します。/n/GOOG/SLT_SETTINGS
トランザクション
LTRC
で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。トランザクション
SM30
を入力してから、テーブル/GOOG/CLIENT_KEY
を開きます。Service Account Name フィールドに、サービス アカウントを作成するの手順で BigQuery Connector for SAP 用に作成されたサービス アカウントのメールアドレスが指定されていることを確認します。
レプリケーションを再実行します。
問題: /GOOG/MSG: 418
- データ移転が失敗し、SAP からのエラー メッセージが表示される
問題: SAP からのエラー メッセージ(No OS command defined for the key
など)が表示されてデータ転送が失敗する。
原因: Google Cloud で実行されていない SAP ワークロードについて、この問題は次のような状況で発生します。
アクセス トークンを出力する OS コマンドが正しく構成されていない
原因: この問題は、次のような状況で発生する可能性があります。
アクセス トークンを出力するオペレーティング システム(OS)コマンドを作成したが、それをクライアント キー テーブル
/GOOG/CLIENT_KEY
のアクセス設定に追加していない。トランザクション
SM69
で作成した OS コマンドが Google Cloud からアクセス トークンを取得できなかった。
解決策: クライアント キー テーブル /GOOG/CLIENT_KEY
の [Command name] フィールドで、入力した値が、アクセス トークンを出力するために作成したコマンドの名前と一致していることを確認します。
RFC が正しく構成されていない
原因: Google Cloud で実行されている SAP ワークロードについて、BigQuery Connector for SAP が Google Cloud APIs への接続で使用する RFC 宛先で、[Target Host] フィールドに正しい値が設定されていません。
解決策: この問題を解決するには:
SAP GUI で、トランザクション
SE38
を入力して、レポート/GOOG/R_SLT_SETTINGS
を開きます。実行された
LTRC
トランザクションについて、一括転送 ID を開き、[Google Cloud Key Name] の値をメモします。トランザクション
SM30
を入力してから、表示モードでテーブル/GOOG/CLIENT_KEY
を開きます。前の手順でメモした Google Cloud Key Name を使用してテーブル
/GOOG/SERVIC_MAP
を検索し、指定された RFC 宛先名をメモします。トランザクション コード
SM59
を入力し、前の手順でメモした RFC 宛先を開きます。[Target Host] フィールドで、指定された URL を修正します。
レプリケーションを再実行します。
問題: /GOOG/MSG: 413 - Request Entity Too Large
問題: エラー メッセージ /GOOG/MSG: 413 - Request
Entity Too Large
が表示されてデータ転送が失敗する。
原因: この問題は、BigQuery Connector for SAP によって送信されたチャンクのバイトサイズが、BigQuery が受け入れる HTTP リクエストの最大バイトサイズを超えた場合に発生します。この問題は、テーブル レコードのサイズまたはレコードに含まれるデータの量が原因で、チャンクのバイトサイズが BigQuery の上限を超えた場合に発生する可能性があります。
解決策: BigQuery Connector for SAP によってテーブルに送信されるチャンクのサイズを縮小します。チャンクサイズは、トランザクション /GOOG/SLT_SETTINGS
を実行して調整できます。また、動的チャンクサイズを有効にしてチャンクサイズを自動的に調整することもできます。詳しくは以下をご覧ください。
問題: /GOOG/MSG: 503 - HTTP Communication Failure - SSL client SSL Client (Standard)
問題: エラー メッセージ /GOOG/MSG: 503 - HTTP
Communication Failure - SSL client SSL Client (Standard)
が表示されてデータ転送が失敗する。
原因: Google Cloud で実行されている SAP ワークロードについて、BigQuery Connector for SAP が Google Cloud APIs への接続で使用する RFC 宛先で、[Target Host] フィールドに正しい値が設定されていません。
解決策: この問題を解決するには、RFC が正しく構成されていないの解決手順をご覧ください。
問題: /GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the request sending
問題: エラー メッセージ /GOOG/MSG: 503 - HTTP
Communication Failure exception occurred during the request sending
が表示されてデータ転送が失敗する。
原因: この問題は、接続またはネットワークの問題が原因で発生する可能性があります。
解決策: 接続を検証し、ネットワークが正しく設定され、エラーなしで実行され、輻輳していないことを確認します。
問題: /GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the response receiving
問題: エラー メッセージ /GOOG/MSG: 503 - HTTP
Communication Failure exception occurred during the response receiving
が表示されてデータ転送が失敗する。
この問題は、次のような状況で発生する可能性があります。
RFC 宛先で SSL が有効になっていない
原因: BigQuery Connector for SAP が Google Cloud APIs への接続で使用する RFC 宛先で、SSL 証明書を使用するためのセキュリティ オプションが有効になっていません。
解決策: この問題を解決するには、問題: /GOOG/MSG: 403
- このオペレーションを行うには SSL が必要の解決手順をご覧ください。
SSL handshake に失敗した
原因: SAP LT Replication Server ホストと BigQuery API エンドポイントの間で SSL handshake が失敗することで発生します。これは、TLS サーバーによって提示された証明書が、SAP LT Replication Server から提供されるターゲット ホスト名に対して無効である場合に発生します。オプションの TLS 拡張機能 SNI のクライアント側送信が NetWeaver カーネル上に実装されていないことが原因である可能性があります。
解決策: トランザクション SMICM
で、戻りコード SSLERR_SERVER_CERT_MISMATCH
を探します。戻りコード SSLERR_SERVER_CERT_MISMATCH
が見つかった場合は、TLS 拡張機能 SNI の送信を有効にする必要があります。また、NetWeaver カーネルが、クライアント側でオプションの TLS 拡張 SNI の送信を実装していることを確認します。
TLS 拡張 SNI の送信を有効にするには、NetWeaver のカーネル バージョンに応じて、プロファイル パラメータ icm/HTTPS/client_sni_enabled
または ssl/client_sni_enabled
を TRUE
に設定します。SAP からの詳細情報については、以下をご覧ください。
- SAP Note 510007 - Additional considerations for setting up SSL on Application Server ABAP
- SAP Note 2582368 - SapSSL update for client-side sending of TLS extension SNI by saphttp, sapkprotp
- SAP Note 2124480 - ICM / Web Dispatcher: TLS Extension Server Name Indication (SNI) as client
チャンクのバイトサイズが、BigQuery が受け入れ可能な HTTP リクエストの最大バイトサイズを超えている
原因: BigQuery Connector for SAP によって送信されたチャンクのバイトサイズが、BigQuery で受け入れ可能な HTTP リクエストの最大バイトサイズを超えた場合に発生します。この問題は、テーブル レコードのサイズまたはレコードに含まれるデータの量が原因で、チャンクのバイトサイズが BigQuery の上限を超えた場合に発生する可能性があります。
解決策: BigQuery Connector for SAP によってこのテーブルに送信されるチャンクのサイズを縮小します。チャンクサイズは、トランザクション /GOOG/SLT_SETTINGS
を実行して調整できます。また、動的チャンクサイズを有効にしてチャンクサイズを自動的に調整することもできます。詳しくは以下をご覧ください。
問題: /GOOG/MSG: 404 - Not found: Dataset DATASET_NAME
問題: Google Cloud セキュリティの検証または BigQuery テーブルへのデータの読み込みを試行すると、/GOOG/MSG: 404 - Not found: Dataset DATASET_NAME
というメッセージが表示される。
原因: この問題は、次のような状況で発生する可能性があります。
- BigQuery データセットがまだ作成されていない。
- データセット名が、一括転送の構成で正しく指定されていない。
- SAP LT Replication Server のレプリケーション構成が有効になっていない。
解決策: 次の解決策を試します。
- BigQuery にデータセットが作成されていることを確認します。
- 一括転送構成のデータセット名が BigQuery のデータセット名と一致していることを確認します。
LTRC
トランザクションを実行し、レプリケーション構成を無効にして再度有効にします。
問題: Mass Transfer Key can not be found for Mass Transfer ID XXX
問題: エラー /GOOG/SLT: Mass Transfer Key can not
be found for Mass Transfer ID XXX
が表示される。
原因: この問題は、次のような状況で発生する可能性があります。
- 指定された一括転送 ID に一括転送構成が存在しない。
- 対応するレプリケーション構成がアクティブでない。
解決策: この問題を解決するには、次のいずれかを行います。
/GOOG/SLT_SETTINGS
トランザクションを実行して、一括転送 ID が正しく指定されていることを確認します。LTRC
トランザクションを実行し、レプリケーション構成を無効にして再度有効にします。
問題: /GOOG/SLT : Unable to interpret VALUE as a BOOLEAN
問題: レコードの読み込みまたはレプリケーションが失敗し、/GOOG/SLT : Unable to interpret VALUE as a BOOLEAN
というメッセージが表示される。
原因: この問題は、ソーステーブルのフィールドが BigQuery データ型 BOOLEAN
にマッピングされているときに、ソース フィールドのデータがブール値に解決されない場合に発生します。
解決策: 問題を解決するには、トランザクション /GOOG/SLT_SETTINGS を使用して、ソース フィールドがマッピングされているデータ型を変更するか、データ型マッピングを削除してデフォルトのデータ型を受け入れます。
問題: /GOOG/SLT: Failed to convert field SAP_FIELD_NAME value to field BIGQUERY_FIELD_NAME: ERROR_DETAILS
問題: レコードの読み込みまたはレプリケーションが失敗し、/GOOG/SLT: Failed to convert field SAP_FIELD_NAME value
to field BIGQUERY_FIELD_NAME: ERROR_DETAILS
というメッセージが表示される。
原因: ソース フィールドに無効な値が含まれています。あるいは、ソース フィールドに含まれているデータに対して有効なマッピングではない BigQuery データ型にソース フィールドがマッピングされています。
解決策: この問題を解決するには、トランザクション /GOOG/SLT_SETTINGS
を使用して、ソース フィールドがマッピングされているデータ型を変更するか、データ型マッピングを削除して、データ型のデフォルトのマッピングを受け入れます。
問題: /GOOG/MSG : Client key is not found in /GOOG/CLIENT_KEY table
問題: 読み込みまたはレプリケーションが開始せず、/GOOG/MSG:
Client key is not found in /GOOG/CLIENT_KEY table
というメッセージが表示される。
原因: クライアント キーが存在しないか、トランザクション /GOOG/SLT_SETTINGS
の一括転送の構成で誤って指定されています。
解決策: この問題を解決するには、トランザクション SM30
を使用してクライアント キーを作成するか、トランザクション /GOOG/SLT_SETTINGS
を使用して一括転送の構成でクライアント キー値の指定を修正します。
問題: /GOOG/MSG: DESCRIPTION_OF_ISSUE error occurred in chunk ranging START_INDEX_OF_FAILED_CHUNK - END_INDEX_OF_FAILED_CHUNK
問題: チャンクのレプリケーションがエラー メッセージ /GOOG/MSG: DESCRIPTION_OF_ISSUE error occurred in chunk
ranging START_INDEX_OF_FAILED_CHUNK -
END_INDEX_OF_FAILED_CHUNK
で失敗する。
原因: Invalid JSON Payload
、Quota Exceeded
、Request Entity Too Large
、HTTP Communication Failure
など、複数の原因が考えられます。BigQuery へのレプリケーションに失敗したチャンクのエラー メッセージが、チャンクの開始インデックスと終了インデックスとともに表示されます。
このエラー メッセージは、トランザクション /GOOG/SLT_SETTINGS
で BREAK
フラグを設定していない場合に表示されます。BREAK
フラグが設定されていない場合、BigQuery Connector for SAP は、エラーが発生した場合でも次のチャンクを送信して、BigQuery にレコードを送信します。
解決策: 次の解決策を試します。
Quota Exceeded
、Request Entity Too Large
、HTTP Communication Failure
の問題の場合は、適切なトラブルシューティング手順に実施します。現在の読み込みを停止し、BigQuery からターゲット テーブルを削除してから、新しい読み込みを再開します。
チャンクにエラーが発生したときに、BigQuery へのデータの送信を停止してレプリケーション ジョブを停止するには、本番環境で推奨されている
BREAK
フラグを設定します。BREAK
フラグの構成については、以下をご覧ください。- SAP LT Replication Server が Compute Engine VM で実行されている場合は、テーブル作成とその他の一般的な属性を指定するをご覧ください。
- SAP LT Replication Server が、Google Cloud の外部のホストで実行されている場合は、テーブル作成とその他の一般的な属性を指定するをご覧ください。
問題: DESCRIPTION_OF_ISSUE while signing JWT using profile KEY_FILE_NAME.pse. Check JWT config in STRUST
STRUST
問題: エラー DESCRIPTION_OF_ISSUE while
signing JWT using profile KEY_FILE_NAME .pse. Check JWT config in
が表示される。STRUST
原因: JWT の構成とサービス アカウント キーの設定が STRUST
で正しく構成されていません。
解決策: JWT の構成とサービス アカウント キーが、JWT を使用してアクセス トークンを取得する認証の説明のように構成されていることを確認します。
問題: Bad Request invalid_grant. Invalid JWT Signature
問題: エラー Bad Request invalid_grant.
Invalid JWT Signature
が表示される。
原因: STRUST
にインポートされた PSE または P12 鍵ファイルが、JWT の署名に使用したサービス アカウントに属していません。
解決策: 正しいサービス アカウント キーファイルを STRUST
にインポートします。サービス アカウント キーを STRUST
にインポートする方法については、サービス アカウント キーを STRUST にインポートするをご覧ください。
問題: /GOOG/MSG : 400 - Bad Request invalid_grant Invalid grant: account not found
問題: Google Cloud APIs に接続できない。
原因: JWT 署名に使用されているサービス アカウントが正しくないか、必要な権限がありません。
解決策: JWT ベースのトークン取得用に指定したサービス アカウントが、テーブル /GOOG/BQ_PARAM
のパラメータ JWT_SERVC_ACCT
で正しく維持されていることを確認します。詳細については、SAP LT Replication Server ホストでサービス アカウントの JWT 署名を有効にするをご覧ください。
問題: OAuth RFC HTTP Destination not maintained in /GOOG/SERVIC_MAP
/GOOG/SERVIC_MAP
問題: エラー OAuth RFC HTTP Destination not maintained
in
が表示される。/GOOG/SERVIC_MAP
原因: OAuth 2.0 の RFC 宛先がサービス マッピング テーブル /GOOG/SERVIC_MAP
で使用できません。
解決策: サービス マッピング テーブル /GOOG/SERVIC_MAP
で OAuth 2.0 の RFC 宛先を更新し、読み込みを再実行します。RFC 宛先の指定について詳しくは、/GOOG/SERVIC_MAP
で RFC 宛先を指定するをご覧ください。
問題: ログオン言語が英語以外で、CSV ファイルを使用してデータをアップロードすると、フィールドの説明が文字化けする
問題: ログオン言語が英語以外で、ファイル アップロード オプションを使用して BigQuery ターゲット テーブルのフィールドのタイプと説明を CSV ファイルからアップロードすると、正しくアップロードされません。アップロードした説明文の文字や記号が文字化けします。
原因: ログオン言語が英語以外の場合、ファイル アップロード ユーティリティは CSV ファイルの文字を正確に解釈できません。
解決策: BigQuery ターゲット テーブルのフィールドのタイプと説明を英語以外の言語でアップロードするには、CSV ファイルをバイト オーダー マーク(BOM)付きの UTF-8 エンコード形式にします。CSV ファイルを BOM 付きの UTF-8 形式で保存し、ファイルをアップロードします。
オペレーションに関する一般的な問題
このセクションでは、BigQuery Connector for SAP の初期設定後に発生する可能性がある一般的な問題の解決策について説明します。
問題: SAP の空のソーステーブルが BigQuery データセットに作成されない
問題: SAP の空のソーステーブルが BigQuery データセットに作成されない。
原因: SAP の空のソーステーブルの場合、SAP SLT により BigQuery でターゲット テーブルを作成できません。
解決策: SAP で空のソーステーブルの BigQuery データセットにターゲット テーブルを作成するには、テーブル作成ツールを使用します。テーブル作成ツールの実行方法については、テーブル作成ツールをご覧ください。
問題: BigQuery の書き込み数が正しくない
問題: BigQuery に書き込まれるレコードの数が、SAP LT Replication Server のログに表示されるレコードの数よりも多くなっています。
原因: 複数の原因が考えられます。たとえば、一時的な接続の問題で SAP LT Replication Server がレコードを複数回送信している可能性があります。また、BigQuery テーブルが挿入のみを受け入れるため、ソース内の単一レコードに対する各変更がターゲット テーブルで個別のエントリとして挿入されている可能性もあります。
解決策: レコード数の違いが極端でなく、BigQuery のレコード数がソーステーブルのレコード数を下回らない場合、これは想定された動作であり、問題ではありません。
BigQuery のレコード数とソーステーブルのレコード数を正確に調整するには、レコード数の SQL クエリで説明されているように、BigQuery テーブルをクエリしてください。
この問題の原因として考えられるものについては、HANA 上の ABAP ソース / ターゲットの特別な考慮事項をご覧ください。
問題: /GOOG/MSG : 400 - Schema mismatch for table TABLE_NAME
問題: エラー メッセージ /GOOG/MSG : 400 - Schema mismatch
for table TABLE_NAME. Please delete the table from BigQuery and
try again.
が表示される。
原因: 既存の BigQuery テーブルに次のいずれかの変更が行われています。
- フィールドの削除
- フィールド名の変更
- フィールドのデータ型の変更
- テーブルのパーティション タイプの変更
これらの変更を既存の BigQuery テーブルに適用することはできません。
解決策: 既存のテーブル内のいずれかのフィールド属性を変更する必要がある場合は、既存のテーブルを削除し、レコードを新しいテーブルに再度読み込む必要があります。
変更が誤っている場合は、SAP LT Replication Server の変更を元に戻します。
ターゲット BigQuery テーブルのフィールドとパーティションの構成方法については、BigQuery のレプリケーション構成をご覧ください。
問題: 無効なデータに関連するエラー メッセージ
問題: アプリケーション ログに次のようなエラー メッセージが記録されます。/GOOG/MSG/: DESCRIPTION_OF_INVALID_DATA error
occurred in FIELD_NAME in record
RECORD_KEYS
原因: 無効なデータを含むレコードがターゲット テーブルに挿入されると、BigQuery がこのエラー メッセージを発行します。データが無効になる理由には、次のようなものがあります。
- 特定のレコードのフィールド内のデータが、BigQuery のデータ型と互換性がない。たとえば、BigQuery は次の場合にエラー メッセージを生成します。
- 文字列が指定されているフィールドの型が
DATE
、INTEGER
、BOOLEAN
のいずれかである。 DATE
型のフィールドに無効な日付(00/00/0000
)が指定されている。
- 文字列が指定されているフィールドの型が
- トランザクション
/GOOG/SLT_SETTINGS
のフィールド マッピングに指定されているターゲットのデータ型が正しくない。
BigQuery は、無効なデータが指定されているフィールドを含むレコードごとにエラー メッセージを発行します。
解決策: エラー メッセージ DESCRIPTION_OF_INVALID_DATA
を分析して、無効なデータの原因を特定します。無効なデータが指定されているフィールドを含むレコードを特定するには、RECORD_KEYS
を使用します。これには、レコードの最初の 5 つのフィールドの内容が含まれます。テーブルのフィールドが 5 つ以下の場合、RECORD_KEYS
にはすべてのフィールドの内容が含まれます。
- フィールド内のデータが BigQuery のデータ型と互換性がない場合は、ソーステーブルのデータを修正します。
- データとデータ型の不一致が原因でエラーが発生した場合は、トランザクション
/GOOG/SLT_SETTINGS
を使用して適切なデータ型を指定します。データ型マッピングの詳細については、データ型マッピングをご覧ください。
問題: トランザクション SE16
または SE16N
に表示されるフィールドの値が、BigQuery に表示される値と異なる
問題: トランザクション SE16
または SE16N
に表示されるフィールドの値が BigQuery に表示される値と異なる場合があります。
原因: SAP S/4HANA ソースシステムでは、MARD
、MARC
、MBEW
、MBEWH
などのテーブルに、トランザクション SE16
または SE16N
の値を表示する互換性ビューがあります。このようなテーブルの場合、トランザクション SE16
または SE16N
に表示される値は、結合条件(基になる他のいくつかのテーブル)を使用して互換性ビュー内で計算されます。
BigQuery へのレプリケーション用に、互換性ビューを含むテーブルが SLT で構成されている場合、SLT は互換性ビューからデータをレプリケートしません。代わりに、SLT は基になる各テーブルからデータを個別にレプリケートするため、一部のフィールドの SE16
または SE16N
は、BigQuery で表示されている内容と異なる値になります。これは標準的な SLT の動作です。
解決策: この問題を解決するには、次の手順を完了します。
- SAP GUI で、トランザクション コード
LTRS
を入力します。 - BigQuery レプリケーションの大量転送設定を選択します。
- [Advanced Replication Settings] > [Table Settings] に移動します。
- 互換性ビューを使用するテーブルを選択します。必要なテーブルが表示されていない場合は、テーブルを追加します。
[Processing Settings] セクションで、次のフィールドに値を入力します。
- View for Initial Load:
SE16
またはSE16N
のテーブルの互換性ビューの値。 - View for Replication:
SE16
またはSE16N
のテーブルの互換性ビューの値。
- View for Initial Load:
設定を保存します。
または、互換性ビューの基となるすべてのテーブルを BigQuery に複製します。BigQuery で、互換性ビューと同じ結合条件を使用してこれらのテーブルを結合します。
よく知られているテーブルとその互換性ビューに関する SAP の情報については、SAP Note 2595627 - Accessing table from SE16/SE16N shows different results to SAP HANA database をご覧ください。
問題: Failed to create proxy table TARGET_TABLE_NAME for object SOURCE_TABLE_NAME
問題: BigQuery Connector for SAP を使用して SAP HANA から BigQuery にデータを転送しているときに、テーブルの読み込みが失敗し、エラー メッセージ Failed to create proxy table
TARGET_TABLE_NAME for object SOURCE_TABLE_NAME
が表示される。
原因: ソーステーブルの 1 つ以上のフィールドの文字数が、SLT で設定された 30 文字の制限を超えています。
解決策: 次の解決策を試します。
- テーブルのキーフィールドの文字数が 30 文字を超える場合、そのようなテーブルの読み込みや複製を行うことはできません。これは SLT の既知の制限です。
- テーブルの他のフィールドの文字数が 30 文字を超える場合は、30 文字を超えるフィールド名を短いフィールド名にマッピングするビューを作成します。
詳細については、SAP Note 1768805 - SAP Landscape Transformation Replication Server (SLT): Non ABAP-based Sources をご覧ください。
サポートを利用する
レプリケーションと BigQuery Connector for SAP の問題を解決する必要がある場合は、入手可能な診断情報をすべて収集し、Cloud カスタマーケアにお問い合わせください。
Cloud カスタマーケアへのお問い合わせの詳細については、Google Cloud での SAP に関するサポートを利用するをご覧ください。