BigQuery Connector for SAP トラブルシューティング ガイド

バージョン 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 ログエントリを表示するには:

  1. Google Cloud コンソールで Logging を開きます。

    [ログ エクスプローラ] に移動

  2. クエリエディタで BigQuery リソースを指定します。例:

    resource.type="bigquery_dataset"

BigQuery ログの詳細については、ログをご覧ください。

HTTP トレース

エラーのトラブルシューティングでは、SMICM または ST05 のトランザクションで HTTP トレースを有効にできます。

パフォーマンスへの影響を抑えるため、HTTP トレースを完了したら、可能な限り早い段階で無効にしてください。

デバッグ

必要な認可を取得している場合は、BigQuery Connector for SAP のビジネス アドイン(BAdI)コードをデバッグできます。

BAdI コードをデバッグするには:

  1. BAdI コードのデバッグに必要な SAP の認可をまだ取得していない場合は、SAP 管理者にリクエストしてください。

  2. SAP GUI のトランザクション エントリ フィールドに「/h」と入力し、Enter を押してデバッグを有効にします。

  3. [Settings] メニューで、[Change Debugger Profile / Settings] を選択します。

  4. [Debug Modes] で、[System Debugging] が選択されていることを確認します。

  5. 必要に応じて、コードに外部ブレークポイントを設定します。

モニタリング

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 に使用されているアクセス スコープが無効です。

解決策: この問題を解決するには、次の手順を完了します。

  1. SAP GUI で、/n で始まる /GOOG/SLT_SETTINGS トランザクションを入力します。

    /n/GOOG/SLT_SETTINGS
  2. トランザクション LTRC で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。

  3. トランザクション SM30 を入力してから、テーブル /GOOG/CLIENT_KEY を開きます。

  4. 前の手順でメモした Google Cloud Key Name の値について、[Scope] フィールドの値が /GOOG/CLIENT_KEY にアクセス設定を指定するに記載のアクセス スコープと一致していることを確認します。フィールドには、スペースを入力しないでください。

  5. レプリケーションを再実行します。

問題: /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] フィールドの値が正しくありません。

解決策: この問題を解決するには、次の手順を完了します。

  1. SAP GUI で、/n で始まる /GOOG/SLT_SETTINGS トランザクションを入力します。

    /n/GOOG/SLT_SETTINGS
  2. トランザクション LTRC で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。

  3. トランザクション SM30 を入力してから、テーブル /GOOG/SERVIC_MAP を開きます。

  4. 前の手順でメモした Google Cloud Key Name の値について、RFC 宛先名をメモします。

  5. トランザクション SM59 を入力し、次の手順を完了します。

    1. BigQuery に接続する RFC 宛先について、[Path Prefix] フィールドの値が /bigquery/v2/ であることを確認します。

    2. BigQuery に接続する RFC 宛先について、[Target Host] フィールドの値が bigquery.googleapis.com であることを確認します。

    3. IAM に接続する RFC 宛先について、[Path Prefix] フィールドの値が /v1/ であることを確認します。

    4. IAM に接続する RFC 宛先について、[Target Host] フィールドの値が iamcredentials.googleapis.com であることを確認します。

  6. レプリケーションまたは初期読み込みを再実行します。

問題: /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 ポートが作成されてアクティブであることを確認する必要があります。

この問題を解決するには、次の操作を行います。

  1. SAP GUI で、トランザクション コード SMICM を入力します。

  2. メニューバーで、[Goto] > [Services] をクリックします。

  3. HTTP ポートと HTTPS ポートが作成され、アクティブであることを確認します。[Actv] 列の緑色のチェックマークは、HTTP ポートと HTTPS ポートが有効になっていることを示します。

  4. レプリケーションを再実行します。

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 が有効になっていません。

解決策: この問題を解決するには、次の手順を完了します。

  1. SAP GUI で、/n で始まる /GOOG/SLT_SETTINGS トランザクションを入力します。

    /n/GOOG/SLT_SETTINGS
  2. トランザクション LTRC で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。

  3. トランザクション SM30 を入力してから、テーブル /GOOG/SERVIC_MAP を開きます。

  4. 前の手順でメモした Google Cloud Key Name の値について、RFC 宛先名をメモします。

  5. トランザクション SM59 を入力し、前の手順でメモした RFC 宛先について、次の操作を行います。

    1. [Logon and Security] タブに移動します。

    2. [SSL Certificate] フィールドで、[DFAULT SSL Client (Standard)] オプションが選択されていることを確認します。

    3. [Service No.] フィールドに値 443 が指定されていることを確認します。

  6. レプリケーションを再実行します。

問題: /GOOG/MSG: 110 - HTTPIO_PLG_CANCELED

問題: 初期読み込みまたはレプリケーション中に、LTRC トランザクションでデータ転送が失敗し、エラー メッセージ /GOOG/MSG: 110 - HTTPIO_PLG_CANCELED が表示される。

原因: HTTP ポート構成がありません。

解決策: SAP システムで HTTP ポートと HTTPS ポートの両方を作成し、アクティブにする必要があります。

VM メタデータは、HTTP ポート経由でのみアクセス可能なメタデータ サーバーに保存されます。そのため、VM メタデータにアクセスするには、HTTP ポートと HTTPS ポートが作成されてアクティブであることを確認する必要があります。

この問題を解決するには、次の操作を行います。

  1. SAP GUI で、トランザクション コード SMICM を入力します。

  2. メニューバーで、[Goto] > [Services] をクリックします。

  3. HTTP ポートと HTTPS ポートが作成され、アクティブであることを確認します。[Actv] 列の緑色のチェックマークは、HTTP ポートと HTTPS ポートが有効になっていることを示します。

  4. レプリケーションを再実行します。

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 が有効になっていません。

解決策: この問題を解決するには、次の手順を完了します。

  1. SAP GUI で、/n で始まる /GOOG/SLT_SETTINGS トランザクションを入力します。

    /n/GOOG/SLT_SETTINGS
  2. トランザクション LTRC で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。

  3. トランザクション SM30 を入力してから、テーブル /GOOG/SERVIC_MAP を開きます。

  4. 前の手順でメモした Google Cloud Key Name の値について、RFC 宛先名をメモします。

  5. トランザクション SM59 を入力し、前の手順でメモした RFC 宛先について、次の操作を行います。

    1. [Logon and Security] タブに移動します。

    2. [SSL Certificate] フィールドで、[DFAULT SSL Client (Standard)] オプションが選択されていることを確認します。

    3. [Service No.] フィールドに値 443 が指定されていることを確認します。

  6. レプリケーションを再実行します。

問題: /GOOG/MSG: 403 - Request had insufficient authentication scopes

問題: エラー メッセージ /GOOG/MSG: 403 - Request had insufficient authentication scopes が表示されてデータ転送が失敗する。

原因: Google Cloud で実行されている SAP ワークロードについて、テーブル /GOOG/CLIENT_KEY で、指定されたサービス アカウントに BigQuery へのアクセスに必要なスコープがありません。

解決策: この問題を解決するには、次の手順を完了します。

  1. SAP GUI で、/n で始まる /GOOG/SLT_SETTINGS トランザクションを入力します。

    /n/GOOG/SLT_SETTINGS
  2. トランザクション LTRC で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。

  3. トランザクション SM30 を入力してから、テーブル /GOOG/CLIENT_KEY を開きます。

  4. 前の手順でメモした Google Cloud Key Name の値について、[Service Account Name] フィールドに指定された値が default であることを確認します。

  5. Google Cloud コンソールで、Compute Engine の [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  6. SAP LT Replication Server をホストする VM インスタンスをクリックします。

  7. [停止] をクリックし、指示に従って VM インスタンスを停止します。

  8. [編集] をクリックし、サービス アカウントの [アクセス スコープ] を編集して BigQuery へのアクセスを有効にしてから、[保存] をクリックします。

  9. [開始 / 再開] をクリックして VM インスタンスを再起動します。

  10. SAP LT Replication Server が実行されていることを確認します。

  11. レプリケーションを再実行します。

問題: /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 へのアクセスに必要な権限がありません。

解決策: この問題を解決するには、次の手順を完了します。

  1. SAP GUI で、/n で始まる /GOOG/SLT_SETTINGS トランザクションを入力します。

    /n/GOOG/SLT_SETTINGS
  2. トランザクション LTRC で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。

  3. トランザクション SM30 を入力してから、テーブル /GOOG/CLIENT_KEY を開きます。

  4. 前の手順でメモした Google Cloud Key Name の値について、[Service Account Name] フィールドに指定された値をメモします。

  5. Google Cloud コンソールで、Identity and Access Management の [サービス アカウント] ページに移動します。

    [サービス アカウント] に移動

  6. 前の手順でメモしたサービス アカウントを選択します。

  7. Google Cloud Identity and Access Management の説明のとおりに、BigQuery Connector for SAP が BigQuery にアクセスするために必要な IAM ロールがサービス アカウントにあることを確認します。

  8. レプリケーションを再実行します。

問題: /GOOG/MSG: 404 - Not Found

問題: エラー メッセージ /GOOG/MSG: 404 - Not Found が表示されてデータ転送が失敗する。

原因: BigQuery Connector for SAP が Google Cloud APIs への接続で使用する RFC 宛先で、パス プレフィックスが無効です。

解決策: この問題を解決するには、次の手順を完了します。

  1. SAP GUI で、/n で始まる /GOOG/SLT_SETTINGS トランザクションを入力します。

    /n/GOOG/SLT_SETTINGS
  2. トランザクション LTRC で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。

  3. トランザクション SM30 を入力してから、テーブル /GOOG/SERVIC_MAP を開きます。

  4. 前の手順でメモした Google Cloud Key Name の値について、RFC 宛先名をメモします。

  5. トランザクション SM59 を入力し、次の手順を完了します。

    • BigQuery に接続する RFC 宛先について、[Path Prefix] フィールドの値が /bigquery/v2/ であることを確認します。
    • IAM に接続する RFC 宛先について、[Path Prefix] フィールドの値が /v1/ であることを確認します。
  6. レプリケーションを再実行します。

問題: /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 名とも一致しません。

解決策: この問題を解決するには、次の手順を完了します。

  1. SAP GUI で、トランザクション コード SE38 を入力して、レポート /GOOG/R_SLT_SETTINGS を開きます。

  2. 実行された LTRC トランザクションについて、一括転送 ID を開き、[Google Cloud Key Name] 列の値をメモします。

  3. トランザクション SM30 を入力してから、表示モードでテーブル /GOOG/CLIENT_KEY を開きます。

  4. 前の手順でメモした Google Cloud Key Name を使用してテーブル /GOOG/SERVIC_MAP を検索し、指定された RFC 宛先名をメモします。

  5. トランザクション コード SM59 を入力します。

  6. BigQuery と IAM API への接続に使用する RFC 宛先について、[Target Host] フィールドの値をメモします。

  7. Google Cloud コンソールで、ネットワーク サービスの [Cloud DNS] ページに移動します。

    [Cloud DNS] に移動

  8. BigQuery Connector for SAP が BigQuery と IAM API にプライベート接続できるように作成した Private Service Connect エンドポイントの DNS レコードを含む限定公開ゾーンをクリックします。

  9. 前の手順でメモしたターゲット ホストの値ごとに、一致する DNS 名がある DNS レコードがあることを確認します。

  10. レプリケーションを再実行します。

問題: /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 で使用されているサービス アカウントが無効です。

解決策: この問題を解決するには、次の手順を完了します。

  1. SAP GUI で、/n で始まる /GOOG/SLT_SETTINGS トランザクションを入力します。

    /n/GOOG/SLT_SETTINGS
  2. トランザクション LTRC で失敗した一括転送 ID について、Google Cloud Key Name フィールドの値をメモします。

  3. トランザクション SM30 を入力してから、テーブル /GOOG/CLIENT_KEY を開きます。

  4. Service Account Name フィールドに、サービス アカウントを作成するの手順で BigQuery Connector for SAP 用に作成されたサービス アカウントのメールアドレスが指定されていることを確認します。

  5. レプリケーションを再実行します。

問題: /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] フィールドに正しい値が設定されていません。

解決策: この問題を解決するには:

  1. SAP GUI で、トランザクション SE38 を入力して、レポート /GOOG/R_SLT_SETTINGS を開きます。

  2. 実行された LTRC トランザクションについて、一括転送 ID を開き、[Google Cloud Key Name] の値をメモします。

  3. トランザクション SM30 を入力してから、表示モードでテーブル /GOOG/CLIENT_KEY を開きます。

  4. 前の手順でメモした Google Cloud Key Name を使用してテーブル /GOOG/SERVIC_MAP を検索し、指定された RFC 宛先名をメモします。

  5. トランザクション コード SM59 を入力し、前の手順でメモした RFC 宛先を開きます。

  6. [Target Host] フィールドで、指定された URL を修正します。

  7. レプリケーションを再実行します。

問題: /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_enabledTRUE に設定します。SAP からの詳細情報については、以下をご覧ください。

チャンクのバイトサイズが、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 PayloadQuota ExceededRequest Entity Too LargeHTTP Communication Failure など、複数の原因が考えられます。BigQuery へのレプリケーションに失敗したチャンクのエラー メッセージが、チャンクの開始インデックスと終了インデックスとともに表示されます。

このエラー メッセージは、トランザクション /GOOG/SLT_SETTINGSBREAK フラグを設定していない場合に表示されます。BREAK フラグが設定されていない場合、BigQuery Connector for SAP は、エラーが発生した場合でも次のチャンクを送信して、BigQuery にレコードを送信します。

解決策: 次の解決策を試します。

問題: DESCRIPTION_OF_ISSUE while signing JWT using profile KEY_FILE_NAME.pse. Check JWT config in 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 にインポートするをご覧ください。

問題: OAuth RFC HTTP Destination not maintained in /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 は次の場合にエラー メッセージを生成します。
    • 文字列が指定されているフィールドの型が DATEINTEGERBOOLEAN のいずれかである。
    • 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 ソースシステムでは、MARDMARCMBEWMBEWH などのテーブルに、トランザクション SE16 または SE16N の値を表示する互換性ビューがあります。このようなテーブルの場合、トランザクション SE16 または SE16N に表示される値は、結合条件(基になる他のいくつかのテーブル)を使用して互換性ビュー内で計算されます。

BigQuery へのレプリケーション用に、互換性ビューを含むテーブルが SLT で構成されている場合、SLT は互換性ビューからデータをレプリケートしません。代わりに、SLT は基になる各テーブルからデータを個別にレプリケートするため、一部のフィールドの SE16 または SE16N は、BigQuery で表示されている内容と異なる値になります。これは標準的な SLT の動作です。

解決策: この問題を解決するには、次の手順を完了します。

  1. SAP GUI で、トランザクション コード LTRS を入力します。
  2. BigQuery レプリケーションの大量転送設定を選択します。
  3. [Advanced Replication Settings] > [Table Settings] に移動します。
  4. 互換性ビューを使用するテーブルを選択します。必要なテーブルが表示されていない場合は、テーブルを追加します。
  5. [Processing Settings] セクションで、次のフィールドに値を入力します。

    • View for Initial Load: SE16 または SE16N のテーブルの互換性ビューの値。
    • View for Replication: SE16 または SE16N のテーブルの互換性ビューの値。
  6. 設定を保存します。

または、互換性ビューの基となるすべてのテーブルを BigQuery に複製します。BigQuery で、互換性ビューと同じ結合条件を使用してこれらのテーブルを結合します。

よく知られているテーブルとその互換性ビューに関する SAP の情報については、SAP Note 2595627 - Accessing table from SE16/SE16N shows different results to SAP HANA database をご覧ください。

サポートを利用する

レプリケーションと BigQuery Connector for SAP の問題を解決する必要がある場合は、入手可能な診断情報をすべて収集し、Cloud カスタマーケアにお問い合わせください。

Cloud カスタマーケアへのお問い合わせの詳細については、Google Cloud での SAP に関するサポートを利用するをご覧ください。