管理者の DDL ジョブの履歴書
ADMIN RESUME DDL
指定すると、一時停止した DDL ジョブを再開できます。 ADMIN SHOW DDL JOBS
を実行すると、 job_id
見つけることができます。
このステートメントを使用して、一時停止した DDL ジョブを再開できます。再開が完了した後も、DDL ジョブを実行する SQL ステートメントは実行中として表示され続けます。すでに完了した DDL ジョブを再開しようとすると、 RESULT
列にDDL Job:90 not found
エラーが表示されます。これは、ジョブが DDL 待機キューから削除されたことを示します。
あらすじ
- AdminStmt
- NumList
AdminStmt ::=
'ADMIN' ( 'SHOW' ( 'DDL' ( 'JOBS' Int64Num? WhereClauseOptional | 'JOB' 'QUERIES' NumList )? | TableName 'NEXT_ROW_ID' | 'SLOW' AdminShowSlow ) | 'CHECK' ( 'TABLE' TableNameList | 'INDEX' TableName Identifier ( HandleRange ( ',' HandleRange )* )? ) | 'RECOVER' 'INDEX' TableName Identifier | 'CLEANUP' ( 'INDEX' TableName Identifier | 'TABLE' 'LOCK' TableNameList ) | 'CHECKSUM' 'TABLE' TableNameList | 'CANCEL' 'DDL' 'JOBS' NumList | 'PAUSE' 'DDL' 'JOBS' NumList | 'RESUME' 'DDL' 'JOBS' NumList | 'RELOAD' ( 'EXPR_PUSHDOWN_BLACKLIST' | 'OPT_RULE_BLACKLIST' | 'BINDINGS' ) | 'PLUGINS' ( 'ENABLE' | 'DISABLE' ) PluginNameList | 'REPAIR' 'TABLE' TableName CreateTableStmt | ( 'FLUSH' | 'CAPTURE' | 'EVOLVE' ) 'BINDINGS' )
NumList ::=
Int64Num ( ',' Int64Num )*
例
ADMIN RESUME DDL JOBS
、現在一時停止されている DDL ジョブを再開し、ジョブが正常に再開されたかどうかを返します。
ADMIN RESUME DDL JOBS job_id [, job_id] ...;
再開が失敗した場合は、失敗の具体的な理由が表示されます。
注記:
- クラスターのアップグレード中、進行中の DDL ジョブは一時停止され、アップグレード中に開始された DDL ジョブも一時停止されます。アップグレード後、一時停止されていたすべての DDL ジョブが再開されます。アップグレード中の一時停止および再開の操作は自動的に行われます。詳細はTiDB のスムーズなアップグレードを参照してください。
- このステートメントにより、複数の DDL ジョブを再開できます。
ADMIN SHOW DDL JOBS
ステートメントを使用して、DDL ジョブのjob_id
を取得できます。- 他のステータス (
paused
以外) の DDL ジョブは再開できず、再開操作は失敗します。- ジョブを複数回再開しようとすると、TiDB はエラー
Error Number: 8261
を報告します。
MySQLの互換性
このステートメントは、MySQL 構文に対する TiDB 拡張機能です。