|
|
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Всем привет. Возникла проблема с импортом данных. Импорт делаю по такой схеме. 0. Делаю дамп всего с ключом flashback_time=systimestamp и за исключением grant и dblink и CONTENT=ALL 1. Импортирую сиквенсы в sql файл где $_ подстановка из скрипта remap_schema=$_`:FOR_SCHEMA_REPLACE remap_tablespace=$_`:FOR_SCHEMA_REPLACE Include=Sequence CONTENT=METADATA_ONLY sqlfile=$FileName 2. Затем импортирую таблицы в sql файл. Таким же образом 3. Заменяю схему на нужную мне там где она корректно непроставилась. Накатываю полученные скрипты от имени пользователя схемы. 4. Накатываю все METADATA_ONLY из файла дампа утилитой impdp за исключением sequence и tables с ключом DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS 5. Накатываю все DATA_ONLY с ключом DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS 6. Создается видимость успешного имопорта, все данные вставлены, ключи есть. Но при попытке вставить данные в таблицы с данными возникает ошибка ORA-00001: нарушено ограничение уникальности (CASHFLOW_TFSBUILD_CMS_BUILD1.PK_SYS_FIELDPROPERTYTYPES_ID) Я так понимаю что импортировав последним шагом данные, оракл не увеличил значения сиквенсов primary keys. Подскажите пожалуйста, как заставить его корректно увеличивать значения ключей, после импорта данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 11:17 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Sm1le29111. Импортирую сиквенсы в sql файл где $_ подстановка из скрипта remap_schema=$_`:FOR_SCHEMA_REPLACE remap_tablespace=$_`:FOR_SCHEMA_REPLACE Include=Sequence CONTENT=METADATA_ONLY sqlfile=$FileName 2. Затем импортирую таблицы в sql файл. Таким же образом 3. Заменяю схему на нужную мне там где она корректно непроставилась. Накатываю полученные скрипты от имени пользователя схемы. А пояснить зачем вся эта боль вам нужна, можете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 11:42 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Sm1le2911как заставить его корректно увеличивать значения ключей, после импорта данных? Если его заставить не удастся, попробуйте ручками 20700153 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 11:45 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Sm1le2911Я так понимаю что импортировав последним шагом данные, оракл не увеличил значения сиквенсов primary keys. Подскажите пожалуйста, как заставить его корректно увеличивать значения ключей, после импорта данных? Оракл должен заливать данные и сиквенсы как есть (было), ничего не уменьшая и не увеличивая. Если у вас сиквенсы сбрасываются в 0, что то не так. Да и неплохо бы проверить констрейнт, возможно проблема не в сиквенсе, а в уникальности данных, которые вставляются повторно и не являются уникальными. Без детального DDL CASHFLOW_TFSBUILD_CMS_BUILD1.PK_SYS_FIELDPROPERTYTYPES_ID сложно сказать, что причина однозначно в одном сиквенсе. И вы их зачем то отдельно импортируете. Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 11:50 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Охрименко, Ну как зачем. Думаю тут надо сказать спасибом разрабам оракла. Потому что remap не везде заменяет схему на нужную. Я уже задавал здесь этот вопрос. Так что это не причуда) Вот ссыль http://www.sql.ru/forum/1286686/remap-schema-ne-korrektna?hl= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 11:54 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Охрименко, Данные вставляются в пустую схему, к которой только накатили метаданные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 11:56 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Охрименко, Вот ddl этой таблицы, накатывается от владельца схемы CREATE TABLE "SYS_FIELD_PROPERTY_TYPES" ( "ID" NUMBER(*,0) GENERATED BY DEFAULT AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE NOT NULL ENABLE, "INNER_NAME" VARCHAR2(255 CHAR) NOT NULL ENABLE, "DISPLAY_NAME" VARCHAR2(255 CHAR) NOT NULL ENABLE ) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "CASHFLOW_TFSBUILD_CMS_BUILD1" ; А затем ALTER TABLE "SYS_FIELD_PROPERTY_TYPES" ADD CONSTRAINT "PK_SYS_FIELDPROPERTYTYPES_ID" PRIMARY KEY ("ID") USING INDEX (CREATE UNIQUE INDEX "PK_SYS_FIELDPROPERTYTYPES_ID" ON "SYS_FIELD_PROPERTY_TYPES" ("ID") PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "CASHFLOW_TFSBUILD_CMS_BUILD1" ) ENABLE; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:07 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Sm1le2911, Забыл, между ними еще вот это выполняется ALTER TABLE "SYS_FIELD_PROPERTY_TYPES" MODIFY ("ID" GENERATED BY DEFAULT AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH LIMIT VALUE NOCACHE NOORDER NOCYCLE ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:08 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Sm1le2911Охрименко, Вот ddl этой таблицы, накатывается от владельца схемы Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. А затем Код: plsql 1. 2. 3. 4. 5. 6. 7. Забыл, между ними еще вот это выполняется Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:23 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Viewer, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:32 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Из многоэтажной истории болезни я понял только, что вы сиквенсы пересоздаете. Код: plsql 1. Ессно, они генерируют значения с 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:40 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
dmdmdm, а как иначе? База на пустую схему накатывается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:43 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
В заголовке темы - impdp. Иначе - это если по-нормальному - поручить все объекты ему. Он специально для этого предназначен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:46 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
И простое правило не устану повторять. Меньше отсебятины и описаний "своими словами". Больше команд и листингов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:47 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Sm1le2911dmdmdm, а как иначе? База на пустую схему накатывается Поставить корректное начальное значение сиквенсу. В крайнем случае, просто анонимный блок с FOR LOOP и домотать сиквенс до нужного значения IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:51 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
dmdmdm, Это очевидный путь и как преполагалось быстрый, он не взошел. Вот пример того что получается если я экспортирую таблицу в файл sql утилитой impdp. Видно что он перемапил все кроме "CF_TFS_CMS_DUMP_EXP_OU"."CONDITIONS_SEQ" ТОже самое накатывается на базу, что с этим делать? Вы знаете другое решение? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:52 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Ну преполагается что это DevOps и дамп должен автоматически создаваться, а выходит это невозможно. Нужно узнать, сколько записей в таблице, потом открыть файлик, найти сиквенс поменять в нем значение. Не кажется вам что это как-то несерьезно для такого продукта как оракл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:54 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
экспортирую таблицу в файл sql утилитой impdp Зачем в SQL ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:55 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
dmdmdm, Потому что при импорте на схему напрямую как раз таки и выскакивала ошибка с тем что он не может найти сиквенс "CF_TFS_CMS_DUMP_EXP_OU"."CONDITIONS_SEQ" хотя выбирался полный импорт, где был и этот сиквенс и эта таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 12:58 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Вот давайте и начнем с параметров экспорта/импорта. Чтобы попытаться решить задачу штатными средствами. У меня обычно посхемной перекачки не требуется. REMAP пробовал 1 или 2 раза. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:02 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
IMHO N1 Он и так, обычно, все корректно создает. Если что-то создаете или накатываете руками (в данном случае SQL для сиквенсов) - то тут уже это Ваши проблемы и исключительно кривизна Ваших рук. Мы попросили выгрузить ОПИСАНИЕ сиквенсов. Oracle их выгрузил. То, что их нужно "доматывать" потому что Вы потом ОТДЕЛЬНО данные решили загрузить - ну так это Ваши проблемы ))) IMHO N2 Написать на PL/SQL генерацию SQL для сиквенсов (или с изменение START WITH, или без изменения START WITH но тогда "доматывать").... ну как бы не особо большая проблема. Минут на 15-30 Нужно узнать, сколько записей в таблице, потом открыть файлик, найти сиквенс поменять в нем значение. Сколько записей в таблице - знать не надо. Можно при генерации SQL у сиквенса его текущее значение спросить. p.s. про корректную / не очень корректную работу REMAP ничего не знаю. Не сталкивался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:10 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
dmdmdm, Ну если на ту же самую схему то и нет никаких проблем, согласен. Вот с полным набором аргументов "xxxx/yyyyy@SBT directory=TEST_DIRECTORY DUMPFILE=dump11.dmp flashback_time=systimestamp LOGFILE=$logName SCHEMAS=CF_TFS_CMS_DUMP_EXP_OU Exclude=GRANT Exclude=DB_LINK CONTENT=ALL" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:19 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Не пробовали экспорт сделать как владелец экспортируемой схемы, а импрот как владелец схемы в которую импортируешь? В классическом exp, если экспорт выполнял владелец схемы - то в дамп владелец объектов не записывался, и при импорте другим пользователем все объекты попадали в схему импортирующего. Как с этим обстоит у data pump - не проверял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:40 |
|
||
|
После impdp primary keys в неверном состоянии
|
|||
|---|---|---|---|
|
#18+
Viewer, нет, сейчас попробую, в таком случае remap не понадобится получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:42 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39621105&tid=1884234]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 310ms |

| 0 / 0 |
