网络编程
位置:首页>> 网络编程>> 数据库>> OracleEXP和IMP用法和介绍(2)

OracleEXP和IMP用法和介绍(2)

 来源:asp之家 发布时间:2010-07-28 13:18:00 

标签:oracle,imp,用法


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有影响。

参数解:

E:\>exp help=y

通过输入 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 必须是命令行中的第一个参数。

关键字 说明(默认)
---------------------------------------------------
USERID 用户名/口令
FULL 导出整个文件 (N)
BUFFER 数据缓冲区的大小
OWNER 所有者用户名列表
FILE 输出文件 (EXPDAT.DMP)
TABLES 表名列表
COMPRESS 导入一个范围 (Y)
RECORDLENGTH IO 记录的长度
GRANTS 导出权限 (Y)
INCTYPE 增量导出类型
INDEXES 导出索引 (Y)
RECORD 跟踪增量导出 (Y)
ROWS 导出数据行 (Y)
PARFILE 参数文件名
CONSTRAINTS 导出限制 (Y)
CONSISTENT 交叉表一致性
LOG 屏幕输出的日志文件
STATISTICS 分析对象 (ESTIMATE)
DIRECT 直接路径 (N)
TRIGGERS 导出触发器 (Y)
FEEDBACK 显示每 x 行 (0) 的进度
FILESIZE 各转储文件的最大尺寸
QUERY 选定导出表子集的子句

下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TABLESPACES 将传输的表空间列表

E:\>imp help=y

可以通过输入 IMP 命令和您的用户名/口令
跟有您的用户名 / 口令的命令:

实例: IMP SCOTT/TIGER

或者, 可以通过输入 IMP 命令和各种自变量来控制“导入”按照不同参数。
要指定参数,您可以使用关键字:

格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)
实例: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字 说明(默认)
----------------------------------------------
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)
ANALYZE 执行转储文件中的 ANALYZE 语句 (Y)
FEEDBACK 显示每 x 行 (0) 的进度
TOID_NOVALIDATE 跳过指定类型 id 的校验
FILESIZE 各转储文件的最大尺寸
RECALCULATE_STATISTICS 重新计算统计值 (N)

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com