### pt-online-schema-change - Please download and install `percona-toolkit` (`v3.0.4` or other campatible version) first. - Please specific pt-osc dir by `osc_bin_dir` first,default `/usr/local/bin`. #### Options you can check `pt-osc` options by ```inception show variables like 'osc%';``` ```sql inception show variables like 'osc%'; ``` Modify in two ways: - one at ```inception set ``` ```sql inception set osc_check_interval = 10; ``` - another one at config.toml, and start by ```-config=config.toml``` #### process command ##### check osc process <!-- sqlsha1 --> ```sql inception get osc processlist; ``` result return: DBNAME | TABLENAME | COMMAND | SQLSHA1 | PERCENT | REMAINTIME | INFOMATION ----------|---------|--------------------|-----------------|-----------------|-------------------|----- test_inc | t1 | alter table t1 add column c33 int | *E53542EFF4E179BE267210114EC5EDBEF9DC5D8F | 9 | 00:36 | Copying `test_inc`.`t1`: 9% 00:36 remain ##### check specific osc process ```sql inception get osc_percent '*E53542EFF4E179BE267210114EC5EDBEF9DC5D8F'; ``` result return: DBNAME | TABLENAME | SQLSHA1 | PERCENT | REMAINTIME | INFOMATION ----------|---------|--------------------|-----------------|-----------------|----- test_inc | t1 | *E53542EFF4E179BE267210114EC5EDBEF9DC5D8F | 49 | 00:14 | Copying `test_inc`.`t1`: 49% 00:14 remain ##### stop specific osc process `need to remove auxiliary tables manual` ```sql inception kill osc '*E53542EFF4E179BE267210114EC5EDBEF9DC5D8F'; -- or -- inception stop alter '*E53542EFF4E179BE267210114EC5EDBEF9DC5D8F'; ``` ### Option description Options | default | type | description ------------ | ------------- | ------------ | ------------ osc_on | false | bool | OSC switch osc_alter_foreign_keys_method | none | string | correspond OSC option `alter-foreign-keys-method` osc_bin_dir | /usr/local/bin | string | pt-online-schema-change script path osc_check_alter | true | bool | correspond `--[no]check-alter` osc_check_interval | 5 | int | correspond `--check-interval`, means Sleep time between checks for `--max-lag`. osc_check_replication_filters | true | bool | correspond `--[no]check-replication-filters` osc_chunk_size | 1000 | int | correspond `--chunk-size` osc_chunk_size_limit | 4 | int | correspond `--chunk-size-limit` osc_chunk_time | 1 | int | correspond `--chunk-time` osc_check_unique_key_change `v1.0.5` | true | bool | correspond `--[no]check_unique_key_change`, if check unique index. osc_critical_thread_connected | 1000 | int | correspond `--critical-load中的thread_connected` osc_critical_thread_running | 80 | int | correspond `--critical-load中的thread_running` osc_drop_new_table | true | bool | correspond `--[no]drop-new-table` osc_drop_old_table | true | bool | correspond `--[no]drop-old-table` osc_max_lag | 3 | int | correspond `--max-lag` osc_max_thread_connected | 1000 | int | correspond `--max-load中的thread_connected` osc_max_thread_running | 80 | int | correspond `--max-load中的thread_running` osc_min_table_size | 16 | int | Switch set,if value is 0, all ALTER will use OSC.if values is not 0, only the table size more than the values, use OSC. unit in MB,table size = `select (DATA_LENGTH + INDEX_LENGTH)/1024/1024 from information_schema.tables where table_schema = "dbname" and table_name = "tablename"` osc_print_none | false | bool | If value is 1, do not print. If values is 0, print osc output in inception result error sets. osc_print_sql | false | bool | correspond `--print` osc_recursion_method | processlist | string | correspond `-ecursion_method`