[原创]Oracle数据导入导出(另exp和expdp对比)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文包含exp/imp,expdp/impdp的使用说明和常用参数详解
另外包括一个有趣的测试
一、Oracle数据库EXP\IMP\EXPDP\IMPDP使用说明1.Exp数据导出
1.1.exp关键字说明
关键字说明(默认值)
------------------------------
USERID 用户名/口令
BUFFER 数据缓冲区大小
FILE 输出文件(EXPDAT.DMP)
COMPRESS 导入到一个区(Y)
GRANTS 导出权限(Y)
INDEXES 导出索引(Y)
DIRECT 直接路径(N) --直接导出速度较快
LOG 屏幕输出的日志文件
ROWS 导出数据行(Y)
CONSISTENT 交叉表的一致性(N)
FULL 导出整个文件(N)
OWNER 所有者用户名列表
TABLES 表名列表
RECORDLENGTH IO记录的长度
INCTYPE 增量导出类型
RECORD 跟踪增量导出(Y)
TRIGGERS 导出触发器(Y)
STATISTICS 分析对象(ESTIMATE)
PARFILE 参数文件名
CONSTRAINTS 导出的约束条件(Y)
OBJECT_CONSISTENT 只在对象导出期间设置为只读的事务处理(N) FEEDBACK 每x 行显示进度(0)
FILESIZE 每个转储文件的最大大小
FLASHBACK_SCN 用于将会话快照设置回以前状态的SCN
FLASHBACK_TIME 用于获取最接近指定时间的SCN 的时间
QUERY 用于导出表的子集的select 子句
RESUMABLE 遇到与空格相关的错误时挂起(N)
RESUMABLE_NAME 用于标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT RESUMABLE 的等待时间
TTS_FULL_CHECK 对TTS 执行完整或部分相关性检查
TABLESPACES 要导出的表空间列表
TRANSPORT_TABLESPACE 导出可传输的表空间元数据(N)
TEMPLATE 调用iAS 模式导出的模板名
1.2.常用的exp关键字举例
1、full用于导出整个数据库,在rows=n一起使用,导出整个数据库的结构。
如:exp userid=gwm/gwm file=/test.dmp log=test.log full=y rows=n direct=y
2、OWNER和TABLES,用于定义exp导出的对象
如:exp userid=gwm/gwm file=/test.dmp log=test.log owner=gwm table=(table1,table2)
3、buffer和feedback 若导出数据较大,考虑使用这两个参数。
如:exp userid=gwm/gwm file=/test.dmp log=test.log feedback=10000 buffer=100000000 tables=(table1,table2)
4、file和log 用于指定备份的dmp名称和log名称
5、compress 不压缩导出数据的内容,默认y
6、filesize 若导出的数据文件大,应该用该参数,限制文件大小不要超过2g
如:exp userid=gwm/gwm file=/test1,test2,test3,test4,test5 filesize=2G log=test.log
这样将创建test1.dmp,test2.dmp等,每个文件大小为2g。
1.3.exp导出实例
--数据库全备--
exp system/manger@link file=E:\file_name.dmp full=y direct=y log=E:\log_name.log
--可选择的备份数据库一些用户--
exp system/manger@link file=E:\file_name.dmp owner=(username1,username2) direct=y log=E:\log_name.log
--备份一个用户的数据--
exp username/password@link file=E:\file_name.dmp direct=y log=E:\log_name.log
2.Imp数据导入
imp关键字说明
关键字说明(默认值) 关键字说明(默认值)
-------------------------------------------------------------
USERID 用户名/口令FULL 导入整个文件(N)
BUFFER 数据缓冲区大小FROMUSER 所有者用户名列表
FILE 输入文件(EXPDAT.DMP) TOUSER 用户名列表
SHOW 只列出文件内容(N) TABLES 表名列表
IGNORE 忽略创建错误(N) RECORDLENGTH IO 记录的长度
GRANTS 导入权限(Y) INCTYPE 增量导入类型
INDEXES 导入索引(Y) COMMIT 提交数组插入(N)
ROWS 导入数据行(Y) PARFILE 参数文件名
LOG 屏幕输出的日志文件CONSTRAINTS 导入限制(Y)
DESTROY 覆盖表空间数据文件(N)
INDEXFILE 将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护(N)
FEEDBACK 每x 行显示进度(0)
TOID_NOVALIDATE 跳过指定类型ID 的验证
FILESIZE 每个转储文件的最大大小
STATISTICS 始终导入预计算的统计信息
RESUMABLE 在遇到有关空间的错误时挂起(N)
RESUMABLE_NAME 用来标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT RESUMABLE 的等待时间
COMPILE 编译过程, 程序包和函数(Y)
STREAMS_CONFIGURATION 导入流的一般元数据(Y)
STREAMS_INSTANTIATION 导入流实例化元数据(N)
下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导入可传输的表空间元数据(N)
TABLESPACES 将要传输到数据库的表空间
DATAFILES 将要传输到数据库的数据文件
TTS_OWNERS 拥有可传输表空间集中数据的用户
3.Expdp数据泵导出
3.1.EXPDP命令行选项
1. ATTACH
该选项用于在客户会话与已存在导出作用之间建立关联.语法如下
ATTACH=[schema_name.]job_name
Schema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:
Expdp scott/tiger ATTACH=scott.export_job
2. CONTENT
该选项用于指定要导出的内容.默认值为ALL
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
当设置CONTENT为ALL时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump CONTENT=METADATA_ONLY
3. DIRECTORY
指定转储文件和日志文件所在的目录