1.1 exp 使用方法及实例
exp/imp 为一种数据库备份恢复工具也可以作为不同数据库之间传递数据的工具两个数据库所在的操作系统可以不同exp 可以将数据库数据导出为二进制文件imp 可以将导出的数据文件再导入到相同的数据库或不同的数据库
数据库导出有四种模式full(全库导出), owner(用户导出), table(表导出), tablespace(表空间导出).
full( 全库导出): 导出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS 这些系统用户之外的所有用户的数据.
owner( 用户导出): 导出某个或某些用户的所有权限和数据.
tables( 表导出): 导出某些表(可以是不同用户的)的结构和数据.
tablespace( 表空间导出):表空间导出数据.
执行exp 有三种方法:交互式,命令行和参数文件
交互式:直接输入exp 命令用户可以按照exp 提示的信息一步一步操作,比较简单.
命令行:输入命令行exp username/password parameter=value.
参数文件:输入命令行exp username/password parfile=filename exp 所需的参数从参数文件引入.
参数是可以重复的优先级为命令行优于参数文件后面的参数值覆盖于前面的参数值.
下面介绍一些常用的参数没有标明的表示exp/imp 都适用imp 的参数不再单独介绍.
1.1.1 参数介绍
buffer 缓冲区大小如果此值设为0 则一次只导入一条记录对数据量大的导出可以设置较大一般缺省值即可.
file 导出的文件列表可以指定一个或多个文件名缺省扩展名为.dmp 缺省导出文件名为expdat.dmp.
filesize exp 导出文件的最大字节数超出时从文件列表中获取下一个文件名,没有,则提示输入新的文件名.
help 显示export 参数帮助信息
inctype 增量备份的类型:complete(完全),cumulative(累积)和incremental (增量).
只可以在全库导出模式下才可以做完全累积或增量导出累积导出只导出自上次累积导出或完全导出以来已经修改的表增量导出只导出自上次增量累积或完全导出以来已经修改的表完全导出将数据库中全部对象都导出不管是否以及何时被修改.
log:日志文件,一般如果以命令行导入时,将log 设置上比较好可以看,到所有的导入信息,导入信息哪儿出错,导入了那些数据库对象.
show(imp):只是用来显示备份数据文件的内容.
full:为Y 时表示在全库方式下导出缺省为N.
tables:导出的表列表可以指定一个或多个表名.
fromuser(imp):可以将导出文件中的一个用户模式的数据对象导入为另一个用户模式的对象此参数表示导出文件中的用户模式.
touser(imp):此参数表示导入到数据库中时使用的用户模式对象譬如使用全库或者用户模式导出cams 用户的所有对象到一个文件中导入时需要将用户模式名称改为cams1,此时fromuser 为cams,touser 为cams1.
1.1.2 典型用法
1. 交互式-用户导出
交互式导出比较简单,这里只举用户导出一种用法进行说明,全库导出和表导出比较简单不再列出.
[oracle@localhost script]$ exp
Export: Release 8.1.7.4.0 - Production on Fri Feb 6 15:01:07 2004
(c) Copyright 2000 Oracle Corporation. All rights reserved.
Username: cams --此处输入启动导出的用户
Password: --此处输入相应的密码
Connected to: Oracle8i Enterprise Edition Release 8.1.7.4.0 -Production
JServer Release 8.1.7.4.0 - Production
Enter array fetch buffer size: 4096 >--此处需要输入buffer 值交互式导出时大多数参数都有缺省值,如果选用缺省值,直接回车即可.
Export file: expdat.dmp > 20040206.dmp --此处输入导出文件名
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > --此处输入导出模式,全库导出,用户导出还是表导出,缺省为用户导出.
Export grants (yes/no): yes > --是否导出授权通常选择yes
Export table data (yes/no): yes > --是否导出表中数据如果选择no则只导出表的结构通常选择yes
Compress extents (yes/no): yes > --选择yes
Export done in ZHS16CGB231280 character set and ZHS16CGB231280 NCHAR
character set
About to export specified users ...
User to be exported: (RETURN to quit) > cams --此处输入需要导出的用户,如果需要导出多个用户的数据,exp 会一直提示用户,直至用户输入了..
User to be exported: (RETURN to quit) > .. --此处输入".."
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user CAMS
. exporting object type definitions for user CAMS
About to export CAMS's objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export CAMS's tables via Conventional Path ...
. . exporting table TBL_BILLDETAIL_SWITCH 23 rows exported
. . exporting table TBL_BLACKLIST 0 rows exported
. . exporting table TBL_CHARGE_CARD 11 rows exported
. . exporting table TBL_ERROR_CODE 37 rows exported
. . exporting table TBL_EXPORT 2 rows exported
. . exporting table TBL_LOG 3008 rows exported
......
. exporting synonyms
. exporting views
. exporting stored procedures
. exporting operators
. exporting referential integrity constraints
. exporting triggers
. exporting indextypes
. exporting bitmap, functional and extensible indexes
. exporting posttables actions
. exporting snapshots
. exporting snapshot logs
. exporting job queues
. exporting refresh groups and children
. exporting dimensions
. exporting post-schema procedural objects and actions
. exporting statistics
Export terminated successfully without warnings.
说明:
(1) 在交互式导出或导入时,如果输错值,不再想进行下面的步骤,但不知如何退出此时请用". "
2. 命令行-全库导出
exp userid=cams/cams@cams full=y file=(/tmp/2004020601.dmp,
/tmp/2004020602.dmp, /tmp/2004020603.dmp) filesize=2GB
log=/tmp/20040206.log
该命令导出全库数据,导出到多个文件中,每个文件最大2GB, exp 只生成最少的导出文件,譬如导出的数据不足2GB, exp 只生成/tmp/2004020601.dmp 如果file 列表中的文件太少,不能存放所有的导出数据,exp 会提示用户输入文件名,导出过程记录日志.
说明:
(1) 由于linux 文件系统最大只支持2G 的文件,所以如果数据库数据量大超过2G 时导出将会出错,所以file 参数可以设置多个文件.
3. 命令行用户导出
exp userid=cams/cams@cams owner=cams file=(/tmp/2004020601.dmp,
/tmp/2004020602.dmp, /tmp/2004020603.dmp) filesize=2GB
log=/tmp/20040206.log
该命令导出cams 用户数据导出到多个文件中每个文件最大2GB 导出过程记录日志
4. 命令行表导出
exp userid=cams/cams@cams tables=(tbl_log, tbl_user_log)
file=(/tmp/2004020601.dmp, /tmp/2004020602.dmp) filesize=2GB
log=/tmp/20040206.log
该命令导出cams 用户的两个表的数据,导出到多个文件中,每个文件最大2GB,导出过程记录日志.
5. 命令行-完全导出
exp userid=cams/cams@cams full=y inctype=complete
file=(/tmp/2004020601.dmp, /tmp/2004020602.dmp, /tmp/2004020603.dmp)
filesize=2GB log=/tmp/20040206.log
该命令完全导出全库数据,导出到多个文件中每个文件最大2GB,导出过程记录日志.
说明:
(1) 全库导出时,增量导出类型缺省为(complete)完全,所以例5 和例2导出的结果是完全一样的.
6. 命令行-累积导出
exp userid=cams/cams@cams full=y inctype=cumulative
file=(/tmp/2004020601.dmp, /tmp/2004020602.dmp) filesize=2GB
log=/tmp/20040206.log
该命令累积导出全库数据,导出到多个文件中,每个文件最大2GB,导出过程记录日志.
说明:
(1) 如果选择了增量导出类型,则必需选择full=y,即只能在全库导出模式下进行完全累积或增量导出.
7. 命令行-增量导出
exp userid=cams/cams@cams full=y inctype=incremental
file=(/tmp/2004020601.dmp, /tmp/2004020602.dmp) filesize=2GB
log=/tmp/20040206.log
该命令累积导出全库数据,导出到多个文件中,每个文件最大2GB,导出过程记录日志.
8. 参数文件-用户导出
exp parfile=cams_exp.par
cams_exp.par文件的内容如下:
userid=cams/cams@cams
owner=cams
file=(/tmp/2004020601.dmp,/tmp/2004020602.dmp, tmp/2004020603.dmp)
filesize=1GB
log=/tmp/cams_exp.log
该命令使用了参数文件,导出cams用户的所有数据,导出到多个文件中,每个文件最大2GB,导出过程记录日志.
说明:
(1) cams 用户保存了CAMS 系统的重要数据,为了不暴露cams用户的密码,可以将上面的userid 的值写为cams@cams,此时exp 会提示用户输入密码,输入的密码不会显示出来.
分享到:
相关推荐
这里介绍的"Oracle 导出数据字典的小工具"是一个实用程序,能够帮助用户将数据字典信息导出为Word格式,方便查看和共享。 首先,数据字典在Oracle中的主要组成部分包括以下几类: 1. **V$视图**:这是Oracle提供的...
oracle导出excel的数据字典sql,根据该sql可以导出数据字典。
"Oracle导出数据结构文档.rar" 提供了一个名为 "DBExportDoc V1.0 For Oracle" 的工具,它专门用于将Oracle数据库中的表结构导出为Word文档,生成易于阅读和打印的标准格式。 DBExportDoc V1.0 是一个高效实用的...
1. **SQL*Plus导出数据为CSV格式** - 创建SQL查询:首先,你需要编写一个SQL查询来选择你想导出的数据。例如,如果你想从名为"employees"的表中导出所有员工信息,查询可能如下: ``` SELECT * FROM employees; ...
exp pmshn/pmshn@proj_50 file=d:\a.dmp tables=(CPN_INTERFACE_CSMS_MMU) 说明: proj_50:自己机器上的PL/SQL中建立的连接的那个别名,不是数据库名
"Oracle导出INSERT语句V1.1"是一个专门为此目的设计的实用工具。 这个工具的主要功能是帮助用户快速生成SQL INSERT语句,这些语句可以被用来重建表的数据。通常,这个过程手动操作会非常繁琐,尤其是在处理大量数据...
### Oracle 数据导出导入简介 #### 一、Oracle数据库的基本概念 Oracle数据库是一个关系型数据库管理系统,由不同的表空间组成,其中包括至少一个SYSTEM表空间。表空间是Oracle中用于管理存储空间的重要概念。 - ...
总之,解决Oracle导出CSV文件显示乱码的关键在于理解字符编码和数据解析的过程。通过正确设置文件的编码和应用正确的分隔符,可以确保数据在不同程序间顺利转换并保持可读性。如果上述方法无效,可能需要检查数据库...
4. 备份策略:定期导出数据作为备份,以便在数据丢失或损坏时恢复。 5. 版本兼容性:确认导出的文件格式与目标数据库版本兼容。 了解和熟练掌握Oracle数据快速导出工具,对于数据库管理、数据迁移和灾难恢复等任务...
首先,我们来看一种适合小数据量导出的方法,通常这种方法会将数据先存储到内存中的集合容器,如 ArrayList,然后再通过 HTTP 响应(Response)导出数据流。这种做法的优点在于代码通用性较强,但缺点是当处理大量...
可以把oracle中大量数据导出为txt格式,便于在线下载、存储等后续处理。已经测试过,可以执行。
1. **导出数据 (exp)** Oracle 的导出工具 `exp` 用于将数据库对象(如表、索引、存储过程等)及其数据从源数据库导出到一个名为 `.dmp` 的文件中。以下是几个基本的 `exp` 命令示例: - **完整数据库导出**: ``...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其数据导入导出功能是数据库管理和维护中的重要环节。本文将深入探讨Oracle数据库的导入导出命令,特别是如何更改字符集的相关知识。 首先,Oracle...
本篇文章将详细介绍如何连接Oracle数据库并导出数据到写字节文件,主要涉及以下几个方面: 一、连接Oracle数据库 连接Oracle数据库通常通过ODBC(Open Database Connectivity)或JDBC(Java Database Connectivity...
在数据库管理中,有时我们需要将数据从一个环境迁移到另一个环境,或者备份某些表的数据,这时“Oracle导出INSERT语句”的工具就显得非常实用。 这个小工具的核心功能是将Oracle数据库中的数据转换为一系列的INSERT...
Oracle 导出 txt 文件方法是指使用 spool 命令将 Oracle 数据库中的数据导出到 txt 文件中。这种方法可以自定义导出格式,以便于程序直接导入。 首先,我们需要了解 Oracle 文本导出的原理。Oracle 文本导出的原理...
使用ociuldr导出数据的步骤大致如下: 1. **安装ociuldr**: - 对于Windows用户,可以直接运行ociuldr.exe。 - 对于Linux和Solaris用户,需要根据ociuldr_linux和ociuldr_solaris对应的系统版本进行编译或安装。...
### Oracle导出工具:expdp Oracle提供了两种主要的导出工具:`exp`和`expdp`。其中,`exp`是较早版本的工具,而`expdp`则是基于Direct Path Load技术的现代工具,提供更高的性能和更多的功能选项。在本例中,我们...