IMP в oracle 12c не создает таблицы с функцией IDENTITY - PullRequest
1 голос
/ 08 апреля 2019

Я экспортировал схему, содержащую приблизительно 150 таблиц, используя EXP.

Почти все таблицы в схеме имеют столбец IDENTITY.

Когда я импортировал файл .dmp с помощью IMP нана другом сервере он создал всю таблицу и импортировал данные, но IDENTITY удален.

Любое предложение?

1 Ответ

3 голосов
/ 08 апреля 2019

Есть предложения?

Да. Вместо этого используйте Datapump.

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

Эта возможность доступна только через Datapump. Старые утилиты командной строки IMP и EXP больше не поддерживаются, так как 11g - . Проверьте содержание руководства по утилитам . Исполняемые файлы предназначены только для обработки старых дампов - Datapump не может читать старые EXP-файлы Skool, поэтому нам все еще нужно использовать IMP для их импорта. Но любой новый экспорт должен быть выполнен с использованием Datapump - особенно если вы хотите воспользоваться преимуществами новых функций базы данных.

...