Oracle数据泵如何对已经存在的表加载索引

一个朋友提到一个数据泵导入的问题,在表存在的情况下,不删除表,且导入表的数据和索引。

其实这个任务对于imp很简单,因为imp的工作方式就是如此。

SQL> CREATE TABLE T_EXP

2  (ID NUMBER, NAME VARCHAR2(30));

表已创建。

SQL> CREATE INDEX IND_T_EXP_ID

2  ON T_EXP(ID);

索引已创建。

SQL> INSERT INTO T_EXP

2  SELECT ROWNUM, TNAME

3  FROM TAB;

已创建72行。

SQL> COMMIT;

提交完成。

SQL> HOST exp test/test file=t_exp.dmp buffer=2048000 tables=t_exp

Export: Release9.2.0.4.0 - Production on星期三6月2 15:12:26 2010

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

连接到: Oracle9i Enterprise Edition Release9.2.0.4.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.4.0 - Production

已导出ZHS16GBK字符集和AL16UTF16 NCHAR字符集

即将导出指定的表通过常规路径...

. .正在导出表                           T_EXP         72行被导出

在没有警告的情况下成功终止导出。

SQL> DROP INDEX IND_T_EXP_ID;

索引已丢弃。

SQL> HOST imp test/test file=t_exp.dmp buffer=2048000 tables=t_exp ignore=y

Import: Release9.2.0.4.0 - Production on星期三6月2 15:13:10 2010

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

连接到: Oracle9i Enterprise Edition Release9.2.0.4.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.4.0 - Production

经由常规路径导出由EXPORT:V09.02.00创建的文件

已经完成ZHS16GBK字符集和AL16UTF16 NCHAR字符集中的导入

.正在将TEST的对象导入到TEST

. .正在导入表                         "T_EXP"         72行被导入

成功终止导入,但出现警告。

SQL> SELECT COUNT(*) FROM T_EXP;

COUNT(*)

----------

144

SQL> SELECT INDEX_NAME

2  FROM USER_INDEXES

3  WHERE TABLE_NAME = 'T_EXP';

INDEX_NAME

------------------------------

IND_T_EXP_ID

而impdp的默认工作并非如此,如果监测到表存在,impdp会跳过索引的创建:

SQL> CREATE TABLE T_EXP (ID NUMBER, NAME VARCHAR2(30));

Table created.

SQL> INSERT INTO T_EXP    

2  SELECT ROWNUM, TNAME

3  FROM TAB;

95 rows created.

SQL> COMMIT;

Commit complete.

SQL> CREATE INDEX IND_T_EXP_ID  

2  ON T_EXP (ID);

Index created.

下面执行导出:

[oracle@yans1 ~]$ expdp test/test directory=d_output dumpfile=t_exp.dp tables=t_exp

Export: Release10.2.0.3.0 - 64bit Production on星期三, 02 6月, 2010 15:18:59

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database10gEnterprise Edition Release10.2.0.3.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

Starting "TEST"."SYS_EXPORT_TABLE_01":  test/******** directory=d_output dumpfile=t_exp.dp tables=t_exp

时间: 2024-10-30 12:02:39

Oracle数据泵如何对已经存在的表加载索引的相关文章

数据泵对已经存在的表加载索引 imp 和impdp

这里探讨了使用imp 和impdp对含有索引的表的导入的一点差别. 使用imp可以在表存在的情况下,不删除表,且导入表的数据和索引. 1)创建实验表cust(已存在) SQL> conn scott/yang已连接.SQL> select * from cust;         ID CUTNAME                                                              ---------- ----------               

oracle数据泵不同工作方式性能比较(五)测试NETWORK_LINK导入方式

根据Oracle的文档的描述,数据泵采用不同的方式导出导入,性能也会有明显的差别,这次正好有机会测试一下,迁移表空间.直接路径.外部表方式,以及数据库链方式导出.导入的性能差异. 这篇测试NETWORK_LINK导入方式. 首先清除上一篇文章中导入的用户和表空间,并重新建立测试用户和表空间. SQL> DROP USER TJSQ_NDMAIN CASCADE; User dropped. SQL> DROP USER TJSQ_TRADE CASCADE; User dropped. SQL

oracle数据泵不同工作方式性能比较(三)测试直接路径导出、导入方式

根据Oracle的文档的描述,数据泵采用不同的方式导出导入,性能也会有明显的差别,这次正好有机会测试一下,迁移表空间.直接路径.外部表方式,以及数据库链方式导出.导入的性能差异. 这篇测试直接路径导出.导入方式. 首先清除上一篇文章中导入的用户和表空间,并重新建立测试用户和表空间. SQL> DROP USER TJSQ_NDMAIN CASCADE; User dropped. SQL> DROP USER TJSQ_TRADE CASCADE; User dropped. SQL>

Oracle数据泵导出导入与传统导出导入的区别

 估计有不少的朋友不清楚Oracle数据泵导出导入与传统导出导入的区别吧,下面小编为各位介绍一下,有兴趣的朋友不防进入一起参考.   先来看一下Oracle数据泵导出导入例子 1.首先建立目录: create directory 目录名称 as '数据库服务器上的一个目录',如:  create directory 别名 as 'd:\服务器目录名';  将导入或导出的文件放在这个目录下 2.导出及导入 以SID=orcl,导出dmp的账号为test,导入dmp的账号为test为例. 若将数据从

Oracle数据泵(Data Dump)错误汇集

Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法.都是在使用过程中遇到的问题,以后陆续遇到数据泵(Data Dump)的错误案例,都会补充在此篇. 错误案例1: ORA-39065: DISPATCH 中出现意外的主进程异常错误:ORA-44002: 对象名无效 Windows 平台错误提示: Linux平台错误提示 解决方法: [oracle@DB-Server admin]$

oracle数据泵EXPDP和IMPDP使用说明

oracle数据泵EXPDP和IMPDP使用说明       首先标题不知道是否正确,oracle数据泵好像包含了好多概念,目前只是零星接触了一下EXPDP和IMPDP工具.据百度而来的资料,oracle10g之后推出的这个工具在性能上要比此前的EXP和IMP要高,而且支持从高版本向低版本导入和导出,所以在需要学习数据导入导出的时候,直接考虑EXPDP和IMPDP了.在此,记录一下这两个工具的使用方法. 一.准备:创建逻辑目录,并赋予oracle对其的读写权限 1.使用EXPDP工具时,其转存储

Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例_oracle

Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法.都是在使用过程中遇到的问题,以后陆续遇到数据泵(Data Dump)的错误案例,都会补充在此篇. 错误案例1: ORA-39065: DISPATCH 中出现意外的主进程异常错误:ORA-44002: 对象名无效 Windows 平台错误提示: Linux平台错误提示 解决方法: [oracle@DB-Server admin]$

bmob-求大神帮助,使用Bmob服务器,获取数据解析数据???我还使用异步加载

问题描述 求大神帮助,使用Bmob服务器,获取数据解析数据???我还使用异步加载 //我建立了Bean,里面有一个ImageView,两个TextView, //ImageView id=imgView; //TextView id=tittle; //TextView id=content; //BaseAdapter在最下面列出来: //ListView布局是activity_main; //item布局是item_layout; 我都是按照视频写的,基础差,请见谅 package com.

Oracle数据泵技术详解

Oracle Database 10g中采用了数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中. 一. 数据泵导出导入(EXPDP和IMPDP)的作用: 1.实现逻辑备份和逻辑恢复. 2.在数据库用户之间移动对象. 3.在数据库之间移动对象 4.实现表空间搬移. 二. 数据泵导出导入与传统导出导入的区别: 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,增加了数据泵导出导入工具EXPDP和IM