Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 DBMS_DATAPUMP ORA-39166: Object %s was not found.  [new]
anotherone
Member

Откуда:
Сообщений: 118
Пытаюсь выгрузить данные из табличек с помощью DBMS_DATAPUMP:

SQL> create user expdp_user identified by expdp_user;

User created.

SQL> grant connect, resource, dba to expdp_user;

Grant succeeded.

SQL> connect expdp_user/expdp_user;
Connected.
SQL> create table expdp_test(f1 number, f2 varchar2(30));

Table created.

SQL> insert into expdp_test select rownum, object_name from all_objects where rownum <= 100; 

100 rows created.

SQL> commit;

Commit complete.

SQL> declare
  2      l_handle        number;
  3  begin
  4  
  5      l_handle := 
  6          dbms_datapump.open(
  7              operation       => 'EXPORT'
  8            , job_mode        => 'TABLE'
  9            , remote_link     => null
 10            , job_name        => 'DP_EXPORT'
 11            , version         => 'COMPATIBLE'
 12          );
 13  
 14      dbms_datapump.add_file(
 15          handle          => l_handle
 16        , filename        => 'expdp_user.dmp'
 17        , directory       => 'DATA_PUMP_DIR'
 18        , filetype        => dbms_datapump.KU$_FILE_TYPE_DUMP_FILE
 19      );
 20  
 21      dbms_datapump.add_file(
 22          handle          => l_handle
 23        , filename        => 'datapump.log'
 24        , directory       => 'DATA_PUMP_DIR'
 25        , filetype        => dbms_datapump.KU$_FILE_TYPE_LOG_FILE
 26      );
 27  
 28      dbms_datapump.metadata_filter(
 29         handle           => l_handle
 30       , name             => 'NAME_LIST'
 31       , value            => '"EXPDP_TEST"'
 32      );
 33      
 34      dbms_datapump.set_parameter(
 35          handle          => l_handle
 36        , name            => 'INCLUDE_METADATA'
 37        , value           => 0
 38      );
 39          
 40      dbms_datapump.start_job(
 41          handle          => l_handle
 42      );
 43  
 44  end;
 45  /

PL/SQL procedure successfully completed.

Файл дампа создается, но после завершения процесса пропадает.
А в логе такая вот ерунда:

Starting "EXPDP_USER"."DP_EXPORT":  
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 0 KB
ORA-39166: Object "EXPDP_TEST" was not found.
ORA-31655: no data or metadata objects selected for job
Job "EXPDP_USER"."DP_EXPORT" completed with 2 error(s) at 15:21:19

Что я упустил?

ЗЫ Версия Оракла 11.2.0.1.0
20 июл 10, 15:39    [9132015]     Ответить | Цитировать Сообщить модератору
 Re: DBMS_DATAPUMP ORA-39166: Object %s was not found.  [new]
anotherone
Member

Откуда:
Сообщений: 118
up
21 июл 10, 12:32    [9136826]     Ответить | Цитировать Сообщить модератору
 Re: DBMS_DATAPUMP ORA-39166: Object %s was not found.  [new]
anotherone
Member

Откуда:
Сообщений: 118
Проблема решена, оказалось что имена таблиц при таком
варианте запуска нужно писать без кавычек.

dbms_datapump.metadata_filter(
    handle           => l_handle
  , name             => 'NAME_LIST'
  , value            => 'EXPDP_TEST,SOME_TABLE'
);
21 июл 10, 14:35    [9137989]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить