Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DBMS_DATAPUMP фильтр таблиц по маске / 6 сообщений из 6, страница 1 из 1
11.11.2019, 16:34
    #39887565
Mladshiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBMS_DATAPUMP фильтр таблиц по маске
Помогите написать фильтр для исключения объектов из экспорта
Запускаю DBMS_DATAPUMP из которого надо исключить данные в тяжелых таблицах
десяток фиксированных названий типа DBT_TAB1, CRD_TABTMP и т.п. и пол сотни по маске object_name LIKE 'CRE_%'.
Метаданные всех этих таблиц нужно выгружать. Я не смог разобраться в мануале и примерах.
В expdp.exe это решалось просто
Код: plsql
1.
2.
EXCLUDE=TABLE_DATA:"IN('CRM_CUSTOMER')"
EXCLUDE=TABLE_DATA:"LIKE 'CRE_%'"
...
Рейтинг: 0 / 0
12.11.2019, 11:09
    #39887932
Oleg M.Ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBMS_DATAPUMP фильтр таблиц по маске
Mladshiy,
условие не раскрыто. Если фильтровать на этапе экспорта, это одно, а в случае имеющегося дампа фильтровать при импорте, это другое.

Я подобную задачу решал на этапе экспорта в два этапа/дампа.
В одном дампе исключил вообще большие таблицы, добавив фильтр. При этом вся остальная мелочевка в дамп попала.
EXCLUDE=TABLE:\"LIKE \'BIGTABLE1\'\",TABLE:\"LIKE \'BIGTABLE2\'\",TABLE:\"LIKE \'BIGTABLE3\'\",TABLE:\"LIKE \'BIGTABLE4\'\"

Вторым этапом слил метаданные только больших таблиц:
CONTENT=METADATA_ONLY \
tables= \
USER1.BIGTABLE1, \
USER1.BIGTABLE2, \
USER1.BIGTABLE3, \
USER1.BIGTABLE4

Есть еще вариант экспорта сразу в одном дампе, я так делал для одной большой таблицы, данные которой переносить не надо
QUERY='USER1.BIGTABLE1:"WHERE ROWNUM = 0"'
, но можно перечислить и все ненужные таблицы, вот тут есть примеры подобных запросов .
...
Рейтинг: 0 / 0
12.11.2019, 11:25
    #39887944
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBMS_DATAPUMP фильтр таблиц по маске
Oleg M.Ivanov
условие не раскрыто
Условие не expdp, а dbms_datapump. Проблема у автора, что он не смог прочитать описание пакета.
...
Рейтинг: 0 / 0
12.11.2019, 13:06
    #39888027
Mladshiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBMS_DATAPUMP фильтр таблиц по маске
Верно, нужен фильтр пи экспорте именно через DBMS_DATAPUMP
и соглашусь с тем, что не осилил описание пакета
Код: plsql
1.
2.
3.
4.
5.
6.
DBMS_DATAPUMP.DATA_FILTER (
   handle => a_handle
   name =>  
   value =>  
   table_name  => 
   schema_name =>


Как указать таблицы по маске?
Как указать что для этих таблиц нужны только метаданные?
...
Рейтинг: 0 / 0
12.11.2019, 13:29
    #39888042
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBMS_DATAPUMP фильтр таблиц по маске
Mladshiy, вы недочитали до METADATA_FILTER.
...
Рейтинг: 0 / 0
12.11.2019, 13:48
    #39888055
Mladshiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBMS_DATAPUMP фильтр таблиц по маске
dmdmdm, и до него дошел, но не понял как в первом фильтре указать, что список таблиц экспортировать не надо.
А во втором видимо как то так?
Код: plsql
1.
2.
3.
4.
5.
DBMS_DATAPUMP.METADATA_FILTER(
   handle => a_handle
   name => INCLUDE_PATH_LIST
   value  => 'USER'
   object_path => LIKE 'USER.CRE_%' -- сомневаюсь, что такая конструкция сработает
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DBMS_DATAPUMP фильтр таблиц по маске / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]