首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自不同模式的DBMS_DATAPUMP API导出/导入表

来自不同模式的DBMS_DATAPUMP API导出/导入表
EN

Stack Overflow用户
提问于 2022-04-24 13:04:32
回答 1查看 558关注 0票数 0

我希望使用DBMS_DATAPUMP API从多个模式导出导入表。例如user1.table1user2.table2user3.table 3我在一个参数中给出了表,就像一个用逗号分隔的列表。“user1.table1,user2.table2,user3.table3”之后,我将表列表存储在一个表中。然后,我在游标中读取表的内容,并使用循环在游标中遍历,并逐一给出模式和表名。

代码语言:javascript
复制
LOOP
 dbms_datapump.metadata_filter(handle => h1, name => 'NAME_EXPR', value => 'IN('table1'));
 dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_LIST', value => 'IN('user1'));
END LOOP.

第一个表成功地添加到dbms_datapump作业中,但第二个表退出时出现错误。

ORA-39071: SCHEMA_LIST的值格式很差.ORA-00936:缺失扩展

我很想找到解决方案,如何使用不同模式的DBMS_DATAPUMP API表进行exp/imp,但我已经找到了任何示例。我发现的示例仅显示来自一个模式的exp/imp。提前感谢

EN

回答 1

Stack Overflow用户

发布于 2022-08-16 07:28:17

-对于表格模式,只支持一个SCHEMA_EXPR过滤器。如果指定,则只能指定单个模式(例如,'IN (''SCOTT'')')。

代码语言:javascript
复制
DBMS_DATAPUMP.METADATA_FILTER(handle, 'SCHEMA_EXPR', 'IN('||vschemas||')');

--您可以输入多个表名,但不超过4000个字符(文字限制),包括特殊字符。

代码语言:javascript
复制
DBMS_DATAPUMP.METADATA_FILTER(handle, 'NAME_EXPR', 'IN('||vtables||')', 'TABLE');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71988685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档