すべてのプロダクト
Search
ドキュメントセンター

PolarDB:エラーコード

最終更新日:Jun 28, 2025

このトピックでは、PolarDB-X で返される可能性のある一般的なエラーコードと、エラーのトラブルシューティング方法について説明します。

TDDL-1305 ERR_UNKNOWN_SAVEPOINT

  • 説明:指定されたセーブポイントが存在しないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-1305][ERR_UNKNOWN_SAVEPOINT] SAVEPOINT ***** does not exist

  • 注: ROLLBACK TO SAVEPOINT 文または RELEASE SAVEPOINT 文を PolarDB-X で実行すると、指定されたセーブポイントが存在しない場合、エラーコード TDDL-1305 が返されます。

    SAVEPOINT 文で指定したセーブポイントが有効かどうかを確認することをお勧めします。

TDDL-1094 ERR_UNKNOWN_THREAD_ID

  • 説明:KILL 文で指定されたセッション ID が存在しないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-1094][ERR_UNKNOWN_THREAD_ID] Unknown thread id: *****

  • 注: PolarDB-X で実行中の SQL 文を終了するために KILL 文を実行すると、指定されたセッション ID が存在しない場合、または SQL 文が終了した場合、エラーコード TDDL-1094 が返されます。

    実行中の SQL 文に対応するセッション ID をクエリするために、SHOW PROCESSLIST 文を実行し、返された結果に ID が存在するセッションに対してのみ KILL 文を実行することをお勧めします。

TDDL-4006 ERR_TABLE_NOT_EXIST

  • 説明:PolarDB-X にデータテーブルが存在しないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4006][ERR_TABLE_NOT_EXIST] Table '*****' doesn't exist.

  • 注:PolarDB-X にデータテーブルが存在しない場合、または PolarDB-X が不明な理由によりデータテーブルのメタデータをロードできない場合、エラーコードが返されます。

TDDL-4007 ERR_CANNOT_FETCH_TABLE_META

  • 説明:PolarDB-X がテーブルのメタデータをロードできないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4007][ERR_CANNOT_FETCH_TABLE_META] Table '*****' metadata cannot be fetched because Table '*****.*****' doesn't exist.

  • 注: PolarDB-X がテーブルのメタデータのクエリに失敗した場合、エラーコードが返されます。このエラーは、次のいずれかの理由で発生する可能性があります。

    • テーブルが作成されていません。

    • テーブルのデータが、保持されているメタデータベース内のデータと一致しません。

    • テーブルが削除または名前変更されています。

    このエラーが返された場合は、指定された名前のテーブルが存在するかどうかを確認するか、CHECK TABLE 文を実行して、テーブルのデータが PolarDB-X によって管理されているメタデータベース内のデータと一致するかどうかを確認してください。テーブルが手動で削除または名前変更された場合は、PolarDB-X のデータ復元機能を使用してデータを復元できます。エラーが解決しない場合は、テクニカルサポートに連絡してください。

TDDL-4018 ERR_INVALID_DDL_PARAMS

  • 説明:PolarDB-X で DDL 操作が失敗したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4018][ERR_INVALID_DDL_PARAMS] invalid '*****'.

  • 注:DDL 文で指定した 1 つ以上のパラメーターが無効な場合、エラーコードが返されます。文内のすべてのパラメーターが有効かどうかを確認してください。すべてのパラメーターが有効であることを確認した後もエラーが解決しない場合は、テクニカルサポートに連絡してください。

TDDL-4100 ERR_ATOM_NOT_AVALILABLE

  • 説明:PolarDB-X のバックエンドデータノードが使用できないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4100][ERR_ATOM_NOT_AVALILABLE] Atom : ***** isNotAvailable

  • 注: バックエンドのデータ ノードが想定どおりに実行されていないことを PolarDB-X が検出した場合、エラーコード TDDL-4100 が返されます。このシナリオでは、PolarDB-X インスタンスへのアクセスは拒否されます。

    エラーが発生した場合は、PolarDB-X インスタンスのすべてのバックエンドデータノードが想定どおりに実行されているかどうかを確認します。バックエンドのデータノードが異常状態から回復すると、PolarDB-X は自動的にデータノードを使用可能にし、アプリケーションがデータノードにアクセスできるようにします。

TDDL-4101 ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON

  • 説明:計算ノードが PolarDB-X のデータノードに接続できないために返されるエラーコードです。

  • 例: ERR-CODE: [TDDL-4101][ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON] Get connection for db '*****' from pool failed. AppName:*****, Env:*****, UnitName:null. Message from pool: wait millis 5000, active 0, maxActive 5. // プールからデータベース '*****' への接続の取得に失敗しました。 アプリケーション名:*****、環境:*****、ユニット名:null。 プールからのメッセージ: 待機ミリ秒 5000、アクティブ 0、最大アクティブ 5。 真の原因を含む次のログを探してください。

  • 注: PolarDB-X がリクエストを処理するとき、PolarDB-X はデータノードへの非同期接続を確立します。 データノードが一定時間内にコンピューティングノードに接続できず、非同期タスクにエラー原因が返されない場合、PolarDB-X はアプリケーションにエラーコード TDDL-4101 を返します。

    ほとんどの場合、このエラーはバックエンドデータノードで例外が発生した場合に発生します。データノードのトラブルシューティング後もエラーが解決しない場合は、テクニカルサポートに連絡してください。

TDDL-4102 ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON

  • 説明:PolarDB-X バックエンドで計算ノードからデータノードへの接続の確立に失敗したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4102][ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON] Get connection for db '*****' failed because wait millis 5000, active 0, maxActive 5

  • 注: PolarDB-X のコンピューティングノードがデータノードに接続しようとしたときにエラーが発生した場合、エラーコードが返されます。エラーの原因はエラーメッセージに含まれています。PolarDB-X のデータノードが接続に失敗する原因には、次のものがあります。

    • バックエンドデータノードの接続数がしきい値に達しました。

    • 計算ノードからデータノードへの接続がタイムアウトしました。

    • データノードが接続を拒否しました。

    バックエンドデータノードのトラブルシューティング後もエラーが解決しない場合は、テクニカルサポートに連絡してください。

TDDL-4103 ERR_ATOM_CONNECTION_POOL_FULL

  • 説明:PolarDB-X のバックエンドデータノードの接続プールがいっぱいになったために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4103][ERR_ATOM_CONNECTION_POOL_FULL] Pool of DB '*****' is full. Message from pool: wait millis 5000, active 5, maxActive 5. AppName:*****, Env:*****, UnitName:null.

  • 注: PolarDB-X のバックエンド接続プールがいっぱいの場合、エラーコードが返されます。エラーコード TDDL-4103 が返される原因には、次のものがあります。

    • アプリケーションから送信された SQL 文の実行が遅く、接続を長時間使用して操作が実行されます。その結果、使用可能な接続数が不足します。

    • アプリケーションがデータベースへの接続を閉じません。これが原因で接続リークが発生します。

    • 多数のクロスデータベースクエリが、多数の接続を介して並列に実行されます。クロスデータベースクエリには、集計および統計分析のクエリ、および条件句でシャーディングキーが指定されていないクエリが含まれます。

    次の方法でこの問題を解決することをお勧めします。

    • Spring JDBC や MyBatis などのフレームワークを使用してデータベースにアクセスします。

    • データベース管理者のパフォーマンス分析レポートと提案に基づいて SQL クエリを最適化します。

    • PolarDB-X の読み取り/書き込み分割機能を使用して、クロスデータベースクエリを読み取り専用ノードに転送します。

    • PolarDB-X インスタンスの仕様を上げて、処理パフォーマンスを向上させます。

    • テクニカルサポートに連絡して、PolarDB-X でサポートできる接続数を変更します。

TDDL-4104 ERR_ATOM_CREATE_CONNECTION_TOO_SLOW

  • 説明:PolarDB-X でバックエンドデータノードへの接続が確立されるときにタイムアウトが発生したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4104][ERR_ATOM_CREATE_CONNECTION_TOO_SLOW] Get connection for db '*****' from pool timeout. AppName:*****, Env:*****, UnitName:null. Message from pool: wait millis 5000, active 3, maxActive 5.

  • 注: PolarDB-X がデータノードへの接続を非同期的に確立する場合、短時間に多数の接続が確立された場合、またはデータノードへの接続の確立速度が遅い場合、接続タイムアウトが発生します。ほとんどの場合、このエラーはバックエンドのデータノードで負荷の高い処理が実行されている場合に発生します。PolarDB-X の読み取り/書き込み分割機能を使用してワークロードを分散させるか、インスタンスの仕様をアップグレードすることをお勧めします。

    バックエンドデータノードのトラブルシューティング後もエラーが解決しない場合は、テクニカルサポートに連絡してください。短時間に多数の接続が確立されたことが原因でエラーが発生した場合は、テクニカルサポートに連絡して PolarDB-X でサポートされている最小接続数を変更することをお勧めします。

TDDL-4105 ERR_ATOM_ACCESS_DENIED

  • 説明:PolarDB-X でバックエンドデータノードへの接続が拒否されたために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4105][ERR_ATOM_ACCESS_DENIED] DB '*****' Access denied for user '*****'@'*****'. AppName:*****, Env:*****, UnitName:null. Please contact DBA to check.

  • 注:データノードに接続するためにユーザー名とパスワードを入力した後、PolarDB-X のデータノードが接続を拒否した場合、このエラーが返されます。この問題を解決するには、テクニカルサポートに連絡してください。

TDDL-4106 ERR_ATOM_DB_DOWN

  • 説明:PolarDB-X でバックエンドデータノードに接続できないために返されるエラーコードです。

  • 例: ERR-CODE: [TDDL-4106][ERR_ATOM_DB_DOWN] DB '*****' cannot be connected. AppName:*****, Env:*****, UnitName:null. // DBがダウンしている可能性が非常に高いです。DBAに確認を依頼してください。

  • 注:PolarDB-X がバックエンドデータノードへの接続を確立するとき、接続がタイムアウトした場合、またはデータノードがリクエストに応答しない場合、このエラーが返されます。ほとんどの場合、このエラーは、データノードに障害が発生した場合に発生します。この問題を解決するには、テクニカルサポートに連絡してください。

TDDL-4108 ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW

  • 説明:変数の値が NULL に設定されているために返されるエラーコードです。

  • 例: ERR-CODE: [TDDL-4108][ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW] /* システム変数 ***** は現在 null に設定できません */

  • 注:SET 文を実行して、データノードの特定の変数の値を NULL に設定することはできません。変数の値が NULL に設定されている場合、PolarDB-X はエラーコード TDDL-4108 を返します。

TDDL-4200 ERR_GROUP_NOT_AVALILABLE

  • 説明:PolarDB-X のデータノードが使用できないために返されるエラーコードです。

  • 例: ERR-CODE: [TDDL-4200][ERR_GROUP_NOT_AVALILABLE] TDDL グループ ***** は、この SQL:***** が原因でフェイルファスト状態で実行されています。これは ***** という致命的な例外をスローしました。

  • 注: データベースシャード内のデータノードにアクセスできず、シャード内で他に使用可能なデータノードがない場合、PolarDB-X はデータベースシャードの状態を fail-fast に変更し、エラーコード TDDL-4200 を返します。

    ほとんどの場合、このエラーはデータノードに障害が発生した場合に発生します。 データノードに関するエラー情報に基づいてエラーをトラブルシューティングすることをお勧めします。 障害が発生したデータノードが回復した後、PolarDB-X は自動的にデータノードをフェイルファスト状態から回復します。

    データノードのトラブルシューティング後もエラー TDDL-4200 が続く場合は、テクニカルサポートに連絡してください。

TDDL-4201 ERR_GROUP_NO_ATOM_AVALILABLE

  • 説明:PolarDB-X データベースシャードで使用可能なデータノードがないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4201][ERR_GROUP_NO_ATOM_AVALILABLE] All weights of DBs in Group '*****' is 0. Weights is: *****.

  • 注: データベースシャード内のすべてのデータノードが使用できない状態、またはフェイルファスト状態にある場合、PolarDB-X はエラーコード TDDL-4201 を返します。

    ほとんどの場合、このエラーはすべてのデータノードに障害が発生した場合に発生します。各バックエンド データノードのステータスを確認して、問題を特定し、解決してください。データノードのトラブルシューティング後もエラー TDDL-4201 が続く場合は、テクニカルサポートに連絡してください。

TDDL-4202 ERR_SQL_QUERY_TIMEOUT

  • 説明:PolarDB-X でクエリがタイムアウトしたために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4202][ERR_SQL_QUERY_TIMEOUT] Slow query leads to a timeout exception, please contact DBA to check slow sql. SocketTimout:*** ms, Atom:*****, Group:*****, AppName:*****, Env:*****, UnitName:null.

  • 注: PolarDB-X では、バックエンドデータノードで SQL 文を実行するために必要な時間が socketTimeout パラメーターの値を超えた場合、このエラーが返されます。デフォルトでは、PolarDB-X の socketTimeout で指定されたタイムアウト期間は 900 秒です。

    バックエンドデータノードで SQL クエリを最適化し、適切なインデックスを作成して、SQL クエリの性能を向上させることをお勧めします。最適化された SQL クエリがまだ遅い場合は、PolarDB-X でクエリのタイムアウト期間を設定するヒントを含めるために、次のサンプル構文を使用できます。/*TDDL:SOCKET_TIMEOUT=900000*/ SELECT * FROM dual;。この構文では、SOCKET_TIMEOUT パラメータの値はミリ秒単位です。PolarDB-X でのヒントの使用方法の詳細については、「SQL 文のタイムアウト期間を指定する方法」をご参照ください。PolarDB-X でタイムアウト期間を永続的に変更する場合は、テクニカルサポートに連絡してください。

TDDL-4203 ERR_SQL_QUERY_MERGE_TIMEOUT

  • 説明:PolarDB-X で分散データをクエリするときにタイムアウトが発生したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4203][ERR_SQL_QUERY_MERGE_TIMEOUT] Slow sql query leads to a timeout exception during merging results, please optimize the slow sql. The the default timeout is *** ms. DB is *****

  • 注: PolarDB-X の分散データに対するクエリの場合、デフォルトのタイムアウト期間は 900 秒です。SQL クエリが複数のデータベースシャードで実行され、SQL クエリの実行に必要な時間が 900 秒を超えると、エラーコード TDDL-4203 が返されます。

    次の方法を使用して SQL クエリを最適化することをお勧めします。

    • WHERE 句にシャードキーを含めます。 この方法では、SQL クエリは特定のデータベースシャードで実行するように最適化されます。

    • バックエンドデータノードに適切なインデックスを作成できるかどうかを確認します。 適切なインデックスは、データベースシャードのクエリパフォーマンスを向上させることができます。

    • データベース間の JOIN 操作やデータの並べ替え操作など、長時間かかる分散クエリの操作を排除します。 これにより、PolarDB-X でのデータマージ中に消費されるリソースの量を削減できます。

    最適化された SQL クエリがまだ遅い場合は、次の構文を使用して、PolarDB-X でクエリのタイムアウト期間を設定するヒントを含めることができます。/*TDDL:SOCKET_TIMEOUT=900000*/ SELECT * FROM dual;。この構文では、SOCKET_TIMEOUT パラメーターの値はミリ秒単位です。PolarDB-X でのヒントの使用方法の詳細については、「SQL 文のタイムアウト期間を指定する方法」をご参照ください。

TDDL-4400 ERR_SEQUENCE

  • 説明:グローバルに一意のシーケンスの処理に失敗したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4400][ERR_SEQUENCE] Sequence : All dataSource faild to get value!

  • 注: このエラーは、グローバルに一意なシーケンスの処理に失敗した場合に返されます。Sequence : の後に指定されたエラーメッセージが返されます。ほとんどの場合、データノードに障害が発生するとエラーコード TDDL-4400 が返されます。その結果、シーケンスに対応するテーブルにアクセスできなくなります。

    各バックエンドデータノードのステータスを確認することをお勧めします。バックエンドデータノードのトラブルシューティング後もエラーが解決しない場合は、テクニカルサポートに連絡してください。

TDDL-4401 ERR_MISS_SEQUENCE

  • 説明:シーケンスが存在しないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4401][ERR_MISS_SEQUENCE] Sequence '*****' is not found

  • 注記: 文で指定したシーケンスは存在しません。SHOW SEQUENCES 文を実行して、PolarDB-X で作成した各シーケンスの名前をクエリし、有効なシーケンス名を指定することをお勧めします。

    指定したシーケンスが存在しない場合は、次の文を実行してシーケンスを作成できます。

    CREATE SEQUENCE <シーケンス名> [ START WITH <数値> ] 
    [ INCREMENT BY <数値> ] [ MAXVALUE <数値> ] 
    [ CYCLE | NOCYCLE ]` 

    指定したシーケンスが存在し、エラー TDDL-4401 が続く場合は、テクニカルサポートに連絡してください。 PolarDB-X でシーケンスを使用する方法の詳細については、「概要」をご参照ください。

TDDL-4403 ERR_MISS_SEQUENCE_TABLE_ON_DEFAULT_DB

  • 説明:シーケンスに対応するテーブルが存在しないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4403][ERR_MISS_SEQUENCE_TABLE_ON_DEFAULT_DB] Sequence table is not in default db.

  • 注:sequence または sequence_opt という名前のテーブルには、PolarDB-X バックエンドのデータベースからアクセスできません。エラーのトラブルシューティングを行うには、テクニカルサポートに連絡してください。

TDDL-4404 ERR_SEQUENCE_TABLE_META

  • 説明:シーケンスに対応するテーブルのスキーマが無効であるために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4404][ERR_SEQUENCE_TABLE_META] the meta of sequence table is error, some columns missed

  • 注:シーケンスに対応するテーブルに特定のフィールドがありません。これには、sequence または sequence_opt という名前のテーブルが含まれます。エラーのトラブルシューティングを行うには、テクニカルサポートに連絡してください。

TDDL-4405 ERR_INIT_SEQUENCE_FROM_DB

  • 説明:シーケンスの初期化に失敗したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4405][ERR_INIT_SEQUENCE_FROM_DB] init sequence manager error: *****

  • 注:使用しようとしているシーケンスの初期化に失敗した場合、エラーコード TDDL-4405 が返されます。返されるエラーメッセージは、init sequence manager error の後に指定されます。PolarDB-X の各バックエンドデータノードのステータスを確認することをお勧めします。バックエンドデータノードのトラブルシューティングを行ってもエラー TDDL-4405 が解決しない場合は、テクニカルサポートに連絡してください。

TDDL-4407 ERR_OTHER_WHEN_BUILD_SEQUENCE

  • 説明:シーケンスに対応するテーブルにアクセスしたときにエラーが発生したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4407][ERR_OTHER_WHEN_BUILD_SEQUENCE] error when build sequence: *****

  • 注: シーケンスに対応するテーブルにアクセスするとエラーが発生します。これには、sequence または sequence_opt という名前のテーブルが含まれます。返されるエラーメッセージは、build sequence の後に error で指定されます。

    PolarDB-X 内の各バックエンドデータノードのステータスを確認することをお勧めします。データノードのトラブルシューティング後もエラー TDDL-4407 が続く場合は、テクニカルサポートに連絡してください。

TDDL-4408 ERR_SEQUENCE_NEXT_VALUE

  • 説明:シーケンス値の取得に失敗したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4408][ERR_SEQUENCE_NEXT_VALUE] error when get sequence's next value, sequence is: *****, error: *****

  • 注: PolarDB-X のテーブルのプライマリキーに AUTO_INCREMENT 属性を設定するか、<Sequence name>.NEXTVAL 構文を使用して GUID を取得すると、エラーが発生します。返されるエラーの原因は、error: の後に指定されます。

    エラーコード TDDL-4408 は、バックエンドデータノードに障害が発生した場合に返されます。 PolarDB-X 内の各バックエンドデータノードのステータスと、各バックエンドデータノードへのアクセス負荷を確認することをお勧めします。 バックエンドデータノードのトラブルシューティング後もエラー TDDL-4408 が発生する場合は、テクニカルサポートに連絡してください。

TDDL-4500 ERR_PARSER

  • 説明:SQL 文の解析に失敗したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4500][ERR_PARSER] not support statement: '*****'

  • 注: PolarDB-X は、SQL-92 標準に準拠した SQL 構文と、MySQL でサポートされている拡張構文および関数をサポートしています。実行した SQL 文が、PolarDB-X でサポートされている標準 SQL 構文および MySQL 仕様に準拠しているかどうかを確認してください。

    標準 SQL 構文の詳細については、「標準 SQL 構文」をご参照ください。 SQL 互換性の詳細については、「SQL 構文の制限」をご参照ください。実行した SQL 文が上記の構文ルールに準拠しており、エラー TDDL-4500 が解決しない場合は、テクニカルサポートに連絡してください。

TDDL-4501 ERR_OPTIMIZER

  • 説明:オプティマイザーが SQL 文の変換に失敗したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4501][ERR_OPTIMIZER] optimize error by: Unknown column '*****' in 'order clause'

  • 注: PolarDB-X のオプティマイザは、SQL 文を内部構文ツリーに変換します。 SQL 文に論理エラーが発生した場合、オプティマイザは SQL 文を変換できません。 この場合、エラーコード TDDL-4501 が返されます。

    SQL 文は、optimize error by の後に指定されている情報に基づいて確認および変更することをお勧めします。 SQL 文を変更した後もエラー TDDL-4501 が発生する場合は、テクニカルサポートに連絡してください。

TDDL-4502 ERR_OPTIMIZER_MISS_ORDER_FUNCTION_IN_SELECT

  • 説明:ORDER BY 句に列を返す関数が含まれていますが、SELECT 句に関数が含まれていないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4502][ERR_OPTIMIZER_MISS_ORDER_FUNCTION_IN_SELECT] Syntax Error: orderBy/GroupBy Column ***** is not existed in select clause`

  • 注: PolarDB-X では、ORDER BY 句に関数 (RAND() 関数など) が含まれていて、その関数が列を返す場合、その関数は SELECT 句にも指定する必要があります。SELECT 句に関数が含まれていない場合、エラーコード TDDL-4502 が返されます。

    SELECT 句に関数を含めることをお勧めします。

TDDL-4504 ERR_OPTIMIZER_SELF_CROSS_JOIN

  • 説明:条件がないため、テーブルをそれ自体に結合できないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4504][ERR_OPTIMIZER_SELF_CROSS_JOIN] self cross join case, add shard column filter on right table

  • 注: PolarDB-X がテーブルに対して SELF JOIN クエリを実行する場合、WHERE 句に左側のテーブルのシャードキーのみ、または右側のテーブルのシャードキーのみが含まれていると、エラーコード TDDL-4504 が返されます。

    左テーブルのシャードキーと右テーブルのシャードキーを含むように SQL 文を変更することをお勧めします。

TDDL-4506 ERR_MODIFY_SHARD_COLUMN

  • 説明:テーブルのシャードキーを変更できないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4506][ERR_MODIFY_SHARD_COLUMN] Column '*****' is a sharding key of table '*****', which is forbidden to be modified.

  • 注記: このエラーは、テーブルのシャードキーを変更しようとすると返されます。PolarDB-X では、グローバルセカンダリインデックス (GSI) が作成されているテーブルのシャードキーを変更することはできません。

    UPDATE 文は、それと同等の効果を持つ INSERT 文と DELETE 文に置き換えることをお勧めします。

TDDL-4508 ERR_OPTIMIZER_NOT_ALLOWED_SORT_MERGE_JOIN

  • 説明:ソートマージ結合を実行できないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4508][ERR_OPTIMIZER_NOT_ALLOWED_SORT_MERGE_JOIN] sort merge join is not allowed when missing equivalent filter

  • 注: 結合操作を実行するテーブルが異なるデータ ノードに格納されている場合、PolarDB-X はソートマージ結合アルゴリズムを選択します。このアルゴリズムは、SQL 文で左右のテーブルに等価結合条件を指定した場合にのみ使用できます。左右のテーブルに指定した結合条件に等価条件が含まれていない場合、PolarDB-X はエラーコード TDDL-4508 を返します。

    JOIN 句または WHERE 句に等価条件を含めるように SQL ステートメントを変更することをお勧めします。

TDDL-4509 ERR_OPTIMIZER_ERROR_HINT

  • 例:ERR-CODE: [TDDL-4509][ERR_OPTIMIZER_ERROR_HINT] Hint Syntax Error: unexpected operation: *****.

  • 注:SQL 文に含めたヒントの構文を PolarDB-X が解析できない場合、このエラーが返されます。ヒント構文の詳細については、「ヒントの使い方」をご参照ください。

TDDL-4510 ERR_CONTAINS_NO_SHARDING_KEY

  • 説明:SQL 文にシャードキーがないために返されるエラーコードです。

  • 例: ERR-CODE: [TDDL-4510][ERR_CONTAINS_NO_SHARDING_KEY] Your SQL contains NO SHARDING KEY '*****' for table '*****', which is not allowed in DEFAULT.

  • 注:フルテーブルスキャンが無効になっていて、SQL 文にシャードキーが指定されていない場合、このエラーが返されます。デフォルトでは、PolarDB-X はテーブルを作成するときにフルテーブルスキャンを有効にします。フルテーブルスキャン機能を手動で無効にした場合は、テーブルのデータをスキャンする各 SQL 文にテーブルのシャードキーが指定されていることを確認してください。

TDDL-4511 ERR_INSERT_CONTAINS_NO_SHARDING_KEY

  • 説明:INSERT 文にシャードキーがないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4511][ERR_INSERT_CONTAINS_NO_SHARDING_KEY] Your INSERT SQL contains NO SHARDING KEY '*****' for table '*****'.

  • 注: PolarDB-X では、シャードテーブルにデータを挿入するために INSERT 文を実行する場合、INSERT 文でテーブルのシャードキーの値を指定する必要があります。これは、シャードキーが自動増分プライマリキーであるテーブルではオプションです。INSERT 文にシャードキー値が含まれていない場合、PolarDB-X はエラーコード TDDL-4511 を返します。

    このエラーが発生した場合は、INSERT 文にシャードキーの値を含めることをお勧めします。

TDDL-4515 ERR_CONNECTION_CHARSET_NOT_MATCH

  • 説明:指定した文字列の文字セットがデータベースの文字セットと異なるために返されるエラーコードです。

  • 例: ERR-CODE: [TDDL-4515][ERR_CONNECTION_CHARSET_NOT_MATCH] Caused by MySQL's character_set_connection doesn't match your input charset. /* MySQL の character_set_connection が入力文字セットと一致しません。*/ Partition DDL can only take ASCII or chinese column name. /* パーティション DDL は ASCII または中国語の列名のみを受け入れることができます。*/ If you want use chinese table or column name, Make sure MySQL connection's charset support chinese character. /* 中国語のテーブル名または列名を使用する場合は、MySQL 接続の文字セットが中国語をサポートしていることを確認してください。*/ Use "set names xxx" to set correct charset. /* "set names xxx" を使用して正しい文字セットを設定します。*/

  • 注: PolarDB-X は、テーブル名と列名に中国語の文字をサポートしています。 character_set_connection パラメーターは、PolarDB-X データベースで使用される接続文字セットを指定します。中国語の文字を含む SQL 文を 実行する 場合、character_set_connection パラメーターが latin1 などの中国語の文字をサポートしていない値に設定されていると、エラーコード TDDL-4515 が返されます。

    SHOW VARIABLES LIKE 'character_set_connection' 文を実行して、PolarDB-X データベースと MySQL クライアント間の接続に使用される文字セットを照会できます。SET NAMES 文を実行して、PolarDB-X データベースの文字セットを変更できます。Java Database Connectivity ( JDBC ) を使用して PolarDB-X データベースに接続する場合は、characterEncoding パラメーターを構成します。

TDDL-4517 システムテーブルの変更エラー

  • 説明:システムテーブルを変更できないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4617][ERR_MODIFY_SYSTEM_TABLE] Table '*****' is PolarDB-XSYSTEM TABLE, which is forbidden to be modified.

  • 注:SQL 文を実行して PolarDB-X システムテーブルのデータを変更しようとすると、エラーコード TDDL-4517 が返されます。sequence、sequence_opt、txc_undo_log などのシステムテーブルは変更できません。システムテーブルの名前がデータベースのテーブル名として使用されていないことを確認してください。

TDDL-4520 ERR_DML_WITH_SUBQUERY

  • 説明:DML 文でサブクエリを使用できないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4520][ERR_DML_WITH_SUBQUERY] DO NOT support UPDATE/DELETE with subQuery

  • 注:PolarDB-X は、DML 文でのサブクエリをサポートしていません。このエラーが発生した場合は、SQL 文にサブクエリが含まれていないことを確認するように SQL 文を変更することをお勧めします。

TDDL-4521 ERR_INSERT_SHARD

  • 説明:レコードを挿入するときに、レコードが複数のシャードにルーティングされるために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4521][ERR_INSERT_SHARD] Cannot decide which group to insert

  • 注:データを挿入すると、レコードが複数のシャードにルーティングされます。その結果、PolarDB-X はレコードを挿入するシャードを決定できません。このエラーが発生した場合は、テクニカルサポートに連絡してください。

TDDL-4523 ERR_TODNF_LIMIT_EXCEED

  • 説明:WHERE 句に指定できるクエリの最大条件数に達したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4523][ERR_TODNF_LIMIT_EXCEED] toDnf has exceed the limit size

  • 注:PolarDB-X は、SQL 文の WHERE 句に指定されたクエリ条件に対して、連言標準形(CNF)と選言標準形(DNF)の間で式の変換を実行します。これにより、条件の控除と計算のパフォーマンスが最適化されます。安定した最適化を確実にするために、PolarDB-X はクエリ条件の数を 2,000 に制限しています。さらに多くのクエリ条件を指定する場合は、DNF_REX_NODE_LIMIT パラメーターをより大きな値に設定します。

TDDL-4524 ERR_TOCNF_LIMIT_EXCEED

  • 説明:WHERE 句に指定できるクエリの最大条件数に達したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4524][ERR_TODNF_LIMIT_EXCEED] toCnf has exceed the limit size

  • 注:PolarDB-X は、SQL 文の WHERE 句に指定されたクエリ条件に対して、連言標準形(CNF)と選言標準形(DNF)の間で式の変換を実行します。これにより、条件の控除と計算のパフォーマンスが最適化されます。安定した最適化を確実にするために、PolarDB-X はクエリ条件の数を 2,000 に制限しています。さらに多くのクエリ条件を指定する場合は、CNF_REX_NODE_LIMIT パラメーターをより大きな値に設定します。

TDDL-4526 ERR_FUNCTION_NOT_FOUND

  • 説明:関数がサポートされていないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4526][ERR_FUNCTION_NOT_FOUND] No match found for function signature

  • 注:SQL クエリに含めた関数の構文が正しくないか、関数が無効な場合、このエラーが返されます。SQL クエリで関数を呼び出すために使用するパラメーターの数と型が正しいかどうかを確認することをお勧めします。

TDDL-4527 プライマリキーのないテーブルのシャード列変更エラー

  • 説明:主キーのないテーブルのデータベースシャードキーを変更できないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4527][ERR_MODIFY_SHARD_COLUMN_ON_TABLE_WITHOUT_PK]

  • 注:PolarDB-X では、主キーのないテーブルのデータベースシャードキーを変更することはできません。

TDDL-4595 ERR_UNKNOWN_TZ

  • 説明:タイムゾーン設定が無効であるために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4595][ERR_UNKNOWN_TZ]

  • 注:タイムゾーンを設定するために使用する構文と形式が有効かどうかを確認することをお勧めします。

TDDL-4600 ERR_FUNCTION

  • 説明:関数の呼び出しに失敗したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4600][ERR_FUNCTION] function compute error by Incorrect parameter count in the call to native function '*****'

  • 注:SQL クエリに含めた関数の構文またはパラメーターが正しくない場合、このエラーが返されます。SQL クエリで関数を呼び出すために使用するパラメーターの数と型が正しいかどうかを確認することをお勧めします。

TDDL-4601 ERR_EXECUTOR

  • 例:

    ERR-CODE: [TDDL-4601][ERR_EXECUTOR] only one column is supported in 
    distinct aggregate /* エラーコード: [TDDL-4601][ERR_EXECUTOR] distinct 集計では 1 つのカラムのみがサポートされています */
  • 注:このエラーコードは、SQL 文の実行中に予期しないエラーが発生したために返されます。これは通常、バックエンド MySQL の例外に関連しています。

TDDL-4602 ERR_CONVERTOR

  • 説明:データ型の変換に失敗したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4602][ERR_CONVERTOR] convertor error by Unsupported convert: [*****]

  • 注:PolarDB-X で SQL クエリが実行されるときにデータ型の変換に失敗した場合、このエラーが返されます。SQL クエリで使用されるデータに暗黙の型変換が必要かどうかを確認してください。比較と計算には同じ型のデータを使用することをお勧めします。

TDDL-4603 クロス DB トランザクションエラー

  • 説明:クロスデータベーストランザクションが失敗したために返されるエラーコードです。

  • 例: ERR-CODE: [TDDL-4603][ERR_ACCROSS_DB_TRANSACTION] Transaction accross db is not supported in current transaction policy, transaction node is: {0}, but this sql execute on: *****.

  • 注:デフォルトでは、PolarDB-X はクロスデータベーストランザクションをサポートしています。クロスデータベーストランザクションをブロックする可能性のある他のトランザクションポリシーが指定されているかどうかを確認してください。

TDDL-4604 ERR_CONCURRENT_TRANSACTION

  • 説明:ネストされたトランザクションがサポートされていないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4604][ERR_CONCURRENT_TRANSACTION] Concurrent query is not supported on transaction group, transaction group is: {0}.

  • 注: PolarDB-X はネストされたトランザクションをサポートしていません。同じデータベース接続で同時に 2 つ以上のトランザクションを開始しようとすると、エラーコード TDDL-4604 が返されます。

    アプリケーションを開発する際は、ネストされたトランザクションを使用しないことをお勧めします。トランザクションは、アプリケーション層のトランザクション フレームワークに抽象化できます。このようにして、ネストされたトランザクションは生成されません。

TDDL-4606 ERR_QUERY_CANCLED

  • 説明:SQL 文の実行がキャンセルされたために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4606][ERR_QUERY_CANCLED] Getting connection is not allowed when query has been cancled, group is *****

  • 注:KILL 文を実行して SQL 文の実行をキャンセルすると、PolarDB-X はキャンセルされた SQL 文に対してエラーコード TDDL-4606 を返します。このエラーが頻繁に発生する場合は、KILL 文がクライアントまたはプログラムで実行されているかどうかを確認してください。

TDDL-4610 ERR_CONNECTION_CLOSED

  • 説明:接続が閉じられたために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4610][ERR_CONNECTION_CLOSED] connection has been closed

  • 注記: トランザクション内の SQL 文が実行に失敗するシナリオ、または KILL 文を実行してトランザクション内の SQL 文の実行をキャンセルするシナリオでは、同じデータベース接続で他の SQL 文を実行すると、エラーコード TDDL-4610 が返されます。

    接続を閉じて、新しいデータベース接続を確立することをお勧めします。

TDDL-4612 ERR_CHECK_SQL_PRIV

  • 説明:アカウントに SQL 文を実行するために必要な権限がないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4612][ERR_CHECK_SQL_PRIV] check user ***** on db ***** sql privileges failed.

  • 注: 新バージョンの PolarDB-X は、アカウントに権限を付与できるシステムを提供しています。このシステムは、MySQL のアカウントおよび権限システムに似ています。必要な権限が付与されているアカウントのみが SQL 文を 実行する ことができます。使用しているアカウントに必要な権限がない場合、PolarDB-X はエラーコード TDDL-4612 を返します。

    PolarDB-X インスタンスでアカウントに付与されている権限を確認することをお勧めします。アカウントに必要な権限がない場合は、PolarDB-X コンソールで権限を付与します。 PolarDB-X アカウントと権限設定の詳細については、「データベースアカウントを管理する」をご参照ください。

TDDL-4614 ERR_EXECUTE_ON_MYSQL

  • 説明:データノードで SQL 文を実行したときにエラーが発生したために返されるエラーコードです。

  • 例:

    ERR-CODE: [TDDL-4614][ERR_EXECUTE_ON_MYSQL] Error occurs when execute on  GROUP '*****': Duplicate entry '*****' for key 'PRIMARY'
    // グループ '*****' で実行中にエラーが発生しました: キー 'PRIMARY' の重複エントリ '*****'
    The error is returned if the SQL statement fails to execute on a data node in the PolarDB-X backend. The information about the error is included in the end of the error message. The following error messages may be returned:
    // PolarDB-X バックエンドのデータノードで SQL 文の実行に失敗した場合、エラーが返されます。エラーに関する情報は、エラーメッセージの末尾に含まれています。次のエラーメッセージが返される可能性があります。
     
    Duplicate entry '*****' for key 'PRIMARY'
    // キー 'PRIMARY' の重複エントリ '*****'
    This error message is returned because a conflict has occurred on the primary key when you insert data. You must correct the data and execute the SQL statement again.
    // このエラーメッセージは、データを挿入するときにプライマリキーで競合が発生したために返されます。データを修正し、SQL 文を再度実行する必要があります。
       
    The table '*****' is full
    // テーブル '*****' がいっぱいです
    This error message is returned because the temporary table used by the data node is full. You must modify the temporary tablespace or modify the SQL statement.
    // このエラーメッセージは、データノードで使用されている一時テーブルがいっぱいになったために返されます。一時表領域を変更するか、SQL 文を変更する必要があります。
         
    Deadlock found when trying to get lock;
    // ロックの取得中にデッドロックが検出されました。
    This error message is returned because a deadlock has occurred on the data node. In most cases, a deadlock can occur if many transaction conflicts occur during write operations.
    // このエラーメッセージは、データノードでデッドロックが発生したために返されます。ほとんどの場合、書き込み操作中に多数のトランザクション競合が発生すると、デッドロックが発生する可能性があります。
  • 注:返されたエラーメッセージを参照して問題のトラブルシューティングを行うことをお勧めします。SQL 文に関連するエラーメッセージの詳細については、「MySQL 5.6 ドキュメント」を参照してください。アプリケーションまたはデータノードのトラブルシューティングを行ってもエラー TDDL-4614 が解決しない場合は、テクニカルサポートに連絡してください。

TDDL-4616 ERR_UNKNOWN_DATABASE

  • 説明:指定したデータベース名が無効であるために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4616][ERR_UNKNOWN_DATABASE] Unknown database '*****'

  • 注: PolarDB-X では、DDL 文でデータベース名を指定できます。指定したデータベース名が PolarDB-X で使用可能なデータベース名に対応していない場合は、エラーコード TDDL-4616 が返されます。

    DDL 文のデータベース名を変更して、指定するデータベース名が PolarDB-X のデータベースに対応するようにすることをお勧めします。

TDDL-4620 ERR_FORBID_EXECUTE_DML_ALL

注:PolarDB-X で実行する DELETE 文または UPDATE 文に、条件が指定されている WHERE 句が含まれていない場合、このエラーが返されます。

TDDL-4633 ERR_DB_STATUS_READ_ONLY

  • 例:ERR-CODE: [TDDL-4633][ERR_DB_STATUS_READ_ONLY] Database is read-only, only read sql are supported

  • 注:使用しているアカウントにデータベースに対する読み取り専用権限しかない場合、このエラーが返されます。使用しているアカウントに制限付きの権限しかないかどうかを確認してください。

TDDL-4636 ERR_DDL_JOB_ERROR

DDL 文の実行に失敗したため、エラーコードが返されました。

例:

ERR-CODE: [TDDL-4636][ERR_DDL_JOB_ERROR] xxxx

DDL 文の実行に失敗した場合、エラーコードが返されます。詳細については、「DDL 例外を処理する」をご参照ください。

TDDL-4642 ERR_UNKNOWN_TABLE

データベースにテーブルが存在しないため、エラーコードが返されました。

例:

ERR-CODE: [TDDL-4642][ERR_UNKNOWN_TABLE] Unknown table XX.XX

現在のデータベースにテーブルが存在するかどうかを確認します。

TDDL-4707 ERR_OUT_OF_MEMORY

  • 説明:一時テーブルで使用されるメモリが制限を超えたために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4707][ERR_OUT_OF_MEMORY]

  • 注:データベースの安定性を確保するために、PolarDB-X は、各クエリの一時テーブルで使用できるメモリを制限します。クエリによって過剰な量のデータが取得された場合、エラーコード TDDL-4707 が返されます。こうすることで、ディスクへのスピル機能を有効にするか、クエリの一時テーブルで使用できるメモリを増やすことができます。

TDDL-4709 ERR_IVENTORY_HINT_NOT_SUPPORT_CROSS_SHARD

  • 例:ERR-CODE: [TDDL-4709][ERR_IVENTORY_HINT_NOT_SUPPORT_CROSS_SHARD]

  • 注:フラッシュセールスのシナリオでは、ホット行の最適化機能では、トランザクションが単一のシャードで実行される必要があります。トランザクションが複数のシャードで実行されている場合、エラーコード TDDL-4709 が返されます。ホット行の最適化機能が有効になっている場合は、トランザクションが単一のシャードで実行されるようにビジネスロジックを変更することをお勧めします。

TDDL-4994 ERR_FLOW_CONTROL

  • 説明:SQL リクエストの数が制限に達したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4994][ERR_FLOW_CONTROL] [*****] flow control by *****

  • 注:PolarDB-X によって処理される SQL リクエストの数が上限に達し、現在のリクエストが拒否された場合、このエラーが返されます。SQL リクエスト数のピーク値が予期どおりかどうかを確認することをお勧めします。SQL リクエストの数が減少してもエラー TDDL-4994 が解決しない場合は、テクニカルサポートに連絡してください。

TDDL-4998 ERR_NOT_SUPPORT

  • 説明:機能がサポートされていないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-4998][ERR_NOT_SUPPORT] ***** not support yet!

  • 注:使用している SQL 構文または機能が PolarDB-X でサポートされていない場合、このエラーが返されます。SQL 構文または機能が重要な場合は、テクニカルサポートに連絡してください。

TDDL-5001 ERR_TRANS

  • 説明:一般的なトランザクションエラーが発生したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-5001][ERR_TRANS] Too many lines updated in statement.

  • 注: エラーメッセージに基づいてエラーをトラブルシューティングします。

    • Too many lines updated in statement

      このエラーメッセージは、トランザクション内の UPDATE 文によって更新された行数が上限の 1,000 行を超えたために返されます。UPDATE 文の WHERE 句で指定されている条件を確認することをお勧めします。トランザクションで大量のデータを更新する必要がある場合は、PolarDB-X/*TDDL:UNDO_LOG_LIMIT={number}*/ ヒントを使用して上限を変更できます。

    • Deferred execution is only supported in Flexible or XA Transaction

      このエラーメッセージは、遅延実行機能がフレキシブル トランザクションと拡張アーキテクチャ (XA) トランザクションでのみサポートされているために返されます。PolarDB-X/*TDDL:DEFER*/ ヒントを含むトランザクションをコミットする前に、SET drds_transaction_policy = *** 文を実行して PolarDB-X データベースのトランザクション ポリシーを変更します。

    • その他のエラーメッセージが返された場合は、テクニカルサポートに連絡してください。

TDDL-5002 ERR_TRANS_UNSUPPORTED

  • 説明:トランザクションで使用されている構文または機能がサポートされていないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-5002][ERR_TRANS_UNSUPPORTED] Table without primary keys is not supported.

  • 注:トランザクションで使用する機能は、PolarDB-X ではサポートされていません。機能が重要な場合は、テクニカルサポートに連絡してください。

TDDL-5003 ERR_TRANS_LOG

  • 説明:トランザクションログにアクセスできないために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-5003][ERR_TRANS_LOG] Failed to update transaction state: *****

  • 注: PolarDB-X でトランザクションが実行されている場合、PolarDB-X はバックエンドデータノードに格納されているトランザクションログにアクセスします。これにより、分散トランザクションの原子性が確保されます。PolarDB-X がトランザクションログの読み取りまたは書き込みに失敗した場合、エラーコード TDDL-5003 が返されます。

    ほとんどの場合、エラー TDDL-5003 はバックエンドデータノードに障害が発生した場合に発生します。PolarDB-X で各バックエンドデータノードのステータスと各バックエンドデータノードへのアクセス負荷を確認することをお勧めします。バックエンドデータノードのトラブルシューティング後もエラー TDDL-5003 が続く場合は、テクニカルサポートに連絡してください。

TDDL-5006 ERR_TRANS_COMMIT

  • 説明:トランザクションのコミットに失敗したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-5006][ERR_TRANS_COMMIT] Failed to commit primary group *****: *****, TRANS_ID = *****

  • 注:PolarDB-X がトランザクションブランチをコミットするときにエラーが発生した場合、トランザクションは自動的にロールバックされます。TRANS_ID はトランザクションの ID を示します。ほとんどの場合、バックエンドデータノードに障害が発生した場合にエラー TDDL-5006 が発生します。PolarDB-X の各バックエンドデータノードのステータスと、各バックエンドデータノードのアクセス負荷を確認することをお勧めします。バックエンドデータノードのトラブルシューティングを行ってもエラー TDDL-5006 が解決しない場合は、テクニカルサポートに連絡してください。

TDDL-5008 ERR_TRANS_TERMINATED

  • 説明:KILL 文によって、またはタイムアウトのためにトランザクションが終了したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-5008][ERR_TRANS_TERMINATED] Current transaction was killed or timeout. You may need to set a longer timeout value.

  • 注:PolarDB-X のトランザクションが KILL 文によって、またはタイムアウトのために終了した場合、このエラーが返されます。drds_transaction_timeout パラメーターは、トランザクションのタイムアウト期間を指定します。トランザクションのタイムアウトが原因でこのエラーが返された場合は、SET drds_transaction_timeout = *** 文を実行して、PolarDB-X でのトランザクションの最大実行時間を変更することをお勧めします。drds_transaction_timeout 値の単位はミリ秒です。

TDDL-5010 ERR_TRANS_CONTINUE_AFTER_WRITE_FAIL

  • 説明:データの書き込みエラーが原因でトランザクションの実行またはコミット操作が終了したために返されるエラーコードです。

  • 例:ERR-CODE: [TDDL-5010][ERR_TRANS_CONTINUE_AFTER_WRITE_FAIL] Cannot continue or commit transaction after writing failed

  • 注:PolarDB-X の分散トランザクションでデータ書き込みエラーが発生した場合、トランザクションの実行は終了します。このシナリオでは、フロントエンドでトランザクションをロールバックして、トランザクションを再試行する必要があります。また、ログを使用して低速なトランザクションを分析することもできます。詳細については、「ログ分析」をご参照ください。

TDDL-5108 ERR_CHECK_PRIVILEGE_FAILED_ON_TABLE

注:アカウントにテーブルに必要な権限がないために返されるエラーコードです。アカウントに付与されている権限を確認してください。

TDDL-5119 ERR_FILE_CANNOT_BE_CREATE

注:PolarDB-XSELECT INTO OUTFILE 文をサポートしていないために返されるエラーコードです。この文を使用する必要がある場合は、テクニカルサポートに連絡してください。

TDDL-5302 ERR_GLOBAL_SECONDARY_INDEX_UNSUPPORTED

注:テーブルに GSI を作成できなかったために返されるエラーコードです。このエラーは、次のいずれかの理由で発生する可能性があります。テーブルが非パーティションテーブルまたはブロードキャストテーブルである。GSI の列にテーブルのパーティションキーが含まれていない。他の理由でこのエラーが発生した場合は、テクニカルサポートに連絡してください。

TDDL-5306 ERR_GLOBAL_SECONDARY_INDEX_INSERT_DUPLICATE_VALUES

注:データを挿入するときに GSI テーブルの主キーで競合が発生したために返されるエラーコードです。挿入するデータの主キー値がテーブルに存在するかどうかを確認してください。

TDDL-5308 ERR_GLOBAL_SECONDARY_INDEX_MODIFY_UNIQUE_KEY

注:DML 文を実行するときに GSI テーブルの一意キーで競合が発生したために返されるエラーコードです。挿入するデータの一意キー値がテーブルに存在するかどうかを確認してください。

TDDL-5310 ERR_GLOBAL_SECONDARY_INDEX_ONLY_SUPPORT_XA

注:XA または Timestamp Oracle(TSO)が分散トランザクションポリシーとして使用されている場合にのみ、GSI が PolarDB-X でサポートされているために返されるエラーコードです。GSI を作成する前にデフォルトのトランザクションポリシーが変更された場合に、このエラーが発生する可能性があります。この場合は、分散トランザクションポリシーを XA または TSO に変更して、GSI を再度作成します。

TDDL-5313 ERR_GLOBAL_SECONDARY_INDEX_MODIFY_GSI_TABLE_WITH_DDL

注:PolarDB-X が GSI テーブルでの DDL 操作をサポートしていないために返されるエラーコードです。この機能を使用する必要がある場合は、テクニカルサポートに連絡してください。

TDDL-5316 ERR_GLOBAL_SECONDARY_INDEX_INDEX_AND_SHARDING_COLUMNS_NOT_MATCH

注:PolarDB-X で GSI を作成するときに、グローバルインデックスのパーティションキーがインデックス列に含まれていないために返されるエラーコードです。グローバルインデックスにデータベースシャードキーやテーブルパーティションキーなど複数のパーティションキーがある場合は、すべてのキーをインデックス列に指定する必要があります。たとえば、CREATE GLOBAL INDEX idx_1 ON t(a, b) DBPARTITION BY HASH(c) を実行すると、エラーコード TDDL-5316 が返されます。これは、ON t(a, b) 句で a と b がインデックス列として指定されていますが、列にグローバルインデックスのパーティションキー c が含まれていないためです。このエラーが返された場合は、DDL 文で指定したインデックス列にグローバルインデックスのすべてのパーティションが含まれているかどうかを確認してください。

TDDL-5317 ERR_GLOBAL_SECONDARY_INDEX_CONTINUE_AFTER_WRITE_FAIL

  • 例:ERR-CODE: [TDDL-5317][ERR_GLOBAL_SECONDARY_INDEX_CONTINUE_AFTER_WRITE_FAIL] Cannot continue or commit transaction after writing global secondary index failed

  • 注:GSI が作成されているテーブルで DML 文を実行するときにこのエラーが返された場合、失敗した DML 文を含むトランザクションをコミットし続けることはできません。この場合は、ビジネスコードを変更してトランザクションをロールバックする必要があります。その後、トランザクションを再度開始できます。

TDDL-5321 ERR_GLOBAL_SECONDARY_INDEX_BACKFILL_DUPLICATE_ENTRY

注:GSI を作成するときにデータのバックフィル中にインデックステーブルの主キーで競合が発生したために返されるエラーコードです。インデックステーブルの主キー列に重複値が存在するかどうかを確認してください。

TDDL-8007 ERR_ABANDONED_TASK

注:不明な理由により、クエリが遅い、または 2 時間以上実行されているために返されるエラーコードです。PolarDB-X はクエリを終了し、エラーを返します。低速なクエリを最適化することをお勧めします。クエリを最適化した後もこのエラーが解決しない場合は、テクニカルサポートに連絡してください。

TDDL-8008 ERR_EXECUTE_SPILL

注:データをディスクにフラッシュするときにエラーが発生したために返されるエラーコードです。大量のデータをクエリすると、一時テーブルのデータがディスクにフラッシュされます。エラーのトラブルシューティングを行うには、テクニカルサポートに連絡してください。

TDDL-8011 ERR_OUT_OF_SPILL_SPACE

注:一時テーブルで生成されたファイルのサイズが、データフラッシュに使用される最大ディスクサイズを超えたために返されるエラーコードです。大量のデータをクエリすると、一時テーブルのデータがディスクにフラッシュされます。クエリを最適化し、一時テーブルが使用される回数を減らすことをお勧めします。クエリを最適化した後もこのエラーが解決しない場合は、テクニカルサポートに連絡してください。

TDDL-8012 ERR_OUT_OF_SPILL_FD

注:一時テーブルで生成されたファイルの数が、ファイルハンドルの最大数を超えたために返されるエラーコードです。大量のデータをクエリすると、一時テーブルのデータがディスクにフラッシュされます。テクニカルサポートに連絡して、ファイルハンドルのリークが発生していないことを確認してください。ファイルハンドルのリークが発生していないことを確認したら、必要に応じてファイルハンドルの最大数を増やすことができます。

TDDL-8102 ERR_PAGE_TOO_LARGE

注:バッチで処理されるデータの量が、リモートプロシージャコール(RPC)の最大値を超えたために返されるエラーコードです。超並列処理(MPP)が並列計算に使用される場合、データは計算ノードでバッチ処理されます。このエラーのトラブルシューティングを行うには、CHUNK_SIZE のデフォルト値をより小さい値に変更できます。

TDDL-8103 ERR_NO_NODES_AVAILABLE

注:使用可能な計算ノードがないために返されるエラーコードです。MPP が並列計算に使用される場合、計算ノードの障害が発生する可能性があります。これにより、計算ノードのスケジューリングに失敗する可能性があります。このエラーのトラブルシューティングを行うには、各計算ノードが予期どおりに実行されているかどうかを確認します。各計算ノードが予期どおりに実行されていることを確認した後もこのエラーが解決しない場合は、テクニカルサポートに連絡してください。

TDDL-9301 ERR_DUPLICATED_PARTITION_NAME

注:DDL 文で指定したパーティションの名前がすでに存在するために返されるエラーコードです。

TDDL-9305 ERR_PARTITION_NAME_NOT_EXISTS

注:DDL 文で指定したパーティションの名前が存在しないために返されるエラーコードです。パーティションの名前が有効かどうかを確認してください。SHOW CREATE TABLE 文と CHECK TABLE 文を実行して、パーティション内のデータがテーブルのメタデータと一致するかどうかを確認できます。データがメタデータと一致しない場合に、このエラーが発生する可能性があります。この場合は、テクニカルサポートに連絡してください。

TDDL-10004 ERR_X_PROTOCOL_RESULT

  • 例:ERR-CODE: [TDDL-10004][ERR_X_PROTOCOL_RESULT] Should use chunk2chunk to fetch data

  • 注:計算ノードがデータノードへの接続を確立できないために返されるエラーコードです。PolarDB-X では、計算ノードはプライベート RPC を使用してデータノードと通信します。このエラーは複数の理由で発生する可能性があります。エラーメッセージに基づいてエラーのトラブルシューティングを行うことができます。問題を特定できない場合は、テクニカルサポートに連絡してください。