Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Пернос БД DataPump'ом из EE в SE  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Задача:
пренести БД 10.2.0.4 Enterprise Edition (с секционированием) с Соляриса на Линукс 10.2.0.4 Standard Edition (без секционирования)

Ппробую это делать DataPump'ом.
Сделала expdp полной БД.
Заливаю дамп в пустую БД, в которой предварительно создала таблицы, которые ранее были секционированными, предположила, что данные туда зальются, а они не заливаются.
С несекционированными таблицами всё нормально.

impdp full=Y directory=DATA_PUMP_DIR dumpfile= expdp_database.dmp.20100329.1054 table_exists_action= TRUNCATE

Что не так?
Предполагаю что можно залить толко ROWS из секционированных таблиц, пока ещё не пробовала.

Есть ли красивое решение?
30 мар 10, 17:26    [8555119]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Aliona,

ignore=Y
30 мар 10, 17:27    [8555121]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Takurava,

вы уверены?
В Datapamp такого параметра нет, ему соответствует table_exists_action
30 мар 10, 17:35    [8555160]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Aliona,

есть параметр content
30 мар 10, 17:39    [8555190]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Aliona
вы уверены?
В Datapamp такого параметра нет, ему соответствует table_exists_action

Извини, да, выставь TABLE_EXISTS_ACTION=APPEND
30 мар 10, 17:42    [8555211]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Takurava
Member

Откуда:
Сообщений: 1776
И если все остальные таблицы уже залиты, сделай TABLES=ХХХ
30 мар 10, 17:47    [8555239]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
impdp ххх directory=DATA_PUMP_DIR dumpfile= expdp_database.dmp.20100329.1054 TABLES= ххх content= DATA_ONLY

Так таблица заливается, но хотелось бы одним махом, вмете со всей БД.
31 мар 10, 14:09    [8559074]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Aliona,
А создать несекционированные таблицы заранее и выставить TABLE_EXISTS_ACTION=APPEND ?
31 мар 10, 14:14    [8559129]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Takurava
Aliona,
А создать несекционированные таблицы заранее и выставить TABLE_EXISTS_ACTION=APPEND ?

Несекционированные таблицы естественно создала заранее,
APPEND ещё не пробовала, потому что долго заливается одна бывшая секционированной таблица, но предполагаю, что не поможет, потому что в документации особой разницы межу TRUNCATE и APPEND не вижу.
На испытание этой команды ещё сутки понадобятся, БД большая.
Вы это уже делали сами или только предполагаете?
автор
Syntax and Description

TABLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | REPLACE}

The possible values have the following effects:

SKIP leaves the table as is and moves on to the next object. This is not a valid option if the CONTENT parameter is set to DATA_ONLY.

APPEND loads rows from the source and leaves existing rows unchanged.

TRUNCATE deletes existing rows and then loads rows from the source.

REPLACE drops the existing table and then creates and loads it from the source. This is not a valid option if the CONTENT parameter is set to DATA_ONLY.

The following considerations apply when you are using these options:

When you use TRUNCATE or REPLACE, make sure that rows in the affected tables are not targets of any referential constraints.

When you use SKIP, APPEND, or TRUNCATE, existing table-dependent objects in the source, such as indexes, grants, triggers, and constraints, are ignored. For REPLACE, the dependent objects are dropped and re-created from the source, if they were not explicitly or implicitly excluded (using EXCLUDE) and they exist in the source dump file or system.

When you use APPEND or TRUNCATE, checks are made to ensure that rows from the source are compatible with the existing table prior to performing any action.

The existing table is loaded using the external tables access method if the existing tables have active constraints and triggers. However, be aware that if any row violates an active constraint, the load fails and no data is loaded.

If you have data that must be loaded, but may cause constraint violations, consider disabling the constraints, loading the data, and then deleting the problem rows before reenabling the constraints.

When you use APPEND, the data is always loaded into new space; existing space, even if available, is not reused. For this reason, you may wish to compress your data after the load.
31 мар 10, 14:53    [8559503]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Врать не буду - из секционированных таблиц в созданные заранее несекционированные таблицы данные не заливал, но так как всё-же позже получилось залить данные, то не вижу проблем с загрузкой сразу за один присест.
31 мар 10, 15:46    [8559986]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Takurava
Врать не буду - из секционированных таблиц в созданные заранее несекционированные таблицы данные не заливал, но так как всё-же позже получилось залить данные, то не вижу проблем с загрузкой сразу за один присест.

Почему же с первого раза с TRUNCATE не получилось?

Востановила пустую Бд из холодного бэкапа.
Сейчас запущу ваш вариант, завтра посмотрю, что получилось.
31 мар 10, 16:09    [8560182]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Aliona
Почему же с первого раза с TRUNCATE не получилось?

Востановила пустую Бд из холодного бэкапа.
Сейчас запущу ваш вариант, завтра посмотрю, что получилось.

А с каким сообщением в таблицы данные не залились? Или просто молча не легли?
31 мар 10, 16:19    [8560254]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Вот ещё проблема!
Если с пользовательскими таблицы как-то можно загрузить, то что делать с секционироваными таблицами словаря?
автор
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE
ORA-39083: Object type TABLE failed to create with error:
ORA-00439: feature not enabled: Partitioning
Failing sql is:
CREATE TABLE "SYSTEM"."LOGSTDBY$APPLY_PROGRESS" ("XIDUSN" NUMBER, "XIDSLT" NUMBER, "XIDSQN" NUMBER, "COMMIT_SCN" NUMBER, "COMMIT_TIM
E" DATE, "SPARE1" NUMBER, "SPARE2" NUMBER, "SPARE3" VARCHAR2(2000)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE( BUFFER_P
OOL DEFAULT) TABLESPACE "SYSAUX" PARTITION BY RANGE ("COMMIT_SCN") (PARTITION "P0" VALUES LESS THAN (0) PCTFREE 10 PCTUSED 4
ORA-39083: Object type TABLE failed to create with error:
ORA-00439: feature not enabled: Partitioning
Failing sql is:
CREATE TABLE "O_MDB"."NKS_PRE_CHECK_FLC" ("FLS_ID" NUMBER, "STREET" VARCHAR2(16), "NAMEU" VARCHAR2(64), "HOUSE_ID" NUMBER, "NDOMA" V
ARCHAR2(16), "NKORP" VARCHAR2(16), "STROEN" VARCHAR2(16), "FLAT_NUM" VARCHAR2(16), "N_ANT" NUMBER(16,0), "OKS_ID" NUMBER(16,0), "PAR
TITION_ID" NUMBER(16,0)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING STORAGE( BUFFER_POOL DEFAULT) TABLESPACE "ON
ORA-39083: Object type TABLE failed to create with error:
ORA-00439: feature not enabled: Partitioning
...
31 мар 10, 16:36    [8560391]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
ещё есть ошибки:
автор
ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"SYSTEM"."LOGSTDBY$APPLY_PROGRESS" creation failed
ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"O_MDB"."NKS_PRE_CHECK_FLC" creation failed
...
31 мар 10, 16:39    [8560421]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
impdp system full=Y directory=DATA_PUMP_DIR dumpfile= expdp_database.dmp.20100329.1054 table_exists_action= APPEND

Ошибки те же, как я и предполагала.

Скорее всего надо делать table_exists_action= SKIP
чтобы в протоколе было меньше грязи и потом отдельно заливать секционированные таблицы.
31 мар 10, 16:50    [8560504]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Aliona
ещё есть ошибки:
автор
ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"SYSTEM"."LOGSTDBY$APPLY_PROGRESS" creation failed
ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"O_MDB"."NKS_PRE_CHECK_FLC" creation failed
...

"SYSTEM"."LOGSTDBY$APPLY_PROGRESS" можно и пересоздать без партиционирования
"O_MDB"."NKS_PRE_CHECK_FLC" это же ваша таблица?

Aliona
Ошибки те же, как я и предполагала.

А какие ошибки-то при импорте?
31 мар 10, 16:58    [8560562]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Если ошибки такие
Failing sql is:
CREATE TABLE "O_MDB"."NKS_PRE_CHECK_FLC"
 .......
ORA-39083: Object type TABLE failed to create with error:
ORA-00439: feature not enabled: Partitioning
и при этом таблица "O_MDB"."NKS_PRE_CHECK_FLC" существовала, то вариантов действительно нет - выходит что IMPDP не проверяет наличие объекта, а перехватывает ошибку и не импортирует таблицу вовсе.
31 мар 10, 17:14    [8560667]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Takurava
Aliona
ещё есть ошибки:
автор
ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"SYSTEM"."LOGSTDBY$APPLY_PROGRESS" creation failed
ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"O_MDB"."NKS_PRE_CHECK_FLC" creation failed
...

"SYSTEM"."LOGSTDBY$APPLY_PROGRESS" можно и пересоздать без партиционирования
"O_MDB"."NKS_PRE_CHECK_FLC" это же ваша таблица?

Aliona
Ошибки те же, как я и предполагала.

А какие ошибки-то при импорте?

ошибки я изобразила в этом сообщении и в сообщении выше.

О том что я пересоздала все пользовательские секционированные таблицы перед импортом я писала в первом сообщении.
1 апр 10, 10:16    [8563027]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Takurava
Если ошибки такие
Failing sql is:
CREATE TABLE "O_MDB"."NKS_PRE_CHECK_FLC"
 .......
ORA-39083: Object type TABLE failed to create with error:
ORA-00439: feature not enabled: Partitioning
и при этом таблица "O_MDB"."NKS_PRE_CHECK_FLC" существовала, то вариантов действительно нет - выходит что IMPDP не проверяет наличие объекта, а перехватывает ошибку и не импортирует таблицу вовсе.

Выходит, что так.
Я такой вопрос в первом сообщении и задала.
1 апр 10, 10:18    [8563041]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Подумал было, что это неверное поведение impdp, но на металинке меня не обрадовали

Hi Sergey,

I think you are going to have to continue with your workaround then. You can perform an initial import using CONTENT=METADATA_ONLY to create the tables that you haven't pre-created, and then a second import using CONTENT=DATA_ONLY to import the rows.

Regards,
Dave
1 апр 10, 11:27    [8563713]     Ответить | Цитировать Сообщить модератору
 Re: Пернос БД DataPump'ом из EE в SE  [new]
SH_Юрий
Member

Откуда:
Сообщений: 121
А разве так нельзя CONTENT=ALL
12 авг 10, 16:33    [9255220]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить