Как использовать предложение запроса в EXPDP

Я экспортирую данные таблицы через EXPDP с помощью команды ниже

nohup expdp \"/ as sysdba\" directory=DATA_PUMP_DIR dumpfile=EXP.dmp logfile=EXP.log version=11.2.0.4 TABLES=CRM.CATEGORIES QUERY='"where bank_id='43'"'

Получение ошибки ниже

ORA-31693: Объект данных таблицы "CRM"."КАТЕГОРИИ" не удалось загрузить / выгрузить и пропускается из-за ошибки:

ORA-29913: ошибка при выполнении вызова ODCIEXTTABLEPOPULATE

ORA-01722: неверный номер

Если я удаляю параметр запроса из команды экспорта, он работает нормально. Я попытался изменить параметр версии на другие значения, но все еще получаю ту же ошибку. Столбец BANK_ID в таблице имеет тип данных NVARCHAR2. Я не могу использовать EXP, так как он заблокирован на БД. Версия Oracle - 12.1.0.2.0 для базы данных источника и назначения.

1 ответ

Решение

Можете ли вы попробовать изменить свой фильтр запросов следующим образом:

QUERY=(CRM.CATEGORIES:"WHERE bank_id='43'")

пожалуйста, будьте в курсе :

Редактировать мне удалось сделать так:

expdp \"/ as sysdba\" dumpfile=DATA_PUMP_DIR:test.dmp tableS=CRM.CATEGORIES QUERY='(CRM.CATEGORIES:"WHERE bank_id=43")'   logfile=DATA_PUMP_DIR:test.log

Это сработало для меня в Solaris (значение даты, используемое в параметре запроса)

expdp xxxxx /xxxx dumpfile = test_table.dmp logfile = test_table.log tables = scott.TEST directory = DUMDIR query = scott.TEST: \ "где IMG_SAVE_DTTIM \<\ \ '01- \ JAN- \ 19 \ '\"

Для получения дополнительной информации см. Документ ID 277010.1

Гораздо проще использовать файл par.

с участием

... QUERY="где bank_id=43"

Ура, Брайан

Другие вопросы по тегам