exp、imp详解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FULL 导出整个文件
指定该参数等于Y,会将整个数据库全部导出,包括sys用户,system用户等。
注意:只有拥有exp_full_database角色的用户或者特权用户如sys
例如:
EXP SYSTEM/tiger@ORCL FILE=D:\ALL.DMP FULL=Y
如上语句可以将整个数据库的所有对象及数据全部导出
例如:
EXP SCOTT/TIGER@ORCL FILE=D:\ALL.DMP TABLES=SCOTT.EMP,SCOTT.\”” AA\””
该命令导出了SCOTT用户下的EMP表,和” AA”表,为什么要加斜杠,是因为空格需要转义的原因,两个引号同样也是因为转义需要
COMPRESS
该参数默认值是Y,如果该参数等于Y,则在执行导入的时候就会存在,明明一个表的数据量很少,却在导入该表的时候执行的时间很长,其原因就是它把大量的时间都花在了创建extent上面(具体extent是什么请百度,或者参考http://czmmiao.iteye.com/blog/1522278,和http://blog.csdn.net/tianlesoftware/article/details/4707900这两个博客),在这里,我建议将COMPRESS设置为N
我们知道一个SCN对应的是数据库的一个时间点,指定对应的SCN就是数据库的时间点,也就是说,该参数可以指定导出数据库在某一时候的数据。
这里给出几条语句,有关SCN的
--获取当前系统的SCN号
selectcurrent_scnfromv$database;
--将指定scn转换为时间戳
指定该参数可以在对象被导出的期间将该对象设为只读,其默认值是N
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP LOG=D:\ALL.LOG OBJECT_CONSISTENT=Y
执行导出,并在对象的导出期间将对象设置为只读
FEEDBACK 每 x 行显示进度 (0)
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP LOG=D:\ALL.LOG ROWS=N
执行导出,不导出表数据,只导出对应的表结构
PARFILE
指定该参数,可以将参数放到指定的文件中,然后指定该参数去读取参数文件,参数文件内容的形式:参数名=值
例如:
EXP SCOTT/tiger@ORCL PARFILE=D:\exp.par
导出的时候指定权限等于N,就是不将权限进行导出
INCTYPE
已废除,不做解释
INDEXES
指定该参数可以将表中对应的索引进行导出,默认情况是Y,如果在你不需要索引的情况下,可以指定该参数为N,不导出索引
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP INDEXES=N
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP LOG=D:\ALL.LOG STATISTICS=NONE
执行导出,且指定STATISTICS=NONE,不导出统计信息
ROWS
指定该参数可以确定是否导出数据,默认值是Y,如果指定该参数等于N的话,则只导出对应的对象结构,而不导出数据
这里我指定该参数为N,在导出的时候不将索引进行导出
RECORD
该参数已废除,不做过多解释
DIRECT
该参数指定是否直接路径导出,默认值是N,但是我建议将其设置为Y,因为这样可以加快导出速度。其原理是:EXP导出的时候会将数据从磁盘读取到buffercache中,经语法检测没问题过后,在将数据传给PGA最后写入导出,而DIRECT直接路径导出会忽略这一步骤,直接从磁盘写入到dmp文件中,所以导出效率要高于传统,不过指定了该参数之后,不能使用TABLESPACES参数,而且指定的BUFFER参数将会失效,且如果表中包含LOB字段,该表的导出方式还是会以传统方式进行导出
OWNER
指定该参数,可以指定导出哪些用户,可以多个指定多个用户,中间以逗号隔开
例如:
EXP SYSTEM/TIGER@ORCL FILE=D:\ALL.DMP OWNER=SCOTT,SCOTT_NEW
这里指定导出SCOTT,和SCOTT_NEW用户下面的所有数据
TABLES 指定导出的表名列表
该参数指定需要导出的表的列表,该参数不能与OWNER,TABLESPACES参数同时存在,可以同时指定多个表名,以逗号分隔,如表名存在特殊符号,例如空格,请以双引号将起括起来,同时需要转义
EXP SYSTEM/TIGER@ORCL FILE=D:\ALL.DMP,D:\ALL_2.DMP
执行该语句会将整个SYSTEM用户的数据全部导入到D盘下面的ALL.DMP文件下
注意:该参数只会在第一个转储文件写满了之后才写第二个,一般都是和FILESIZE(指定单个转储文件的大小)参数配合使用,为防止操作系统有文件大小限制
例如:
EXP SCOTT/TIGER@ORCL FRILE=D:\ALL.DMPRECORDLENGTH=65535
导出时指定I/O长度为最大值,65535加快导出速度
GRANTS
指定该参数可以确定是否要导出指定数据相关的权限,默认设置是Y(导出)
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP GRANTS=N
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP DIRECT=Y
执行导出,指定导出方式为直接路径模式,这样可以加快导出速度
TRIGGERS
指定该参数可以确定是否要导出触发器,其默认值是Y,也就是导出触发器
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP TRIGGERS=N
例如:
EXP SCOTT/TIGER@ORCL FILE=D:\ALL.DMP COMPRESS=N
指定COMPRESS等于N,其目的是为了在执行IMP导入操作的时候能更快的将数据进行导入
RECORDLENGTH I/O
指定该参数可以加快导出的速度,具体原理是什么,还有待了解,不过也有最大值65535
BUFFER
指定BUFFER等于某个数值,可以加快导出速度,但是并不是越高越好,因为BUFFER也是有一个瓶颈的,BUFFER是以字节来计算的
例如:
EXP SYSTEM/TIGER@ORCL FILE=D:\SCOTT.DMP BUFFER=10240000
这里在导出的时候指定BUFFER=10240000,其目的是加快导出速度,BUFFER的值还可以根据实际需要在进行加大
INDEXES 导出索引 (Y) RECORD 跟踪增量导出 (Y)
DIRECT 直接路径 (N) TRIGGERS 导出触发器 (Y)
LOG 屏幕输出的日志文件 STATISTICS 分析对象 (ESTIMATE)
ROWS 导出数据行 (Y) PARFILE 参数文件名
CONSISTENT 交叉表的一致性 (N) CONSTRAINTS 导出的约束条件 (Y)
USERID 用户名/口令 FULL 导出整个文件 (N)
BUFFER 数据缓冲区大小 OWNER 所有者用户名列表
FILE 输出文件 (EXPDAT.DMP) TABLES 表名列表
COMPRESS 导入到一个区 (Y) RECORDLENGTH IO 记录的长度
GRANTS 导出权限 (Y) INCTYPE 增量导出类型
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP LOG=D:\ALL.LOG FILESIZE=100M
执行导出,且单个转储文件的最大大小不超过100M
FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN
指定数据库快照,这里我就不举例了(太懒),不过我还是跟大家说一下这个的作用。
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TEMPLATE 调用 iAS 模式导出的模板名
USERID
执行EXP导出命令所必须要的参数
用户名/密码@连接字符
在执行操作的第一个参数就是这个,这里不做过多解释
FILE
导出数据的文件路径,文件可以指定多个,中间以逗号隔开
例如:
FILESIZE 每个转储文件的最大大小
指定.DMP转储文件的大小,默认是无限制,你也可以指定你想要的大小,但是指定对应大小之后,你的数据文件也要相对的增加(也就是FILE参数)。假如你不指定该参数导出的文件是50M,在你指定该参数将其每个文件的大小设置为5M,那么同时的你就要有10个DMP转储文件来存放这些,如果你指定参数的时候没有指定足够数量的转储文件,EXP程序会暂停在哪里等你输入一个合法的文件路径及名称,每输出一个,则会导出指定大小的数据量
OBJECT_CONSISTENT 只在对象导出期间设置为只读的事务处理 (N)
FEEDBACK 每 x 行显示进度 (0)
FILESIZE 每个转储文件的最大大小
FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN
FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间
EXP
通过输入EXP 命令和您的用户名/口令, 导出
操作将提示您输入参数:
例如: EXP SCOTT/TIGER
或者, 您也可以通过输入跟有各种参数的 EXP 命令来控制导出
的运行方式。要指定参数, 您可以使用关键字:
格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例如: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表
USERID 必须是命令行中的第一个参数。
关键字说明 (默认值) 关键字 说明 (默认值)
--------------------------------------------------------------------------
执行导出,但是不导出触发器
LOG屏幕输出日志
该参数可以将屏幕的输出日志指定到一个文本文件中,便于查看
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP LOG=D:\ALL.LOG
执行导出,并且将导出的日志输出到D盘的ALL.LOG文件中
STATISTICS
在导出文件中保留对象的统计信息,默认值ESTIMATE,还可以为compute或者none
参数文件内容:
USERID=SCOTT/tiger@orcl
FILE=D:\ALL.DMP
LOG=D:\ALL.LOG
执行导出,指定参数文件为D盘exp.par
CONSISTENT
在导出时,将影响正在导出的表的事务设为只读,主要作用于嵌套表和分区表,默认为N。
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP LOG=D:\ALL.LOG CONSISTENT=N
指定该参数并赋予了指定值以后,在导出的时候,导出了指定行之后会输出一个点,每一个点都表示导出了多少行,这个命令可以直观的看出EXP程序是否在执行导出操作
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP LOG=D:\ALL.LOG FEEDBACK=500
执行导出,在每一个Baidu Nhomakorabea中,每导出500行在屏幕输出一个点,表示导出的行数
QUERY 用于导出表的子集的 select 子句
RESUMABLE 遇到与空格相关的错误时挂起 (N)
RESUMABLE_NAME 用于标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT RESUMABLE 的等待时间
TTS_FULL_CHECK 对 TTS 执行完整或部分相关性检查
TABLESPACES 要导出的表空间列表
执行导出,并执行交叉检查
CONSTRAINTS:导出的约束条件
指定该参数可以确定是否导出约束,默认是Y
例如:
EXP SCOTT/tiger@ORCL FILE=D:\ALL.DMP LOG=D:\ALL.LOG CONSTRAINTS=N
执行导出,且不导出约束
OBJECT_CONSISTENT 只在对象导出期间设置为只读的事务处理 (N)
相关文档
最新文档