首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用命令行从oracle数据库导出选定的函数、选定的过程、选定的视图和选定的表?

如何使用命令行从oracle数据库导出选定的函数、选定的过程、选定的视图和选定的表?
EN

Stack Overflow用户
提问于 2018-11-09 07:19:29
回答 1查看 7.1K关注 0票数 1

假设我想出口

  • 名为V1,V2的视图
  • 名为f1,f2的函数
  • 名为p1,p2的过程
  • 名为T1,T2的表
  • 用户名:系统
  • 密码:经理sid /
  • 模式: DB3

所以我向CMD发出命令如下,

(1) expdp system/manager@DB3 directory=backupdir dumpfile=backup.dmp logfile=backup.log include=view:"IN ('V1','V2')",函数:IN ('f1',‘f2’),过程:IN ('p1',‘p2’),表:IN ('T1',‘T2’)

(2)支出系统/管理器@db3 directory=backupdir dumpfile=backup.dmp logfile=backup.log include=view:"IN ('V1','V2')“include=function:"IN ('f1','f2')”include=procedure:"IN ('p1','p2')“include=table:"IN ('T1','T2')”

这两种命令都不起作用:

错误: ORA-39071:包含的值格式错误。

下面的命令可以工作,但它只导出指定的表。它不导出视图、过程和功能。

(3)扩展系统/管理器@db3 directory=backupdir dumpfile=backup.dmp logfile=backup.log include=view,过程、功能,表:“IN ('T1','T2')”

该怎么办呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-09 08:23:12

ORA-39071:包含的值格式错误。

命令行不喜欢引号。有两种方法来处理这个问题。

第一种方法是转义引号:

代码语言:javascript
运行
复制
expdp system/manager@DB3 directory=backupdir dumpfile=backup.dmp logfile=backup.log 
include=view:\"IN (\'V1\',\'V2\')\" include=function:\"IN (\'f1\',\'f2\')\" include=procedure:\"IN (\'p1\',\'p2\')\" include=table:\"IN (\'T1\',\'T2\')\"

如果这看起来很乏味(而且确实如此),那么第二个选择就是定义一个参数文件。您可以在其中包含所有选项,而无需转义引号,只需使用PARFILE参数运行expdp即可。

架构“DBpractice”中没有任何更改,其中我希望导入已从名为DB3的架构导出的表、视图、函数和过程。

这确实是一个新问题,但解决方案非常简单:您需要使用接受impdp的REMAP_SCHEMA参数运行source_schema:target_schema。所以在你的情况下

代码语言:javascript
运行
复制
impdp system/manager directory=backupdir dumpfile=backup.dmp remap_schema=db3:DBpractice
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53221353

复制
相关文章

相似问题

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