暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 我必须使用DBMS_DATAPUMP包导入特定的表。如何排除不需要的表?

askTom 2017-03-02
863

问题描述

嗨,汤姆,

我已经使用下面的导入par文件来排除那些名称带有 $ 的表

目录 = 2月9日
转储文件 = MXPRD_01feb09 _ % U.dmp
日志文件 = IMP_EDRPRE.log
Remp_schema = MXPRD:MAXIMO
Remp_tablespace = MXPRD_DATA:MAXIMO_DATA,MXPRD_INDEX:MAXIMO_INDEX
平行 = 8
排除 = 表: “像 '% %'”

同样的,我已经尝试使用DBMS_DATAPUMP,它是排除所有的表。

h := DBMS_DATAPUMP.open('IMPORT','schema ',null,'pre_refresh');
DBMS_DATAPUMP.add_file(h,文件名 => 'exp_mxprd % u.dmp',目录 => exp_dir);
DBMS_DATAPUMP.add_file(h,文件名 => 'imp_edr_maximo.log',目录 => exp_dir,文件类型 => DBMS_DATAPUMP.KU $ _ FILE_TYPE_LOG_FILE);
DBMS_DATAPUMP.metadata_remap (h,'remap_schema ','MXPRD','MAXIMO');
DBMS_DATAPUMP.metadata_remap (h,'remap_tablespace ','mxprd_data','maximo _ data ');
DBMS_DATAPUMP.metadata_remap (h,'remap_表空间 ','mxprd_index','maximo_index ');
DBMS_DATAPUMP.metadata_filter (h,'name_expr ',value => '不像 ''%$%''',object_type => 'TABLE');
DBMS_DATAPUMP.set_parallel(h,度 => 8);
DBMS_DATAPUMP.start_job(h);
DBMS_DATAPUMP.WAIT_FOR_JOB (h,状态);


Please help me to find the equivalent of 排除 = 表: “像 '% %'” in DBMS_DATAPUMP

专家解答

对不起,我不能复制你的问题

SQL> create table scott.emp$ as select * from scott.emp;

Table created.

SQL> select table_name from all_tables
  2  where owner = 'SCOTT'
  3  order by 1;

TABLE_NAME
------------------------------
BONUS
DEPT
EMP
EMP$
SALGRADE

SQL> set serveroutput on size 1000000
SQL> declare
  2    l_jobid       number;
  3  begin
  4    l_jobid := dbms_datapump.open(
  5      operation   => 'EXPORT',
  6      job_mode    => 'SCHEMA',
  7      job_name    => 'SCOTT_DP'
  8      );
  9
 10    dbms_datapump.add_file(
 11      handle    => l_jobid,
 12      filename  => 'scott.dmp',
 13      directory => 'MY_DIR');
 14
 15    dbms_datapump.add_file(
 16      handle    => l_jobid,
 17      filename  => 'scott.log',
 18      directory => 'MY_DIR',
 19      filetype  => dbms_datapump.ku$_file_type_log_file);
 20
 21    dbms_datapump.metadata_filter(
 22      handle => l_jobid,
 23      name   => 'SCHEMA_EXPR',
 24      value  => '= ''SCOTT''');
 25
 26    dbms_datapump.metadata_filter(
 27      handle      => l_jobid,
 28      name        => 'NAME_EXPR',
 29      value       => 'NOT LIKE ''%$%''',
 30      object_type => 'TABLE');
 31
 32    dbms_datapump.start_job(l_jobid);
 33
 34    dbms_datapump.detach(l_jobid);
 35  end;
 36  /

PL/SQL procedure successfully completed.

---
---  scott.log
---
FLASHBACK automatically enabled to preserve database integrity.
Starting "MCDONAC"."SCOTT_DP":  
Estimate in progress using BLOCKS method...
...
...
Processing object type SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
. . exported "SCOTT"."DEPT"                              6.031 KB       4 rows
. . exported "SCOTT"."EMP"                               8.781 KB      14 rows
. . exported "SCOTT"."SALGRADE"                          5.960 KB       5 rows
. . exported "SCOTT"."BONUS"                                 0 KB       0 rows
Master table "MCDONAC"."SCOTT_DP" successfully loaded/unloaded
******************************************************************************
Dump file set for MCDONAC.SCOTT_DP is:
  C:\TEMP\SCOTT.DMP
Job "MCDONAC"."SCOTT_DP" successfully completed at Tue Mar 7 15:16:07 2017 elapsed 0 00:00:27



它可能是特定于版本的,因此请像我这样的示例并构建一个测试用例并与支持人员联系。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论