情况是这样:甲方提供的是按照用户导出的dmp文件,而开发这边只想要几张表的数据。
试验如下:
数据库版本:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
导出yafeishi用户的所有对象:
C:\Users\yafeishi>exp system/ss file=yafeishi.dmp owner=yafeishi compress=n
Export: Release 10.2.0.3.0 - Production on 星期四 8月 9 10:23:32 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 YAFEISHI 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 YAFEISHI 的对象类型定义
即将导出 YAFEISHI 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 YAFEISHI 的表通过常规路径...
. . 正在导出表 BONUS导出了 0 行
. . 正在导出表 DEPT导出了 4 行
. . 正在导出表 EMP导出了 16 行
. . 正在导出表 SALGRADE导出了 10 行
. 正在导出同义词
. 正在导出视图
. 正在导出存储过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
成功终止导出, 没有出现警告。
导入一张emp表到dang用户中:
C:\Users\yafeishi>imp system/ss file=yafeishi.dmp tables=emp fromuser=yafeishi
touser=dang
Import: Release 10.2.0.3.0 - Production on 星期四 8月 9 10:25:16 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 YAFEISHI 的对象导入到 DANG
. . 正在导入表 "EMP"导入了 16 行
IMP-00017: 由于 ORACLE 错误 942, 以下语句失败:
"ALTER TABLE "EMP" ADD CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO") REFEREN"
"CES "DEPT" ("DEPTNO") ENABLE NOVALIDATE"
IMP-00003: 遇到 ORACLE 错误 942
ORA-00942: 表或视图不存在
即将启用约束条件...
IMP-00017: 由于 ORACLE 错误 2430, 以下语句失败:
"ALTER TABLE "EMP" ENABLE CONSTRAINT "FK_DEPTNO""
成功终止导入, 但出现警告。
这块的警告是因为emp和dept有个外键,因为dept表不存在而出错,此处可以忽略。
查看库中dang用户下的表:
SQL> select table_name from dba_tables a where a.owner='DANG';
TABLE_NAME
------------------------------
EMP
查看dang用户下的索引:
SQL> select a.owner,a.index_name,a.table_name from dba_indexes a where a.owner='DANG';
OWNER INDEX_NAME TABLE_NAME
------------------------------ ------------------------------ ------------------------------
DANG PK_EMP EMP
DANG EMP_JOB_NAME EMP
DANG EMP_NAME EMP
DANG EMP_NAME_FUNC EMP
再导入dept表:
C:\Users\yafeishi>imp system/ss file=yafeishi.dmp tables=dept fromuser=yafeish
i touser=dang
Import: Release 10.2.0.3.0 - Production on 星期四 8月 9 10:28:44 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 YAFEISHI 的对象导入到 DANG
. . 正在导入表 "DEPT"导入了 4 行
成功终止导入, 没有出现警告。
再次查看dang用户下的表和索引:
SQL> select table_name from dba_tables a where a.owner='DANG';
TABLE_NAME
------------------------------
EMP
DEPT
SQL> select a.owner,a.index_name,a.table_name from dba_indexes a where a.owner='DANG';
OWNER INDEX_NAME TABLE_NAME
------------------------------ ------------------------------ ------------------------------
DANG PK_EMP EMP
DANG EMP_JOB_NAME EMP
DANG EMP_NAME EMP
DANG EMP_NAME_FUNC EMP
DANG PK_DEPT DEPT
试验成功。
---EOF
原文地址:http://blog.yafeishi.net/2012/08/exp-full-imp-part.html