Oracle 12c, таблица экспорта с последовательностью в качестве значения по умолчанию, схема прилагается - PullRequest
0 голосов
/ 20 декабря 2018

Я использую oracle 12c с пользователем u1.С пользователем u1 я создаю таблицу T1 следующим образом:

create SEQUENCE  T1_SEQ START WITH  1;
CREATE  table T1(
  id number(11) DEFAULT T1_SEQ.nextval PRIMARY KEY ,
  name varchar2(255)
);

Теперь я хочу экспортировать схему другим пользователям и использовать команду ниже для экспорта

expdp u1/password dumpfile=u1.dmp  schemas=u1

, но когда другие используют u1.dmp для импорта схемы с новым пользователем с именем u2,

impdp u2/password   remap_schema=u1:u2  DUMPFILE=u1.DMP TABLE_EXISTS_ACTION=REPLACE

ошибка произошла, потому что значение по умолчанию для идентификатора столбца таблицы T1 добавляет U1 в качестве префикса.

U1.T1_SEQ.nextval

и здесьновый оператор создания таблицы

CREATE  table T1(
      id number(11) DEFAULT U1.T1_SEQ.nextval PRIMARY KEY ,
      name varchar2(255)
    );

Как я могу удалить влияние U1, когда я хочу переместить одну схему в другую схему.Не могли бы вы дать мне несколько предложений?Заранее спасибо!

1 Ответ

0 голосов
/ 20 декабря 2018

это известная и продолжающаяся проблема, согласно Ask Tom.

Так что вы можете

  1. исключить затронутые объекты из импорта
  2. с помощью sqlfileвозможность импортировать затронутые объекты
  3. , изменяя вывод сценария sqlfile, чтобы он указывал на правильные объекты перед его запуском

См. соответствующую тему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...