このトピックでは、PolarDB-Xで返される一般的なエラーコードと、エラーのトラブルシューティング方法について説明します。
PXC-1305 ERR_UNKNOWN_SAVEPOINT
PXC-1094 ERR_UNKNOWN_THREAD_ID
PXC-4007 ERR_CANNOT_FETCH_TABLE_META
PXC-4018 ERR_INVALID_DDL_PARAMS
PXC-4100 ERR_ATOM_NOT_AVALILABLE
PXC-4101 ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON
PXC-4102 ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON
PXC-4103 ERR_ATOM_CONNECTION_POOL_FULL
PXC-4104 ERR_ATOM_CREATE_CONNECTION_TOO_SLLOW
PXC-4105 ERR_ATOM_ACCESS_DENIED
PXC-4108 ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW
PXC-4201 ERR_GROUP_NO_ATOM_利用可能
PXC-4202 ERR_SQL_QUERY_TIMEOUT
PXC-4203 ERR_SQL_QUERY_MERGE_TIMEOUT
PXC-4403 ERR_MISS_SEQUENCE_TABLE_ON_DEFAULT_DB
PXC-4404 ERR_SEQUENCE_TABLE_META
PXC-4405 ERR_INIT_SEQUENCE_FROM_DB
PXC-4407 ERR_OTHER_WHEN_BUILD_SEQUENCE
PXC-4408 ERR_SEQUENCE_NEXT_VALUE
PXC-4502 ERR_OPTIMIZER_MISS_ORDER_FUNCTION_IN_SELECT
PXC-4504 ERR_OPTIMIZER_SELF_CROSS_JOIN
PXC-4506 ERR_MODIFY_SHARD_COLUMN
PXC-4508 ERR_OPTIMIZER_NOT_ALLOWED_SORT_MERGE_JOIN
PXC-4509 ERR_OPTIMIZER_ERROR_ヒント
PXC-4510 ERR_CONTAINS_NO_SHARDING_KEY
PXC-4511 ERR_INSERT_CONTAINS_NO_SHARDING_KEY
PXC-4515 ERR_CONNECTION_CHARSET_NOT_MATCH
PXC-4517 ERR_MODIFY_SYSTEM_TABLE
PXC-4520 ERR_DML_WITH_SUBQUERY
PXC-4523 ERR_TODNF_LIMIT_EXCEED
PXC-4524 ERR_TOCNF_LIMIT_EXCEED
PXC-4526 ERR_FUNCTION_NOT_FOUND
PXC-4527 ERR_MODIFY_SHARD_COLUMN_ON_TABLE_WITHOUT_PK
PXC-4603 ERR_ACCROSS_DB_TRANSACTION
PXC-4604 ERR_CONCURRENT_TRANSACTION
PXC-4610 ERR_CONNECTION_CLOSED
PXC-4620 ERR_FORBID_EXECUTE_DML_ALL
PXC-4633 ERR_DB_STATUS_READ_のみ
PXC-4709 ERR_IVENTORY_HINT_NOT_SUPPORT_CROSS_SHARD
PXC-5010 ERR_TRANS_CONTINUE_AFTER_WRITE_FAIL
PXC-5108 ERR_CHECK_PRIVILEGE_FAILED_ON_TABLE
PXC-5119 ERR_FILE_CANNOT_BE_CREATE
PXC-5302 ERR_GLOBAL_SECONDARY_INDEX_未サポート
PXC-5306 ERR_GLOBAL_SECONDARY_INDEX_INSERT_DUPLICATE_値
PXC-5308 ERR_GLOBAL_SECONDARY_INDEX_MODIFY_UNIQUE_KEY
PXC-5310 ERR_GLOBAL_SECONDARY_INDEX_ONLY_SUPPORT_XA
PXC-5313 ERR_GLOBAL_SECONDARY_INDEX_MODIFY_GSI_TABLE_WITH_DDL
PXC-5316 ERR_GLOBAL_SECONDARY_INDEX_INDEX_AND_SHARDING_COLUMNS_NOT_MATCH
PXC-5317 ERR_GLOBAL_SECONDARY_INDEX_CONTINUE_AFTER_WRITE_FAIL
PXC-5321 ERR_GLOBAL_SECONDARY_INDEX_BACKFILL_DUPLICATE_ENTRY
PXC-8011 ERR_OUT_OF_SPILL_SPACE
PXC-9301 ERR_DUPLICATED_PARTITION_NAME
PXC-9305 ERR_PARTITION_NAME_NOT_EXISTS
PXC-10004 ERR_X_PROTOCOL_RESULT
PXC-1305 ERR_UNKNOWN_SAVEPOINT
説明: 指定されたセーブポイントが存在しない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-1305][ERR_UNKNOWN_SAVEPOINT] SAVEPOINT ***** は存在しません
注: PolarDB-Xで
ROLLBACK TO SAVEPOINT
またはRELEASE SAVEPOINT
ステートメントを実行すると、指定されたセーブポイントが存在しない場合、エラーコードPXC-1305が返されます。savepointステートメントで指定したSAVEPOINTが有効かどうかを確認することを推奨します。
PXC-1094 ERR_UNKNOWN_THREAD_ID
説明: KILLステートメントで指定されたセッションIDが存在しない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-1094][ERR_UNKNOWN_THREAD_ID] Unknown thread id: *****
注: PolarDB-Xで
KILL
ステートメントを実行して実行中のSQLステートメントを終了すると、指定されたセッションIDが存在しないか、SQLステートメントが終了した場合、エラーコードPXC-1094が返されます。SHOW PROCESSLIST
ステートメントを実行して、実行中のSQLステートメントに対応するセッションIDを照会し、返された結果にIDが存在するセッションに対してのみKILL
ステートメントを実行することを推奨します。
PXC-4006 ERR_TABLE_NOT_EXIST
説明: データテーブルがPolarDB-Xに存在しない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4006][ERR_TABLE_NOT_EXIST] テーブル '*****' は存在しません。
注: データテーブルがPolarDB-Xに存在しない場合、またはPolarDB-Xが原因でデータテーブルのメタデータの読み込みに失敗した場合、エラーコードが返されます。
PXC-4007 ERR_CANNOT_FETCH_TABLE_META
説明: PolarDB-Xがテーブルのメタデータの読み込みに失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4007][ERR_CANNOT_FETCH_TABLE_META] テーブル '*****.*****' が存在しないため、テーブル '*****' メタデータを取得できません。
注: PolarDB-Xがテーブルのメタデータのクエリに失敗した場合、エラーコードが返されます。 このエラーは、次のいずれかの理由で発生する可能性があります。
テーブルは作成されません。
テーブルのデータは、保持されているメタデータベースのデータと一致しません。
テーブルが削除または名前変更されます。
このエラーが返された場合は、指定された名前のテーブルが存在するかどうかを確認するか、または
check table
ステートメントを実行して、テーブルのデータがPolarDB-Xで管理されているメタデータベースのデータと一致しているかどうかを確認します。 テーブルが手動で削除または名前変更されていることを確認した場合、PolarDB-Xのデータ復元機能を使用してデータを復元できます。 エラーが解決しない場合は、テクニカルサポートにお問い合わせください。
PXC-4018 ERR_INVALID_DDL_PARAMS
説明: PolarDB-XでDDL操作が失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4018][ERR_INVALID_DDL_PARAMS] invalid '*****' 。
注: DDLステートメントで指定した1つ以上のパラメーターが無効な場合、エラーコードが返されます。 ステートメント内のすべてのパラメーターが有効かどうかを確認します。 すべてのパラメーターが有効であることを確認してもエラーが続く場合は、テクニカルサポートにお問い合わせください。
PXC-4100 ERR_ATOM_NOT_AVALILABLE
説明: PolarDB-Xのバックエンドデータノードが使用できない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4100][ERR_ATOM_NOT_AVALILABLE] アトム: ***** isNotAvailable
注: PolarDB-Xがバックエンドのデータノードが期待どおりに実行されていないことを検出した場合、エラーコードPXC-4100が返されます。 このシナリオでは、PolarDB-Xインスタンスへのアクセスは拒否されます。
エラーが発生した場合は、PolarDB-Xインスタンスのすべてのバックエンドデータノードが期待どおりに実行されているかどうかを確認します。 バックエンドのデータノードが異常状態から回復すると、PolarDB-Xは自動的にデータノードを使用可能にし、アプリケーションがデータノードにアクセスできるようにします。
PXC-4101 ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON
説明: 計算ノードがPolarDB-Xのデータノードに接続できなかった場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4101][ERR_ATOM_GET_CONNECTION_FAILED_UNKNOWN_REASON] プールからdb '*****' の接続を取得できませんでした。 アプリ名: ***** 、Env:***** 、UnitName:null。 プールからのメッセージ: wait millis 5000, active 0, maxActive 5. 本当の理由を含む次のログを探す必要があります。
注: PolarDB-Xがリクエストを処理すると、PolarDB-Xはデータノードへの非同期接続を確立します。 データノードが一定期間内に計算ノードへの接続に失敗し、非同期タスクのエラー原因が返されない場合、PolarDB-XはアプリケーションにPXC-4101されたエラーコードを返します。
ほとんどの場合、バックエンドデータノードで例外が発生するとエラーが発生します。 データノードのトラブルシューティング後にエラーが発生しない場合は、テクニカルサポートにお問い合わせください。
PXC-4102 ERR_ATOM_GET_CONNECTION_FAILED_KNOWN_REASON
説明: コンピュートノードからデータノードへの接続がPolarDB-Xバックエンドで確立できない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-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のデータノードは、次のいずれかの原因で接続に失敗する可能性があります。
バックエンドデータノードの接続数がしきい値に達しました。
計算ノードからデータノードへの接続がタイムアウトします。
データノードは接続を拒否します。
バックエンドデータノードのトラブルシューティング後にエラーが発生しない場合は、テクニカルサポートにお問い合わせください。
PXC-4103 ERR_ATOM_CONNECTION_POOL_FULL
説明: PolarDB-Xのバックエンドデータノードの接続プールがいっぱいの場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4103][ERR_ATOM_CONNECTION_POOL_FULL] DB '*****' のプールがいっぱいです。 プールからのメッセージ: wait millis 5000, active 5, maxActive 5. アプリ名: *****, Env:*****, UnitName:null.
注: PolarDB-Xのバックエンド接続プールがいっぱいの場合、エラーコードが返されます。 次のいずれかの原因により、エラーコードPXC-4103が返されることがあります。
アプリケーションから送信されたSQL文の実行は遅く、長時間の接続を介して操作が実行されます。 その結果、利用可能なコネクションの数が不足する。
アプリケーションはデータベースへの接続を閉じません。 これは接続リークを引き起こす。
多数のデータベース間クエリは、多数の接続にわたって並列に実行される。 クロスデータベースクエリには、集計および統計分析のクエリと、条件句でシャーディングキーが指定されていないクエリが含まれます。
次の方法を使用してこの問題を解決することを推奨します。
Spring JDBCやMyBatisなどのフレームワークを使用してデータベースにアクセスします。
パフォーマンス分析レポートとデータベース管理者の提案に基づいて、SQLクエリを最適化します。
PolarDB-Xの読み書き分離機能を使用して、データベース間クエリを読み取り専用ノードに転送します。
PolarDB-Xインスタンスの仕様を増やして、処理パフォーマンスを向上させます。
PolarDB-Xでサポートできる接続数を変更するには、テクニカルサポートにお問い合わせください。
PXC-4104 ERR_ATOM_CREATE_CONNECTION_TOO_SLOW
説明: PolarDB-Xでバックエンドデータノードへの接続が確立されたときにタイムアウトが発生したために返されるエラーコード。
例:
ERR-CODE: [PXC-4104][ERR_ATOM_CREATE_CONNECTION_TOO_SLOW] プールのタイムアウトからdb '*****' の接続を取得します。 アプリ名: ***** 、Env:***** 、UnitName:null。 プールからのメッセージ: wait millis 5000, active 3, maxActive 5.
注: PolarDB-Xが非同期でデータノードへの接続を確立する場合、短時間で多数の接続が確立された場合、またはデータノードへの接続が低速で確立された場合、接続タイムアウトが発生します。 ほとんどの場合、このエラーは、バックエンドデータノードが重いワークロードを処理する場合に発生します。 PolarDB-Xの読み書き分離機能を使用してワークロードのバランスを取るか、インスタンスの仕様をアップグレードすることを推奨します。
バックエンドデータノードのトラブルシューティング後にエラーが発生しない場合は、テクニカルサポートにお問い合わせください。 短時間で多数の接続が確立されたためにエラーが発生した場合は、テクニカルサポートに連絡して、PolarDB-Xでサポートされている最小接続数を変更することをお勧めします。
PXC-4105 ERR_ATOM_ACCESS_DENIED
説明: PolarDB-Xでバックエンドデータノードへの接続が拒否された場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4105][ERR_ATOM_ACCESS_DENIED] DB '*****' ユーザー '*****' @ '******' のアクセスが拒否されました。 アプリ名: ***** 、Env:***** 、UnitName:null。 DBAに連絡して確認してください。
注: データノードに接続するためのユーザー名とパスワードを入力した後、PolarDB-Xのデータノードが接続を拒否した場合、このエラーが返されます。 この問題を解決するには、テクニカルサポートにお問い合わせください。
PXC-4106 ERR_ATOM_DB_DOWN
説明: バックエンドデータノードをPolarDB-Xで接続できない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4106][ERR_ATOM_DB_DOWN] DB '*****' は接続できません。 アプリ名: ***** 、Env:***** 、UnitName:null。 このDBがダウンしている可能性は非常に現実的です。 DBAに連絡して確認してください。
注: PolarDB-Xがバックエンドデータノードへの接続を確立すると、接続がタイムアウトするか、データノードがリクエストに応答しない場合、このエラーが返されます。 ほとんどの場合、このエラーはデータノードに障害が発生した場合に発生します。 この問題を解決するには、テクニカルサポートにお問い合わせください。
PXC-4108 ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW
説明: 変数の値がNULLに設定されている場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4108][ERR_VARIABLE_CAN_NOT_SET_TO_NULL_FOR_NOW] システム変数 ***** は今すぐnullに設定できません。
注:
SET
ステートメントを実行して、データノードの特定の変数の値をNULLに設定することはできません。 変数の値がNULLに設定されている場合、PolarDB-XはエラーコードPXC-4108を返します。
PXC-4200 ERR_GROUP_NOT_AVALILABLE
説明: PolarDB-Xのデータノードが使用できない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4200][ERR_GROUP_NOT_AVALILABLE] TDDLグループ ***** は、***** として致命的な例外を投げたこのSQL:***** に起因して、フェイルファストステータスで実行されています。
注: データベースシャード内のデータノードにアクセスできず、そのシャード内で他のデータノードを使用できない場合、PolarDB-Xはデータベースシャードの状態をfail-fastに変更し、エラーコードPXC-4200を返します。
ほとんどの場合、このエラーはデータノードに障害が発生した場合に発生します。 データノードに関するエラー情報に基づいてエラーのトラブルシューティングを行うことを推奨します。 障害が発生したデータノードが回復すると、PolarDB-Xは自動的にデータノードをfail-fast状態から回復します。
データノードのトラブルシューティング後にエラーPXC-4200が続く場合は、テクニカルサポートにお問い合わせください。
PXC-4201 ERR_GROUP_NO_ATOM_AVALILABLE
説明: PolarDB-Xデータベースシャードで使用可能なデータノードがない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4201][ERR_GROUP_NO_ATOM_AVALILABLE] グループ '*****' のDBのすべての重みは0です。 重みは ***** です。
注: データベースシャード内のすべてのデータノードが使用できないか、またはフェールファースト状態にある場合、PolarDB-XはエラーコードPXC-4201を返します。
ほとんどの場合、このエラーはすべてのデータノードに障害が発生した場合に発生します。 各バックエンドデータノードのステータスを確認して、問題を特定して解決します。 データノードのトラブルシューティング後にエラーPXC-4201が続く場合は、テクニカルサポートにお問い合わせください。
PXC-4202 ERR_SQL_QUERY_TIMEOUT
説明: PolarDB-Xのクエリがタイムアウトした場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4202][ERR_SQL_QUERY_TIMEOUT] 遅いクエリはタイムアウト例外につながります。遅いsqlをチェックするにはDBAに連絡してください。 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でタイムアウト期間を完全に変更する場合は、テクニカルサポートにお問い合わせください。
PXC-4203 ERR_SQL_QUERY_MERGE_TIMEOUT
説明: PolarDB-Xで分散データをクエリするときにタイムアウトが発生したために返されるエラーコード。
例:
ERR-CODE: [PXC-4203][ERR_SQL_QUERY_MERGE_TIMEOUT] 遅いsqlクエリは、結果のマージ中にタイムアウト例外を引き起こします。遅いsqlを最適化してください。 デフォルトのタイムアウトは *** msです。 DBは *****
です注: PolarDB-Xの分散データに対するクエリの場合、デフォルトのタイムアウト期間は900秒です。 複数のデータベースシャードに対してSQLクエリが実行され、SQLクエリの実行に必要な期間が900秒を超えると、エラーコードPXC-4203が返されます。
次の方法を使用して、SQLクエリを最適化することを推奨します。
WHERE句にシャードキーを含めます。 このようにして、SQLクエリは特定のデータベースシャードで実行するように最適化されます。
バックエンドデータノードに適切なインデックスを作成できるかどうかを確認します。 適切なインデックスは、データベースシャードのクエリパフォーマンスを向上させることができます。
データベース間のJOIN操作やデータ並べ替え操作など、長時間を要する分散クエリの操作を排除します。 これにより、PolarDB-Xでのデータマージ中に消費されるリソース量を削減できます。
最適化されたSQLクエリがまだ遅い場合は、次の構文を使用して、PolarDB-Xにクエリのタイムアウト期間を設定するヒントを含めることができます。
/* TDDL:SOCKET_TIMEOUT=900000 */ SELECT * FROM dual;
構文では、SOCKET_TIMEOUTパラメーターの値はミリ秒単位で測定されます。 PolarDB-Xでヒントを使用する方法の詳細については、「SQL文のタイムアウト期間を指定する方法」をご参照ください。
PXC-4400 ERR_SEQUENCE
説明: グローバルに一意なシーケンスの処理に失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4400][ERR_SEQUENCE] Sequence : All dataSource faild to get value!
注: このエラーは、グローバルに一意なシーケンスの処理に失敗した場合に返されます。 返されるエラーメッセージは、
Sequence :
の後に指定されます。 ほとんどの場合、データノードに障害が発生した場合、エラーコードPXC-4400が返されます。 その結果、シーケンスに対応するテーブルにアクセスできなくなります。各バックエンドデータノードのステータスを確認することを推奨します。 バックエンドデータノードのトラブルシューティング後にエラーが発生しない場合は、テクニカルサポートにお問い合わせください。
PXC-4401 ERR_MISS_SEQUENCE
説明: シーケンスが存在しない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4401][ERR_MISS_SEQUENCE] シーケンス '*****' が見つかりません
注: ステートメントで指定したシーケンスは存在しません。
SHOW SEQUENCES
ステートメントを実行して、PolarDB-Xで作成した各シーケンスの名前を照会し、有効なシーケンス名を指定することを推奨します。指定したシーケンスが存在しない場合は、次のステートメントを実行してシーケンスを作成できます。
CREATE SEQUENCE <sequence name> [ START WITH <numeric value> ] [ INCREMENT BY <numeric value> ] [ MAXVALUE <numeric value> ] [ CYCLE | NOCYCLE ]`
指定したシーケンスが存在し、エラーPXC-4401が続く場合は、テクニカルサポートにお問い合わせください。 PolarDB-Xでシーケンスを使用する方法の詳細については、「概要」をご参照ください。
PXC-4403 ERR_MISS_SEQUENCE_TABLE_ON_DEFAULT_DB
説明: シーケンスに対応するテーブルが存在しない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4403][ERR_MISS_SEQUENCE_TABLE_ON_DEFAULT_DB] シーケンステーブルはデフォルトではありません。
注: sequenceまたはsequence_optという名前のテーブルには、PolarDB-Xバックエンドのデータベースからアクセスできません。 エラーをトラブルシューティングするには、テクニカルサポートにお問い合わせください。
PXC-4404 ERR_SEQUENCE_TABLE_META
説明: シーケンスに対応するテーブルのスキーマが無効な場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4404][ERR_SEQUENCE_TABLE_META] シーケンステーブルのメタがエラーで、一部の列が欠落しています
注: シーケンスに対応するテーブルには特定のフィールドがありません。 これには、sequenceまたはsequence_optという名前のテーブルが含まれます。 エラーをトラブルシューティングするには、テクニカルサポートにお問い合わせください。
PXC-4405 ERR_INIT_SEQUENCE_FROM_DB
説明: シーケンスの初期化に失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4405][ERR_INIT_SEQUENCE_FROM_DB] initシーケンスマネージャーエラー: *****
注: 使用するシーケンスの初期化に失敗した場合、エラーコードPXC-4405が返されます。 返されるエラーメッセージは、initシーケンスマネージャーエラーの後に指定されます。 PolarDB-Xで各バックエンドデータノードのステータスを確認することを推奨します。 バックエンドデータノードのトラブルシューティング後にエラーPXC-4405が続く場合は、テクニカルサポートにお問い合わせください。
PXC-4407 ERR_OTHER_WHEN_BUILD_SEQUENCE
説明: シーケンスに対応するテーブルにアクセスしたときにエラーが発生した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4407][ERR_OTHER_WHEN_BUILD_SEQUENCE] error when build sequence: *****
注: シーケンスに対応するテーブルにアクセスするとエラーが発生します。 これには、sequenceまたはsequence_optという名前のテーブルが含まれます。 返されるエラーメッセージは、ビルドシーケンス時にエラーの後に指定されます。
PolarDB-Xで各バックエンドデータノードのステータスを確認することを推奨します。 データノードのトラブルシューティング後にエラーPXC-4407が続く場合は、テクニカルサポートにお問い合わせください。
PXC-4408 ERR_SEQUENCE_NEXT_VALUE
説明: シーケンス値の取得に失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4408][ERR_SEQUENCE_NEXT_VALUE] error when get sequenceの次の値、sequence is: ******, error: *****
注: PolarDB-XのテーブルのプライマリキーにAUTO_INCREMENT属性を設定するか、
<Sequence name>.NEXTVAL
構文を使用してGUIDを取得すると、エラーが発生します。 返されるエラー原因は、errorの後に指定されます。バックエンドデータノードに障害が発生した場合、エラーコードPXC-4408が返されます。 PolarDB-Xで、各バックエンドデータノードのステータスと各バックエンドデータノードのアクセス負荷を確認することを推奨します。 バックエンドデータノードのトラブルシューティング後にエラーPXC-4408が続く場合は、テクニカルサポートにお問い合わせください。
PXC-4500 ERR_PARSER
説明: SQL文の解析に失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4500][ERR_PARSER] not support statement: '*****'
注: PolarDB-Xは、SQL-92標準に準拠したSQL構文と、MySQLでサポートされている拡張構文および機能をサポートしています。 実行したSQL文が、PolarDB-Xでサポートされている標準SQL構文およびMySQL仕様に準拠しているかどうかを確認します。
標準SQL構文の詳細については、「標準SQL構文」をご参照ください。 SQL互換性の詳細については、「SQL構文の制限」をご参照ください。 実行したSQL文が上記の構文規則に準拠しており、エラーPXC-4500が続く場合は、テクニカルサポートにお問い合わせください。
PXC-4501 ERR_OPTIMIZER
説明: オプティマイザがSQL文の変換に失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4501][ERR_OPTIMIZER] optimize error by: Unknown column 'in 'order clause'
注: PolarDB-Xのオプティマイザは、SQL文を内部構文ツリーに変換します。 SQL文でロジックエラーが発生した場合、オプティマイザはSQL文の変換に失敗します。 この場合、エラーコードPXC-4501が返されます。
最適化エラーの後に指定された情報に基づいて、SQL文をチェックおよび変更することを推奨します。 SQLステートメントの変更後もエラーPXC-4501が続く場合は、テクニカルサポートにお問い合わせください。
PXC-4502 ERR_OPTIMIZER_MISS_ORDER_FUNCTION_IN_SELECT
説明: ORDER BY句には列を返す関数が含まれていますが、SELECT句にはその関数が含まれていないため、エラーコードが返されます。
例:
ERR-CODE: [PXC-4502][ERR_OPTIMIZER_MISS_ORDER_FUNCTION_IN_SELECT] 構文エラー: orderBy/GroupBy列 ***** はselect clauseに存在しません
注: PolarDB-Xでは、ORDER BY句に列を返す関数 (RAND() 関数など) が含まれている場合、その関数もSELECT句で指定する必要があります。 SELECT句に関数が含まれていない場合は、エラーコードPXC-4502が返されます。
SELECT句に関数を含めることを推奨します。
PXC-4504 ERR_OPTIMIZER_SELF_CROSS_JOIN
説明: 条件がないためにテーブルがそれ自体に結合されなかった場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4504][ERR_OPTIMIZER_SELF_CROSS_JOIN] self cross join case, add shard column filter on right table
注: PolarDB-Xがテーブルに対してSELF JOINクエリを実行するとき、WHERE句に左側のテーブルのシャードキーのみ、または右側のテーブルのシャードキーのみが含まれている場合、エラーコードPXC-4504が返されます。
SQL文を変更して、左側のテーブルのシャードキーと右側のテーブルのシャードキーを含めることをお勧めします。
PXC-4506 ERR_MODIFY_SHARD_COLUMN
説明: テーブルのシャードキーを変更できない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4506][ERR_MODIFY_SHARD_COLUMN] 列 '*****' は、テーブル '*****' のシャーディングキーであり、変更が禁止されています。
注: このエラーは、テーブルのシャードキーを変更しようとすると返されます。 PolarDB-Xでは、グローバルセカンダリインデックス (GSI) が作成されているテーブルのシャードキーを変更することはできません。
UPDATEステートメントを、UPDATEステートメントと同じ効果を持つINSERTステートメントとDELETEステートメントに置き換えることをお勧めします。
PXC-4508 ERR_OPTIMIZER_NOT_ALLOWED_SORT_MERGE_JOIN
説明: ソートマージ結合を実行できないために返されるエラーコード。
例:
ERR-CODE: [PXC-4508][ERR_OPTIMIZER_NOT_ALLOWED_SORT_MERGE_JOIN] sort merge join is not allowed when missing equivalent filter
注: 結合操作を実行するテーブルが異なるデータノードに格納されている場合、PolarDB-Xはソートマージ結合アルゴリズムを選択します。 このアルゴリズムは、SQL文で左右のテーブルに等価結合条件を指定した場合にのみ使用できます。 左右のテーブルに指定した結合条件に等しい条件が含まれていない場合、PolarDB-XはエラーコードPXC-4508を返します。
SQLステートメントを変更して、JOIN句またはWHERE句に等価条件を含めることを推奨します。
PXC-4509 ERR_OPTIMIZER_ERROR_HINT
例:
ERR-CODE: [PXC-4509][ERR_OPTIMIZER_ERROR_HINT] ヒント構文エラー: 予期しない操作: ***** 。
注: このエラーは、SQL文に含めたヒントの構文をPolarDB-Xで解析できない場合に返されます。 ヒント構文の詳細については、「ヒントの使用方法」をご参照ください。
PXC-4510 ERR_CONTAINS_NO_SHARDING_KEY
説明: シャードキーがSQL文にない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4510][ERR_CONTAINS_NO_SHARDING_KEY] SQLには、DEFAULTでは許可されていないテーブル '*****' の共有キー '*****' が含まれています。
注: このエラーは、フルテーブルスキャンが無効になっていて、SQLステートメントでシャードキーが指定されていない場合に返されます。 デフォルトでは、PolarDB-Xはテーブルを作成するときにフルテーブルスキャンを有効にします。 テーブル全体のスキャン機能が手動で無効になっている場合は、テーブル内のデータをスキャンする各SQL文でテーブルのシャードキーが指定されていることを確認してください。
PXC-4511 ERR_INSERT_CONTAINS_NO_SHARDING_KEY
説明: INSERTステートメントにシャードキーがない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4511][ERR_INSERT_CONTAINS_NO_SHARDING_KEY] INSERT SQLには、テーブル '*****' の共有キー '*****' が含まれていません。
注: PolarDB-Xで、INSERTステートメントを実行してシャードテーブルにデータを挿入する場合は、insertステートメントでテーブルのシャードキーの値を指定する必要があります。 これは、シャードキーが自動インクリメント主キーであるテーブルではオプションです。 INSERTステートメントにシャードキー値が含まれていない場合、PolarDB-XはエラーコードPXC-4511を返します。
このエラーが発生した場合は、INSERTステートメントにシャードキーの値を含めることを推奨します。
PXC-4515 ERR_CONNECTION_CHARSET_NOT_MATCH
説明: 指定した文字列の文字セットがデータベースの文字セットと異なる場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4515][ERR_CONNECTION_CHARSET_NOT_MATCH] MySQLのcharacter_set_connectionが入力文字セットと一致しません。 パーティションDDLは、ASCIIまたは中国語の列名のみを取得できます。 あなたが望むなら中国のテーブルまたは列名を使用してください、MySQL接続のcharsetが漢字をサポートしていることを確認してください。 "set names xxx" を使用して正しいcharsetを設定します。
注: PolarDB-Xは、テーブル名と列名の漢字をサポートしています。 character_set_connectionパラメーターは、PolarDB-Xデータベースで使用される接続文字セットを指定します。 漢字を含むSQLステートメントを実行すると、character_set_connectionパラメーターが漢字をサポートしない値 (latin1など) に設定されている場合、エラーコードPXC-4515が返されます。
SHOW VARIABLES LIKE 'character_set_connection '
ステートメントを実行して、PolarDB-XデータベースとMySQLクライアント間の接続に使用される文字セットを照会できます。SET NAMES
ステートメントを実行して、PolarDB-Xデータベースの文字セットを変更できます。 Java Database Connectivity (JDBC) を使用してPolarDB-Xデータベースに接続する場合は、characterEncodingパラメーターを設定します。
PXC-4517 ERR_MODIFY_SYSTEM_TABLE
説明: システムテーブルを変更できないために返されるエラーコード。
例:
ERR-CODE: [PXC-4617][ERR_MODIFY_SYSTEM_TABLE] テーブル '*****' はPolarDB-XSYSTEM Tableであり、変更が禁止されています。
注: SQLステートメントを実行してPolarDB-Xシステムテーブルのデータを変更すると、エラーコードPXC-4517が返されます。 sequence、sequence_opt、txc_undo_logなどのシステムテーブルは変更できません。 システムテーブルの名前がデータベースのテーブル名として使用されていないことを確認してください。
PXC-4520 ERR_DML_WITH_SUBQUERY
説明: サブクエリをDMLステートメントで使用できないために返されるエラーコード。
例:
ERR-CODE: [PXC-4520][ERR_DML_WITH_SUBQUERY] DO NOT support UPDATE/DELETE with subQuery
注: PolarDB-XはDMLステートメントのサブクエリをサポートしていません。 このエラーが発生した場合は、SQL文にサブクエリが含まれないようにSQL文を変更することをお勧めします。
PXC-4521 ERR_INSERT_SHARD
説明: レコードが挿入されたときにレコードが複数のシャードにルーティングされるために返されるエラーコード。
例:
ERR-CODE: [PXC-4521][ERR_INSERT_SHARD] 挿入するグループを決定できません
注: データを挿入すると、レコードは複数のシャードにルーティングされます。 その結果、PolarDB-Xは、レコードを挿入するシャードを特定できません。 このエラーが発生した場合は、テクニカルサポートにお問い合わせください。
PXC-4523 ERR_TODNF_LIMIT_EXCEED
説明: WHERE句で指定できるクエリ条件の最大数に達した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4523][ERR_TODNF_LIMIT_EXCEED] toDnfが制限サイズを超えています
注: PolarDB-Xは、SQLステートメントのWHERE句で指定されているクエリ条件に対して、接続正規形式 (CNF) と分離正規形式 (DNF) の間の式変換を実行します。 これにより、条件の推定と計算のパフォーマンスが最適化されます。 安定した最適化を確保するために、PolarDB-Xはクエリ条件の数を2,000に制限します。 さらにクエリ条件を指定する場合は、DNF_REX_NODE_LIMITパラメーターを大きい値に設定します。
PXC-4524 ERR_TOCNF_LIMIT_EXCEED
説明: WHERE句で指定できるクエリ条件の最大数に達した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4524][ERR_TODNF_LIMIT_EXCEED] toCnfが制限サイズを超えています
注: PolarDB-Xは、SQLステートメントのWHERE句で指定されているクエリ条件に対して、接続正規形式 (CNF) と分離正規形式 (DNF) の間の式変換を実行します。 これにより、条件の推定と計算のパフォーマンスが最適化されます。 安定した最適化を確保するために、PolarDB-Xはクエリ条件の数を2,000に制限します。 さらにクエリ条件を指定する場合は、CNF_REX_NODE_LIMITパラメーターを大きい値に設定します。
PXC-4526 ERR_FUNCTION_NOT_FOUND
説明: 関数がサポートされていない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4526][ERR_FUNCTION_NOT_FOUND] 関数シグネチャの一致が見つかりません
注: このエラーは、SQLクエリに含める関数の構文が正しくない場合、または関数が無効な場合に返されます。 SQLクエリで関数を呼び出すために使用するパラメーターの数と種類が正しいかどうかを確認することをお勧めします。
PXC-4527 ERR_MODIFY_SHARD_COLUMN_ON_TABLE_WITHOUT_PK
説明: 主キーがないテーブルでは、データベースシャードキーを変更できない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4527][ERR_MODIFY_SHARD_COLUMN_ON_TABLE_WITHOUT_PK]
注: PolarDB-Xでは、プライマリキーがないテーブルのデータベースシャードキーを変更することはできません。
PXC-4595 ERR_UNKNOWN_TZ
説明: タイムゾーンの設定が無効な場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4595][ERR_UNKNOWN_TZ]
注: タイムゾーンの設定に使用する構文と形式が有効かどうかを確認することをお勧めします。
PXC-4600 ERR_FUNCTION
説明: 関数の呼び出しに失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4600][ERR_FUNCTION] 関数は、ネイティブ関数 '*****' への呼び出しで不正なパラメーターカウントによるエラーを計算します
注: このエラーは、SQLクエリに含める関数の構文またはパラメーターが正しくない場合に返されます。 SQLクエリで関数を呼び出すために使用するパラメーターの数と種類が正しいかどうかを確認することをお勧めします。
PXC-4602 ERR_CONVERTOR
説明: データ型の変換に失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4602][ERR_CONVERTOR] サポートされていない変換による変換エラー: [*****]
注: このエラーは、PolarDB-XでSQLクエリを実行したときにデータ型の変換に失敗した場合に返されます。 SQLクエリで使用されるデータに暗黙的な型変換が必要かどうかを確認します。 比較と計算には同じタイプのデータを使用することを推奨します。
PXC-4603 ERR_ACCROSS_DB_TRANSACTION
説明: データベース間トランザクションが失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4603][ERR_ACCROSS_DB_TRANSACTION] トランザクションaccross dbは現在のトランザクションポリシーでサポートされていません。トランザクションノードは {0} ですが、このsqlは ***** で実行されます。
注: デフォルトでは、PolarDB-Xはクロスデータベーストランザクションをサポートしています。 データベース間トランザクションをブロックする可能性のある他のトランザクションポリシーが指定されているかどうかを確認します。
PXC-4604 ERR_CONCURRENT_TRANSACTION
説明: ネストされたトランザクションがサポートされていない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4604][ERR_CONCURRENT_TRANSACTION] 同時クエリはトランザクショングループでサポートされていません。トランザクショングループは {0} です。
注: PolarDB-Xはネストされたトランザクションをサポートしません。 同じデータベース接続で同時に3つ以上のトランザクションを開始しようとすると、エラーコードPXC-4604が返されます。
アプリケーションの開発時には、ネストされたトランザクションを使用しないことを推奨します。 アプリケーション層でトランザクションをトランザクションフレームワークに抽象化できます。 このように、ネストされたトランザクションは生成されない。
PXC-4606 ERR_QUERY_CANCLED
説明: SQL文の実行がキャンセルされた場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4606][ERR_QUERY_CANCLED] クエリがcancledされている場合、グループは *****
注:
KILL
ステートメントを実行してSQLステートメントの実行をキャンセルすると、PolarDB-XはキャンセルされたSQLステートメントのエラーコードPXC-4606を返します。 このエラーが頻繁に発生する場合は、KILLステートメントがクライアントまたはプログラムで実行されているかどうかを確認してください。
PXC-4610 ERR_CONNECTION_CLOSED
説明: 接続が閉じられたために返されるエラーコード。
例:
ERR-CODE: [PXC-4610][ERR_CONNECTION_CLOSED] 接続が閉じられました
注: トランザクション内のSQL文の実行に失敗した場合、または
KILL
文を実行してトランザクション内のSQL文の実行をキャンセルした場合、同じデータベース接続で他のSQL文を実行すると、エラーコードPXC-4610が返されます。接続を閉じて、新しいデータベース接続を確立することを推奨します。
PXC-4612 ERR_CHECK_SQL_PRIV
説明: SQL文を実行するために必要なアクセス許可がアカウントにない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4612][ERR_CHECK_SQL_PRIV] check user ***** on db ***** sql privileges failed.
注: 新しいバージョンのPolarDB-Xは、アカウントに権限を付与できるシステムを提供します。 このシステムは、MySQLのアカウントおよび権限システムに似ています。 必要な権限が付与されたアカウントのみがSQL文を実行できます。 使用するアカウントに必要な権限がない場合、PolarDB-XはエラーコードPXC-4612を返します。
アカウントのPolarDB-Xインスタンスに対する権限を確認することを推奨します。 アカウントに必要な権限がない場合は、PolarDB-Xコンソールで権限を付与します。 PolarDB-Xアカウントと権限設定の詳細については、「データベースアカウントの管理」をご参照ください。
PXC-4614 ERR_EXECUTE_ON_MYSQL
説明: データノードでSQL文が実行されたときにエラーが発生したために返されるエラーコード。
例:
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: This error message is returned because a conflict has occurred on the primary key when you insert data. 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. This error message is returned because a deadlock has occurred on the data node. In most cases, a deadlock can occur if a large number of transaction conflicts occur during write operations.
注: 問題をトラブルシューティングするために返されるエラーメッセージを参照することをお勧めします。 SQL文に関連するエラーメッセージの詳細については、「MySQL 5.6ドキュメント」をご参照ください。 アプリケーションまたはデータノードのトラブルシューティング後にエラーPXC-4614が続く場合は、テクニカルサポートにお問い合わせください。
PXC-4616 ERR_UNKNOWN_DATABASE
説明: 指定したデータベース名が無効な場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4616][ERR_UNKNOWN_DATABASE] 不明なデータベース '*****'
注: PolarDB-Xでは、DDLステートメントでデータベース名を指定できます。 指定したデータベース名がPolarDB-Xで使用可能なデータベース名と一致しない場合、エラーコードPXC-4616が返されます。
DDLステートメントでデータベース名を変更して、指定したデータベース名がPolarDB-Xのデータベースに対応するようにすることをお勧めします。
PXC-4620 ERR_FORBID_EXECUTE_DML_ALL
注: このエラーは、PolarDB-Xで実行するDELETEまたはUPDATEステートメントに、条件が指定されているWHERE句が含まれていない場合に返されます。
PXC-4633 ERR_DB_STATUS_READ_ONLY
例:
ERR-CODE: [PXC-4633][ERR_DB_STATUS_READ_ONLY] データベースは読み取り専用で、読み取りsqlのみがサポートされています
注: このエラーは、使用するアカウントがデータベースに対する読み取り専用権限のみを持っている場合に返されます。 使用するアカウントの権限が制限されているかどうかを確認します。
PXC-4636 ERR_DDL_JOB_ERROR
DDLステートメントの実行に失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4636][ERR_DDL_JOB_ERROR] xxxx
DDLステートメントの実行に失敗した場合、エラーコードが返されます。 詳細については、「DDL例外の処理」をご参照ください。
PXC-4642 ERR_UNKNOWN_TABLE
テーブルがデータベースに存在しない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4642][ERR_UNKNOWN_TABLE] Unknown table XX.XX
現在のデータベースにテーブルが存在するかどうかを確認します。
PXC-4707 ERR_OUT_OF_MEMORY
説明: 一時テーブルで使用されるメモリが制限を超えたために返されるエラーコード。
例:
ERR-CODE: [PXC-4707][ERR_OUT_OF_MEMORY]
注: データベースの安定性を確保するために、PolarDB-Xは各クエリの一時テーブルで使用できるメモリを制限します。 クエリによって過剰な量のデータが取得された場合、エラーコードPXC-4707が返されます。 これにより、ディスクへのspill機能を有効にするか、クエリの一時テーブルで使用できるメモリを増やすことができます。
PXC-4709 ERR_IVENTORY_HINT_NOT_SUPPORT_CROSS_SHARD
例:
ERR-CODE: [PXC-4709][ERR_IVENTORY_HINT_NOT_SUPPORT_CROSS_SHARD]
注: フラッシュセールスのシナリオでは、ホット行最適化機能でトランザクションを単一のシャードで実行する必要があります。 トランザクションが複数のシャードで実行された場合、エラーコードPXC-4709が返されます。 ホット行最適化機能が有効になっているときに、単一のシャードでトランザクションが実行されるように、ビジネスロジックを変更することをお勧めします。
PXC-4994 ERR_FLOW_CONTROL
説明: SQLリクエストの数が制限に達した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4994][ERR_FLOW_CONTROL] [*****] フロー制御by *****
注: このエラーは、PolarDB-Xによって処理されたSQLリクエストの数が上限に達し、現在のリクエストが拒否された場合に返されます。 SQLリクエスト数のピーク値が期待どおりかどうかを確認することを推奨します。 SQLリクエストの数が減少してもエラーPXC-4994が続く場合は、テクニカルサポートにお問い合わせください。
PXC-4998 ERR_NOT_SUPPORT
説明: この機能がサポートされていない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-4998][ERR_NOT_SUPPORT] ***** not support yet!
注: このエラーは、使用するSQL構文または機能がPolarDB-Xでサポートされていない場合に返されます。 SQL構文または機能が重要な場合は、テクニカルサポートにお問い合わせください。
PXC-5001 ERR_TRANS
説明: 一般的なトランザクションエラーが発生した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-5001][ERR_TRANS] Too many lines updated in statement.
注: エラーメッセージに基づいてエラーをトラブルシューティングします。
ステートメントで更新された行が
多すぎる
トランザクション内のUPDATEステートメントによって更新された行数が1,000行の上限を超えたため、このエラーメッセージが返されます。 UPDATEステートメントのWHERE句で指定されている条件を確認することを推奨します。 トランザクション内の大量のデータを更新する必要がある場合は、PolarDB-Xの
/* TDDL:UNDO_LOG_LIMIT={number}*/
ヒントを使用して上限を変更できます。繰延実行はFlexibleまたはXAトランザクションでのみサポートされます
遅延実行機能がフレキシブルトランザクションと拡張アーキテクチャ (XA) トランザクションでのみサポートされているため、このエラーメッセージが返されます。 PolarDB-Xに
/* TDDL:DEFER */
ヒントがあるトランザクションをコミットする前に、SET drds_transaction_policy = ***
ステートメントを実行して、PolarDB-Xデータベースのトランザクションポリシーを変更します。その他のエラーメッセージが返された場合は、テクニカルサポートにお問い合わせください。
PXC-5002 ERR_TRANS_UNSUPPORTED
説明: トランザクションで使用される構文または機能がサポートされていない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-5002][ERR_TRANS_UNSUPPORTED] プライマリキーのないテーブルはサポートされていません。
注: トランザクションで使用する機能は、PolarDB-Xではサポートされていません。 機能が重要な場合は、テクニカルサポートにお問い合わせください。
PXC-5003 ERR_TRANS_LOG
説明: トランザクションログにアクセスできない場合に返されるエラーコード。
例:
ERR-CODE: [PXC-5003][ERR_TRANS_LOG] トランザクションの状態の更新に失敗しました: *****
注: トランザクションがPolarDB-Xで実行されている場合、PolarDB-Xはバックエンドデータノードに格納されているトランザクションログにアクセスします。 これにより、分散トランザクションの原子性が保証されます。 PolarDB-Xがトランザクションログの読み取りまたは書き込みに失敗した場合、エラーコードPXC-5003が返されます。
ほとんどの場合、バックエンドデータノードに障害が発生すると、エラーPXC-5003が発生します。 PolarDB-Xで、各バックエンドデータノードのステータスと各バックエンドデータノードのアクセス負荷を確認することを推奨します。 バックエンドデータノードのトラブルシューティング後にエラーPXC-5003が続く場合は、テクニカルサポートにお問い合わせください。
PXC-5006 ERR_TRANS_COMMIT
説明: トランザクションのコミットに失敗した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-5006][ERR_TRANS_COMMIT] プライマリグループのコミットに失敗しました *****: *****, TRANS_ID = *****
注: PolarDB-Xがトランザクションブランチをコミットしたときにエラーが発生した場合、トランザクションは自動的にロールバックされます。 TRANS_IDは、トランザクションのIDを示す。 ほとんどの場合、バックエンドデータノードに障害が発生すると、エラーPXC-5006が発生します。 PolarDB-Xで、各バックエンドデータノードのステータスと各バックエンドデータノードのアクセス負荷を確認することを推奨します。 バックエンドデータノードのトラブルシューティング後にエラーPXC-5006が続く場合は、テクニカルサポートにお問い合わせください。
PXC-5008 ERR_TRANS_TERMINATED
説明: トランザクションがKILLステートメントによって終了した場合、またはタイムアウトが発生した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-5008][ERR_TRANS_TERMINATED] 現在のトランザクションが終了またはタイムアウトしました。 より長いタイムアウト値を設定する必要がある場合があります。
注: このエラーは、PolarDB-XのトランザクションがKILLステートメントによって終了した場合、またはタイムアウトのために返されます。 drds_transaction_timeoutパラメーターは、トランザクションのタイムアウト期間を指定します。 トランザクションタイムアウトが原因でこのエラーが返された場合は、
SET drds_transaction_timeout = ***
ステートメントを実行して、PolarDB-Xのトランザクションの最大実行時間を変更することを推奨します。 drds_transaction_timeout値の単位はミリ秒です。
PXC-5010 ERR_TRANS_CONTINUE_AFTER_WRITE_FAIL
説明: データ書き込みの失敗により、トランザクションの実行またはコミット操作が終了した場合に返されるエラーコード。
例:
ERR-CODE: [PXC-5010][ERR_TRANS_CONTINUE_AFTER_WRITE_FAIL] Cannot continue or commit transaction after writing failed
注: PolarDB-Xの分散トランザクションでデータの書き込みに失敗した場合、トランザクションの実行は終了します。 このシナリオでは、フロントエンドでトランザクションをロールバックして、トランザクションを再試行する必要があります。
PXC-5108 ERR_CHECK_PRIVILEGE_FAILED_ON_TABLE
注: アカウントにテーブルに対する必要な権限がないため、エラーコードが返されました。 アカウントに付与されている権限を確認します。
PXC-5119 ERR_FILE_CANNOT_BE_CREATE
注: PolarDB-XがSELECT INTO OUTFILE
ステートメントをサポートしていない場合に返されるエラーコード。 このステートメントを使用する必要がある場合は、テクニカルサポートにお問い合わせください。
PXC-5302 ERR_GLOBAL_SECONDARY_INDEX_UNSUPPORTED
注: テーブルにGSIが作成されなかった場合に返されるエラーコード。 このエラーは、次のいずれかの理由で発生する可能性があります。 GSIの列には、テーブルのパーティションキーが含まれていません。 このエラーが他の理由で発生した場合は、テクニカルサポートにお問い合わせください。
PXC-5306 ERR_GLOBAL_SECONDARY_INDEX_INSERT_DUPLICATE_VALUES
注: データを挿入するときにGSIテーブルの主キーで競合が発生したために返されるエラーコード。 挿入するデータの主キー値がテーブルに存在するかどうかを確認します。
PXC-5308 ERR_GLOBAL_SECONDARY_INDEX_MODIFY_UNIQUE_KEY
注: DMLステートメントを実行すると、GSIテーブルの一意のキーで競合が発生したために返されるエラーコード。 挿入するデータの一意のキー値がテーブルに存在するかどうかを確認します。
PXC-5310 ERR_GLOBAL_SECONDARY_INDEX_ONLY_SUPPORT_XA
注: XAまたはTimestamp Oracle (TSO) が分散トランザクションポリシーとして使用されている場合、GSIはPolarDB-Xでのみサポートされているために返されるエラーコード。 このエラーは、GSIを作成する前にデフォルトのトランザクションポリシーが変更された場合に発生する可能性があります。 この場合は、分散トランザクションポリシーをXAまたはTSOに変更し、再度GSIを作成してください。
PXC-5313 ERR_GLOBAL_SECONDARY_INDEX_MODIFY_GSI_TABLE_WITH_DDL
注: PolarDB-XがGSIテーブルでDDL操作をサポートしていない場合に返されるエラーコード。 この機能を使用する必要がある場合は、テクニカルサポートにお問い合わせください。
PXC-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)
を実行すると、エラーコードPXC-5316が返されます。 これは、ON t(a, b)
句ではインデックス列としてaとbが指定されていますが、グローバルインデックスのパーティションキーcが列に含まれていないためです。 このエラーが返された場合は、DDLステートメントで指定したインデックス列にグローバルインデックスのすべてのパーティションが含まれているかどうかを確認します。
PXC-5317 ERR_GLOBAL_SECONDARY_INDEX_CONTINUE_AFTER_WRITE_FAIL
例:
ERR-CODE: [PXC-5317][ERR_GLOBAL_SECONDARY_INDEX_CONTINUE_AFTER_WRITE_FAIL] グローバルセカンダリインデックスの作成に失敗した後、トランザクションを続行またはコミットできません
注: GSIが作成されたテーブルでDMLステートメントを実行したときにこのエラーが返された場合、失敗したDMLステートメントを含むトランザクションを引き続きコミットすることはできません。 この場合、ビジネスコードを変更し、トランザクションをロールバックする必要があります。 その後、トランザクションを再度開始できます。
PXC-5321 ERR_GLOBAL_SECONDARY_INDEX_BACKFILL_DUPLICATE_ENTRY
注: GSIの作成時にデータバックフィル中にインデックステーブルのプライマリキーで競合が発生したために返されるエラーコード。 インデックステーブルの主キー列に重複する値が存在するかどうかを確認します。
PXC-8007 ERR_ABANDONED_TASK
注意: クエリが遅いか、不明な理由で2時間以上実行されているために返されるエラーコード。 PolarDB-Xはクエリを終了し、エラーを返します。 遅いクエリを最適化することを推奨します。 クエリの最適化後にこのエラーが続く場合は、テクニカルサポートにお問い合わせください。
PXC-8008 ERR_EXECUTE_SPILL
注: データがディスクにフラッシュされたときにエラーが発生したために返されるエラーコード。 大量のデータをクエリすると、一時テーブルのデータがディスクにフラッシュされます。 エラーをトラブルシューティングするには、テクニカルサポートにお問い合わせください。
PXC-8011 ERR_OUT_OF_SPILL_SPACE
注: 一時テーブルで生成されたファイルのサイズが、データフラッシュに使用される最大ディスクサイズを超えたために返されるエラーコード。 大量のデータをクエリすると、一時テーブルのデータがディスクにフラッシュされます。 クエリを最適化し、一時テーブルの使用回数を減らすことを推奨します。 クエリの最適化後にこのエラーが続く場合は、テクニカルサポートにお問い合わせください。
PXC-8012 ERR_OUT_OF_SPILL_FD
注: 一時テーブルで生成されたファイルの数がファイルハンドルの最大数を超えた場合に返されるエラーコード。 大量のデータをクエリすると、一時テーブルのデータがディスクにフラッシュされます。 ファイルハンドルのリークが発生しないように、テクニカルサポートにお問い合わせください。 ファイルハンドルのリークが発生していないことを確認したら、必要に応じてファイルハンドルの最大数を増やすことができます。
PXC-8102 ERR_PAGE_TOO_LARGE
注: バッチで処理されるデータの量がリモートプロシージャ呼び出し (RPC) の最大値を超えたために返されるエラーコード。 並列計算に大量並列処理 (MPP) を使用する場合、データは計算ノードでバッチ処理されます。 このエラーをトラブルシューティングするには、CHUNK_SIZEのデフォルト値を小さい値に変更します。
PXC-8103 ERR_NO_NODES_AVAILABLE
注: 利用可能な計算ノードがないため、エラーコードが返されます。 MPPが並列計算に使用される場合、計算ノード障害が発生する可能性があります。 これにより、計算ノードのスケジューリングに失敗する可能性があります。 このエラーをトラブルシューティングするには、各計算ノードが期待どおりに実行されるかどうかを確認します。 各コンピュートノードが期待どおりに実行されることを確認してもこのエラーが続く場合は、テクニカルサポートにお問い合わせください。
PXC-9301 ERR_DUPLICATED_PARTITION_NAME
注: DDLステートメントで指定したパーティションの名前が既に存在するため、エラーコードが返されます。
PXC-9305 ERR_PARTITION_NAME_NOT_EXISTS
注: DDLステートメントで指定したパーティションの名前が存在しない場合に返されるエラーコード。 パーティションの名前が有効かどうかを確認します。 SHOW CREATE TABLE
およびCHECK TABLE
ステートメントを実行して、パーティション内のデータがテーブルのメタデータと一致しているかどうかを確認できます。 このエラーは、データがメタデータと一致しない場合に発生する可能性があります。 この場合は、テクニカルサポートにお問い合わせください。
PXC-10004 ERR_X_PROTOCOL_RESULT
例:
ERR-CODE: [PXC-10004][ERR_X_PROTOCOL_RESULT] chunk2chunkを使用してデータをフェッチする必要があります
注: 計算ノードがデータノードへの接続を確立できない場合に返されるエラーコード。 PolarDB-Xでは、計算ノードはプライベートRPCを使用してデータノードと通信します。 このエラーは複数の理由で発生する可能性があります。 エラーメッセージに基づいてエラーをトラブルシューティングできます。 問題を特定できない場合は、テクニカルサポートにお問い合わせください。
TDDL-4601 ERR_EXECUTOR
例:
ERR-CODE: [TDDL-4601][ERR_EXECUTOR] only one column is supported in distinct aggregate
注: SQL文の実行中に予期しないエラーが発生したために返されたエラーコード。これは通常、バックエンドMySQL例外に関連しています。