EXPDP导出表数据,排除某个表,遇到的问题

本文详细介绍了Oracle数据库EXPDP命令中的exclude参数用法,特别是如何排除特定表的问题,并提供了具体的命令示例。
部署运行你感兴趣的模型镜像
EXPDP 这个参数是排队某个特定的对象
使用说明:
EXCLUDE=object_type[:name_clause] [,….]
Object_type
用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDEINCLUDE不能同时使用

今天测试了这个命令,刚开始我是这样写的
[oracle@jkj ~]$ expdp system/oracle full=y directory=exp_dir dumpfile=bbb.dmp exclude=TABLEs:EMP

Export: Release 11.2.0.1.0 - Production on 星期四 10月 24 17:15:31 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39001: 参数值无效
ORA-39038: 对象路径 "TABLES" 在 FULL 作业中不受支持。

怎么测都会提示这个,后来仔细看了下这个使用说明,才发现,必须要用使用IN 再转义下才行,命令如下:

 expdp scott/tiger directory=exp_dir dumpfile=bAbb.dmp EXCLUDE=TABLE:\"IN\(\'EMP\',\'DEPT\'\)\"

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18762014/viewspace-774976/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/18762014/viewspace-774976/

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

<think>好的,用户想用Oracle的EXPDP工具导出特定名称的存储过程。首先,我得回忆一下EXPDP的基本用法,知道它通常用来导出数据,包括存储过程。不过用户需要的是按名称筛选,这就需要用到INCLUDE或EXCLUDE参数。 记得INCLUDE允许指定要导出的对象类型和名称,而EXCLUDE则是排除。但用户的问题是要导出特定的存储过程,所以应该用INCLUDE。然后,需要确认语法是否正确,比如INCLUDE=PROCEDURE:"IN ('名字1','名字2')"。这里要注意对象类型是PROCEDURE,名称需要用单引号括起来,并且用逗号分隔多个名称。 然后检查用户提供的引用,特别是引用3提到Data Pump 20c支持同时使用INCLUDE和EXCLUDE,但用户可能不需要排除,只要包含特定的存储过程。同时引用4提到了SCHEMA参数的重要性,因为存储过程属于某个方案,必须指定正确的方案名。 接下来,可能需要给出一个完整的命令示例,包括DIRECTORY参数,因为EXPDP需要指定目录对象。还要提醒用户先创建目录,并确保有权限。另外,注意作业名称和日志文件的命名,方便后续跟踪。 最后,常见问题部分需要考虑用户可能遇到的权限问题,目录不存在的情况,或者名称拼写错误。还要确认用户是否知道如何列出所有存储过程,可能需要查询DBA_PROCEDURES视图。</think>要使用Oracle Data Pump工具(`expdp`)导出特定名称的存储过程,需结合`INCLUDE`参数和对象过滤语法。以下是具体步骤: --- ### **步骤说明** 1. **确认存储过程所属方案** 存储过程通常属于某个数据库方案(Schema),需在导出命令中指定目标方案名。例如,若存储过程属于`HR`方案,需添加`SCHEMAS=HR`参数[^4]。 2. **使用INCLUDE参数过滤对象** 通过`INCLUDE=PROCEDURE:"IN ('存储过程名1', '存储过程名2')"`指定要导出的存储过程名称列。名称需严格匹配且区分大小写。 3. **完整导出命令示例** ```bash expdp username/password@database DIRECTORY=dpump_dir DUMPFILE=procedures.dmp LOGFILE=expdp_procedures.log SCHEMAS=HR INCLUDE=PROCEDURE:"IN ('CALC_SALARY', 'VALIDATE_DATA')" ``` - `DIRECTORY`: 需提前创建的数据库目录对象(需权限)[^1] - `SCHEMAS`: 存储过程所属的方案名 - `INCLUDE`: 筛选条件,限定导出的存储过程名称 --- ### **注意事项** 1. **权限要求** 用户需具备`EXP_FULL_DATABASE`角色或对目标方案的`SELECT`权限[^1]。 2. **名称匹配规则** 存储过程名称需完全匹配(包括大小写),建议从`DBA_PROCEDURES`视图中查询准确名称。 3. **跨版本兼容性** Data Pump从20c开始支持同一命令中混合使用`INCLUDE`和`EXCLUDE`参数,但低版本需避免冲突[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值