exp/imp 实例
exp help=y 查看帮助
exp
1、exp usr/pwd@sid file=c:\tb.dump tables=tb1
如果是导出多个表,tables=(tb1、tb2)
2、exp usr/pwd@sid file=c:\tb.dump --全部导出
3、exp usr/pwd@sid file=c:\tb.dump owner=(system,sys)
将用户system和sys用户下的表都导出
4、exp usr/pwd@sid file=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
分享到:
相关推荐
在Oracle数据库管理中,`IMP`(Import)和`EXP`(Export)是两个非常重要的工具,它们用于数据的备份与恢复。通过这两个命令,用户可以方便地对整个数据库、特定表或用户对象进行备份和还原操作。下面将详细介绍这两...
"OracleDB_Export_Import.rar"这个压缩包文件显然包含了关于Oracle数据库导出(Export)和导入(Import)的资源,这通常是用于在不同环境之间迁移数据库或者备份恢复的重要手段。下面我们将详细探讨Oracle数据库的...
官方资料:白皮书[英文]Oracle Database 12c: Full Transportable Export/Import Full Transportable Export/lmport Support for Pluggable Databases ;Internals of Full Transportable Export/lmport;Full ...
Oracle数据库的Export和Import工具是数据迁移和备份的重要手段,它们允许用户在不同的数据库实例间移动数据,或者在同一个数据库的不同表空间之间进行操作。在实际应用中,尤其是在升级数据库版本时,理解Export和...
### Oracle不同版本之间Export & Import的兼容性矩阵 #### 知识点概览 - **兼容性矩阵**:本文档提供了Oracle不同版本间使用Export与Import工具时的兼容性指导。 - **适用版本**:Oracle7、Oracle8、Oracle8i、...
逻辑备份则是通过SQL*Plus的EXPDP(Export Data Pump)命令,将表、用户、对象等导出为DMP文件,方便后期导入。 在描述中提到的“快速完成备份”,这可能意味着脚本采用了并行备份策略,通过并发执行多个备份任务来...
Oracle Data Pump是一种高效的数据迁移工具,它比传统的Export和Import更快,因为它使用并行处理来提高性能。Data Pump包括两个主要组件:Export(EXPDP)和Import(IMPDP),它们分别用于导出和导入数据。 2. **...
Oracle的EXPDP(Export Data Pump)和IMPDP(Import Data Pump)是数据库迁移、备份和恢复过程中的关键工具。这两个命令允许用户高效地导出和导入数据库对象和数据,包括表、视图、索引、存储过程等。下面将详细解释...
EXP (Export) 命令 **基本语法:** ``` exp [用户名/密码]@数据库名 file=导出文件路径 [选项] ``` - **参数解释:** - `[用户名/密码]`:登录数据库的用户名和密码。 - `@数据库名`:目标数据库的名称。 - `...
EXP(Export)命令是Oracle的数据泵导出工具,用于将数据库中的对象和数据导出到操作系统文件中。这个过程也被称为数据导出或数据抽取。EXP命令的基本语法如下: ```bash exp [username/password@connect_string] ...
Export和Import命令都支持多种参数,可以根据需要选择使用。以下是一些常用的参数: * USERID:用户名/口令 * FULL:导出整个数据库 * BUFFER:数据缓冲区的大小 * OWNER:所有者用户名列表 * FILE:输出文件 * ...
### Oracle 数据导入导出命令详解 #### 一、概述 Oracle 数据库系统是业界领先的数据库管理系统之一,提供了强大的数据管理功能。在Oracle中,数据的导入导出是一项非常重要的任务,尤其是在需要迁移数据、备份数据...
在日常运维工作中,我们经常会用到Oracle的导入(Import)和导出(Export)命令来进行数据的迁移操作。本文将详细介绍Oracle在Windows和Linux环境下常用的导入导出命令及其参数。 #### 导出命令:`expdp` **概述**...
在Oracle环境中,这个过程通常涉及到两个主要工具:`expdp`(Export Data Pump)和`impdp`(Import Data Pump)。这两个实用程序是Oracle Data Pump的一部分,提供了高效的数据移动能力。 **1. expdp(Export Data ...
Oracle 语法及常用命令 ...* Oracle 备份:EXPORT 语句、IMPORT 语句等 * Oracle 恢复:RECOVER 语句等 通过学习 Oracle 语法及常用命令,可以更好地管理和操作数据库,提高工作效率和数据安全性。
It can connect users to local/remote server, providing several utilities such as Data Modeling Tool, Data/Structure Synchronization, Import/Export, Backup/restore and Report to facilitate the process...
Oracle EXP(Export)命令用于从数据库中提取数据,生成一个二进制文件,通常称为DMP文件。DMP文件包含了表、索引、存储过程、触发器等对象的定义以及相关数据。在【标题】和【描述】中提到的三种备份模式是Oracle ...
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export ORACLE_OWNER=oracle export ORACLE_SID=orclet export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH ...