expdp常见用法

expdp是 oracle  10g提供的一个代替exp的工具,不论从速度还是功能上来讲,相对于exp来说都是一个飞跃。

1. 执行expdp之前要先创建directory对象,如:

CONNECT system/manager
CREATE OR REPLACE DIRECTORY expdir AS ‘d:\exp’;
GRANT read,write ON DIRECTORY expdir TO public;

2. 常见用法:

2.1 导出scott整个schema

expdp scott/tiger@bright parfile=c:\exp.par –默认导出登陆账号的schema

exp.par内容:

DIRECTORY=expdir
DUMPFILE=scott_full.dmp
LOGFILE=scott_full.log

或者:

expdp system/oracle@bright parfile=c:\exp.par  –其他账号登陆,在参数中指定schemas

exp.par内容:

DIRECTORY=expdir
DUMPFILE=scott_full.dmp
LOGFILE=scott_full.log
SCHEMAS=SCOTT

2.2 导出scott下的dept,emp表

expdp scott/tiger@bright parfile=c:\exp.par

exp.par内容:

DIRECTORY=expdir
DUMPFILE=scott.dmp
LOGFILE=scott.log
TABLES=DEPT,EMP

2.3 导出scott下除emp之外的表

expdp scott/tiger@bright parfile=c:\exp.par

exp.par内容:

DIRECTORY=expdir
DUMPFILE=scott.dmp
LOGFILE=scott.log
EXCLUDE=TABLE:”=’EMP’”

2.4 导出scott下的存储过程

expdp scott/tiger@bright parfile=c:\exp.par

exp.par内容:

DIRECTORY=expdir
DUMPFILE=scott.dmp
LOGFILE=scott.log
INCLUDE=PROCEDURE

2.5 导出scott下以’E'开头的表

expdp scott/tiger@bright parfile=c:\exp.par

DIRECTORY=expdir
DUMPFILE=scott.dmp
LOGFILE=scott.log
INCLUDE=TABLE:”LIKE ‘E%’”   –可以改成 NOT LIKE,就导出不以E开头的表

2.6 带QUERY导出

expdp scott/tiger@bright parfile=c:\exp.par

exp.par内容:

DIRECTORY=expdir
DUMPFILE=scott.dmp
LOGFILE=scott.log
TABLES=EMP,DEPT
QUERY=EMP:”where empno >=8000″
QUERY=DEPT:”where deptno >=10 and deptno <=40″

注:处理这样带查询的多表导出,如果多表之间有外健关联,可能需要注意查询条件所筛选的数据是否符合这样的外健约束,比如:EMP中有一栏位是deptno,是关联dept中的主键,如果”where empno >=8000″中得出的deptno=50的话,那么,你的dept的条件”where deptno >=10 and deptno <=40″就不包含deptno=50的数据,那么在导入的时候就会出现错误!

### 问题分析与解决方案 在 Oracle 数据库中,`imp` 命令是用于导入导出文件的一个重要工具。如果出现 `imp` 命令未找到或无法运行的问题,通常可能是由于以下原因之一导致的: 1. **环境变量配置错误**:系统环境变量中未正确配置 Oracle 的路径,导致系统无法找到 `imp` 命令。 2. **Oracle 客户端未安装或版本不匹配**:如果未安装 Oracle 客户端或客户端版本与数据库版本不兼容,可能导致命令不可用。 3. **权限问题**:用户可能没有足够的权限执行该命令。 4. **导出文件格式不兼容**:如果使用的导出文件是由较新的工具(如 `expdp`)生成的,则 `imp` 命令可能无法识别该文件[^4]。 以下是解决 `imp` 命令未找到或无法运行问题的具体方法: ### 环境变量检查 确保系统的 `PATH` 环境变量中包含 Oracle 的二进制文件路径。例如,在 Linux 或 Unix 系统中,可以使用以下命令检查和设置环境变量: ```bash echo $ORACLE_HOME export PATH=$ORACLE_HOME/bin:$PATH ``` 在 Windows 系统中,可以通过系统属性 -> 高级系统设置 -> 环境变量来添加 `%ORACLE_HOME%\bin` 到 `PATH` 中[^1]。 ### 检查 Oracle 客户端安装 确认是否已正确安装 Oracle 客户端,并且其版本与目标数据库版本兼容。如果需要,可以从 Oracle 官方网站下载并安装正确的客户端版本[^2]。 ### 权限验证 确保当前用户具有执行 `imp` 命令的权限。可以通过以下方式验证: - 使用具有 `DBA` 角色的用户登录数据库。 - 如果权限不足,联系数据库管理员(DBA)授予必要的权限。 ### 导入文件格式验证 如果导出文件是由 `expdp` 工具生成的,则需要使用 `impdp` 命令进行导入,而不是 `imp` 命令。两者不兼容,因此需要根据导出文件的生成方式选择合适的工具[^3]。 ### 示例代码 以下是一个典型的 `imp` 命令示例: ```bash imp username/password@database FULL=Y IGNORE=Y FILE=/path/to/export.dmp LOG=/path/to/import.log ``` 如果仍然遇到问题,可以尝试通过增加调试参数来获取更多错误信息: ```bash imp username/password@database FULL=Y IGNORE=Y FILE=/path/to/export.dmp LOG=/path/to/import.log SHOW=Y ``` ### 注意事项 - 确保导出文件的格式与 `imp` 命令兼容。 - 如果使用的是较新的 Oracle 版本,推荐使用 `expdp` 和 `impdp` 替代传统的 `exp` 和 `imp` 工具[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值