【oracle】导出全部表,导入部分表

Posted on 2012-08-09 10:47  雅飞士  阅读(1286)  评论(0编辑  收藏  举报

情况是这样:甲方提供的是按照用户导出的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

Copyright © 2024 雅飞士
Powered by .NET 9.0 on Kubernetes