Проблемы с AWS DMS после миграции - PullRequest
0 голосов
/ 05 сентября 2018

Я использую AWS DMS для переноса 350G данных.

Миграция выполнена полностью, но в статусе отображается ошибка. Я проверил журналы cloudwatch и получил следующие ошибки:

E: RetCode: SQL_ERROR SqlState: HY000 NativeError: 1280 Сообщение: [MySQL] [Драйвер ODBC 5.3 (w)] [mysqld-5.5.5-10.2.12-MariaDB-log] Неверное имя индекса 'PRIMARY' [1022502 ] (ar_odbc_stmt.c: 4428)

[TARGET_LOAD] E: выполнить создание создать первичный ключ не удалось, оператор ALTER TABLE <databaseName>. <table> ADD CONSTRAINT PRIMARY PRIMARY KEY (id) [1022502] (odbc_endpoint_imp.c: 3938)

Я сравнил базы данных по источнику и цели и обнаружил, что существуют некоторые различия в размере таблицы, а также поле Key пусто в целевой RDS; Я подозреваю, что Ключи не перенесены в мою целевую RDS (по сравнению с description ). В документе DMS упоминается, что ключи будут перенесены.

Есть ли способ исправить эту проблему?

Пожалуйста, дайте мне знать, если кто-то сталкивался с проблемами при использовании AWS RDS.

1 Ответ

0 голосов
/ 27 сентября 2018

Похоже, что DMS пытается применить индекс, который уже существует в цели. Из другая проблема сообщение о неверном имени индекса связано с попыткой создать индекс, который уже существует.

Попробуйте запустить Инструмент преобразования схемы , чтобы создать целевую схему и запустить задачу DMS с режимом подготовки целевой таблицы или ничего не делать. Таким образом, вы можете устранить неполадки при создании схемы отдельно от переноса данных.

Также рассмотрите возможность создания задачи только для этой таблицы с идентичной в остальном конфигурации задачи, используя фильтры исходной таблицы , что даст вам полный конец целевого журнала.

Для справки AWS написал очень подробную серию блогов для устранения неполадок DMS:

  1. Отладка миграции AWS DMS: что делать, когда дела идут плохо (часть 1)
  2. Отладка миграции AWS DMS: что делать, когда дела идут плохо (часть 2)
  3. Отладка миграции AWS DMS: что делать, когда дела идут плохо? (Часть 3)
...