Импорт и переназначение таблиц без добавления первичного ключа и индексов
Я пытаюсь импортировать дамп в базу данных. в дампе есть таблица table1, которая уже существует в базе данных, которую я использовал, я использовал remap_table.
impdp schema/pass@server remap_table = table1:table_BR1 directory=TEST_DIR1 dumpfile=table_BR1.dmp logfile=table1.log
Однако проблема, с которой я сталкиваюсь, это также создание первичного ключа и индекса, что приводит к ошибкам "ограничения уже существуют". В моем реальном сценарии у меня есть несколько таблиц.
Мой вопрос, есть ли способ, которым я могу переназначить таблицы без добавления первичных ключей и indexex?
1 ответ
В IMPDP вы можете использовать:
CONTENT=DATA_ONLY
DATA_ONLY загружает только данные строки таблицы в существующие таблицы; объекты базы данных не создаются.
Другие способы,
Вы можете явно указать не импортировать индексы и ограничения в качестве аргументов командной строки.
rows=Y indexes=N constraints=N
Это будет импортировать только данные, а не индексы и ограничения.
Также для подавления сообщений об ошибках вы можете их игнорировать:
IGNORE=Y
Чтобы увидеть список всех команд импорта, выполните:
impdp help=y
В качестве альтернативы, если вы знаете имена INDEX, вы можете использовать команду EXCLUDE.
Например,
EXCLUDE=INDEX:"LIKE 'DEPT%'"
Это исключит все индексы, имена которых начинаются с dept.