19.5.1.38 Репликация и команда TRUNCATE TABLE
TRUNCATE TABLE обычно рассматривается как оператор DML, и поэтому ожидается, что он будет регистрироваться и реплицироваться с помощью строчно-ориентированного формата, когда режим двоичного протоколирования — ROW или MIXED. Однако это вызывало проблемы при протоколировании или репликации в режиме STATEMENT или MIXED таблиц, которые использовали транзакционные движки хранения, такие как InnoDB, когда уровень изоляции транзакции был READ
COMMITTED или READ UNCOMMITTED, что исключает протоколирование на уровне операторов.
TRUNCATE TABLE в целях протоколирования и репликации рассматривается как DDL, а не DML, чтобы его можно было протоколировать и реплицировать как оператор. Однако последствия оператора, применимые к InnoDB и другим транзакционным таблицам на репликах, по-прежнему следуют правилам, описанным в разделе 15.1.39 «Команда TRUNCATE TABLE», регулирующим такие таблицы. (Ошибка #36763)
© 2025 Oracle
Licensed under the GPLv2 License.