exp和imp的工作原理

Posted 碧水幽幽泉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了exp和imp的工作原理相关的知识,希望对你有一定的参考价值。

--1.exp和imp的输入都是名字和值对:
如:exp parameter_name=value 或exp parameter_name=(value1,value2,value3..)

--2.exp和imp都支持help=y选项。命令格式为:exp/imp help=y

--3.exp中的参数:
参数名称 默认值 含义 建议
compress Y 不压缩导出数据的内容 compress=N
rows Y 是否导出表中的行数据/即只导表结构 只导表结构的时候设置为N
filesize 0 如果设置为正值,设置的是导出要创建的dmp文件大小的最大值。
query N/A 允许关联where语句到导出的表。
full N 设置为Y,将导出全部数据库。包括所用用户、表空间定义、系统权限和数据库的所有东西。
ower N/A 允许导出一系列的模式。用来克隆模式或对用户"重命名"
tables N/A 允许导出一系列的表
parfile N/A 指定包含parameter_name=values参数的文件名称。可用来在命令行中代替指定参数。
consitent N 指定导出是否在只读事务中进行。
transport_tablespace N 可传输表空间设置与否来指定exp是否用来导出元数据。
tablespaces N/A 和transport_tablespace一起列出要传输的表空间

--4.imp参数
参数名称 默认值 含义 
show N 如果设置为Y,导入将显示已经完成了什么
ignore N 如果设置为Y,导入时将忽略大部分对象创建错误。
当在数据库中预先创建了对象,并希望使用imp只是往表中添加数据时,这个参数是有用的
indexfile N/A 如果指定,imp将对指定的文件中导入所有的create index命令和许多其他DDL语句。
fromuser N/A 如果设定,这个参数从dmp文件中指定一系列用户用于导入。
可用这个参数从一个全部数据库导出中恢复单个模式
touser N/A 如果指定,将从在fromuser参数中指定的用户把对象导入到
touser参数指定的用户。这样允许"克隆"用户。
commit N 指定每个阵列插入后,imp是否提交,由buffer参数控制。推荐设置为N
tis_owners N/A 和transporttable_tablespace一起使用,将在传输表空间中列出对象的所有者


--5.常用命令
导出命令:
exp userid=huang/admin@itjob file=c:\emp.dmp -- 使用当前用户导出
exp userid=system/itjobadmin@itjob file=c:\emp.dmp owner=(huang)-- 使用系统用户导出
exp userid=system/itjobadmin@itjob file=c:\emp.dmp tables=(huang.emp1)--导出表

log=c:\125.log

导入命令:
imp userid=huang/admin@itjob file=c:\emp.dmp fromuser=? touser=? -- 使用当前用户导入
imp userid=system/itjobadmin@itjob file=c:\emp.dmp fromuser=huang --使用系统用户导入

用户登陆:
sqlplus huangbiquan/huangbiquan

 

以上是关于exp和imp的工作原理的主要内容,如果未能解决你的问题,请参考以下文章

exp和imp的使用场合

如何正确使用ORACLE的exp和imp

深入理解Oracle的imp/exp 和各版本之间的规则

ORA-1400 抛弃exp imp 数据迁移吧

20155219付颖卓 Exp3 免杀原理与实践

Oracle数据库中表的imp&exp