oracle导出超过100m的数据库,oracle import/export 下令

oracle import/export 命令

exp/imp 实例

exp help=y 查看帮助

exp

1、expusr/pwd@sidfile=c:\tb.dump  tables=tb1

如果是导出多个表,tables=(tb1、tb2)

2、expusr/pwd@sidfile=c:\tb.dump  --全部导出

3、expusr/pwd@sidfile=c:\tb.dump  owner=(system,sys)

将用户system和sys用户下的表都导出

4、expusr/pwd@sidfile=c:\tb.dump  tables=tb1 query=\"where name='ha'\"

注意分号的位置

通过以下命令可以查看说明。

c:\>imp help=y

c:\>exp help=y

oracle Export and Import 简介

1、Export/Import的用处

Oracle Export/Import工具用于在数据库之间传递数据。

Export从数据库中导出数据到dump文件中

Import从dump文件中到入数据导数据库中

下面是一般使用他们的情况

(1)、两个数据库之间传送数据

同一个版本的oracle Server之间

不同版本的oracle Server之间

同种OS之间

不同种OS之间

(2)、用于数据库的备份和恢复

(3)、从一个SCHEMA传送到另一个SCHEMA

(4)、从一个TABLESPACE传送到另一个TABLESPACE

2、DUMP文件

EXPORT到出的是二进制格式的文件,不可以手工编辑,否则会损坏数据。

该文件在ORACLE支持的任何平台上都是一样的格式,可以在各平台上通用。

DUMP文件在IMPORT时采用向上兼容方式,就是说ORALCE7的DUMP文件可以导入

到ORACLE8中,但是版本相差很大的版本之间可能有问题。

3、EXPORT/IMPORT过程

EXPORT导出的DUMP文件包含两种基本类型的数据

- DDL

- Data

DUMP文件包含所有重新创建Data Dictionary的DDL语句,基本上是可以读的格式。

但是应该注意的是,千万不要用文本编辑器编辑之,oracle说不支持这样做的。

4、IMPORT时的对象倒入顺序

在倒入数据时,ORACLE有一个特定的顺序,可能随数据库版本不同而有所变化。

按这个顺序主要是解决对象之间依赖关系可能产生的问题。TRIGGER最后导入,所以在INSERT

数据到数据库时不会激发TRIGGER。在导入后可能会有一些状态是INVALID的PROCEDURE,主要

是IMPORT时会影响一些数据库对象,而IMPORT并不重新编译PROCEDURE,从而造成这种情况,

可以重新编译之,就能解决这个问题。

5、兼容性问题

IMPORT工具可以处理EXPORT 5.1.22之后的版本导出的DUMP文件,所以你用ORACL E7的IMPORT

处理ORACLE6的DUMP文件,依次类推,但是ORACLE如果版本相差很大有可能不能处理。具体的

问题可以参照相应的文档,比如有关参数设置等(COMPATIBLE参数)

6、EXPORT需要的VIEW

EXPORT需要的VIEW是由CATEXP.SQL创建,这些内部VIEW用于EXPORT组织DUMP文件中数据格式。

大部分VIEW用于收集创建DDL语句的,其他的主要供ORACLE开发人员用。

这些VIEW在不同ORACLE版本之间有可能不同,每个版本可能都有新的特性加入。

所以在新的版本里面执行旧的dump文件会有错误,一般可以执行CATEXP.SQL解决这些问题,

解决向后兼容问题的一般步骤如下:

导出数据库的版本比目标数据库老的情况:

- 在需要导入的目标数据库中执行旧的CATEXP.SQL

- 使用旧的EXPORT导出DUMP文件

- 使用旧的IMPORT导入到数据库中

- 在数据库中执行新的CATEXP.SQL,以恢复该版本的EXPORT VIEW

导出数据库的版本比目标数据库新的情况:

- 在需要导入的目标数据库中执行新的CATEXP.SQL

- 使用新的EXPORT导出DUMP文件

- 使用新的IMPORT导入到数据库中

- 在数据库中执行旧的CATEXP.SQL,以恢复该版本的EXPORT VIEW

7、碎片整理

EXPORT/IMPORT一个很重要的应用方面就是整理碎片。因为如果时初次IMPPORT,就会重新CREATE TABLE 再导入数据,所以整张表都是连续存放的。另外缺省情况下下EXPORT会在生成DUMP文件是“压缩(COMPRESS)”TABLE,但是这种压缩在很多情况下被误解。事实上,COMPRESS是改变STORAGE参数INITIAL的值。比如:

CREATE TABLE .... STORAGE( INITIAL 10K NEXT 10K..)

现在数据已经扩展到100个EXTENT,如果采用COMPRESS=Y来EXPORT数据,

则产生的语句时 STORAGE( INITIAL 1000K NEXT 10K)

我们可以看到NEXT值并没有改变,而INITIAL是所有EXTENT的总和。所以会出现

如下情况,表A有4个100M的EXTENT,执行DELETE FROM A,然后再用COMPRESS=Y 导

出数据,产生的CREATE TABLE语句将有400M的INITIAL EXTENT。即使这是TABLE中

已经没有数据!!这是的DUMP文件即使很小,但是在IMPORT时就会产生一个巨大的TABLE.

另外,也可能会超过DATAFILE的大小。比如,有4个50M的数据文件,其中表A有

15个10M的EXTENT,如果采用COMPRESS=Y的方式导出数据,将会有INITIAL=150M,

那么在重新导入时,不能分配一个150M的EXTENT,因为单个EXTENT不能跨多个文件。

8、在USER和TABLESPACE之间传送数据

一般情况下EXPORT的数据要恢复到它原来的地方去。如果SCOTT用户的表以TABLE 或USER方式EXPORT数据,在IMPORT时,如果SCOTT用户不存在,则会报错! 以FULL方式导出的数据带有CREATE USER的信息,所以会自己创建USER来存放数据。

当然可以在IMPORT时使用FROMUSER和TOUSER参数来确定要导入的USER,但是要保证

TOUSER一定已经存在啦。

9、EXPORT/IMPORT对SQUENCE的影响

在两种情况下,EXPORT/IMPORT会对SEQUENCE。

(1)如果在EXPORT时,用户正在取SEQUENCE的值,可能造成SEQUENCE的不一致。

(2)另外如果SEQUENCE使用CACHE,在EXPORT时,那些在CACHE中的值就会被忽略的,

只是从数据字典里面取当前值EXPORT。

如果在进行FULL方式的EXPORT/IMPORT时,恰好在用sequence更新表中某列数据,而且不是上面两种情况,则导出的是更新前的数据。

如果采用常规路径方式,每一行数据都是用INSERT语句,一致性检查和INSERT T  RIGGER

如果采用DIRECT方式,某些约束和trigger可能不触发,如果在trigger中使用sequence.nextval,将会对sequence有影响。

再保存个东西:

查看当前用户每个表占用空间的大小:

Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name

查看每个表空间占用空间的大小:

Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值