Hey!! Sky!

Mar 31, 2006

exp/imp 一些参数的自我理解

一、所需的脚本:
       catexp.sql 或者 catalog.sql,后者包括了前者。


二、部分参数的理解:
1. BUFFER:
    决定了一次导入/导出多少行数据,只在 conventional path 下有效,既 direct=n,因为该方式下,数据会通过 sql 层的处理,需要一个 BUFFER 在内存中存储(可能是 Large Pool),然后整批的导入/导出,整批的导入/导出可以提高速度。BUFFER 可以通过以下公式计算:


BUFFER 大小 = 每行的大小 * 行数

    这样如果一次想导入/导出 100 行,那么 buffer 可以设置为 100 * 每行的大小。不过 包含 LONG, LOB, BFILE, REF, ROWID, LOGICAL ROWID, or DATE 等类型的行只能一行行导入/导出。


2. COMPRESS (default = y, only for export)
    如果 COMPRESS = y,那么,当导出表数据时,将不管 initial, next, pctincrease 等参数的影响,直接把所有数据定义在 extent 上,这样可以节省空间,消除碎片。在导入时,将按照 dump 文件中的定义来导入数据,既如果以 COMPRESS = y 导出,导入时就将所有数据放入一个 extent,反之亦然。
    如果 COMPRESS = n,那么将按照表的实际参数来分配 extent。
    注:LOB 类型不会被 COMPRESS。


3. CONSISTENT(default = n, only for export)
    如果 CONSISTENT = y,相当于导出时设定了 SET TRANSACTION READ ONLY 所有导出的数据都是一致的,不会受到导出过程中的数据更新影响。当该参数为 y 时,不能用 sys 或者任何其它 as sysdba 作为连接的用户。
    如果 CONSISTENT = n,那么一般来说每个表的数据导出过程是单个事务,但嵌套表的外部表和内部表分别属于不同的事务,分区表的不同分区也属于不同的事务。


4. DIRECT(default = n, only for export)
    如果使用 DIRECT = y,那么将用 direct path 方式读取数据,数据会被直接读出,绕过 SQL 命令处理层,该方式比 conventional path 快很多。


5. FEEDBACK(Default = 0)
    在导入/导出时显示进度,每几行显示一个进度格。


6. FILE FILESIZE
    FILE 默认值 expdat.dmp,FILESIZE 的默认值是允许的 maximum size(根据不同的操作系统和 Oracle 版本而不同,可能有 2G 的最大限制)。
    当使用一个 DUMP 文件时,只需要指定 FILE 参数,如果要使用多个 DUMP 文件可以将两个参数一起使用。
    FILESIZE 指定每个 DUMP 文件的最大值,如果不指定,或者该参数为 0,那么不管 FILE 参数设置了多少个文件,都只将导出到一个文件,或从一个文件中导入。
    FILE 指定每个 DUMP 文件的名称,导出时,如果数据的总大小 / FILESIZE > FILE 中指定的文件个数,那么会被要求输入另外的 DUMP 文件。


7. QUERY(default = none, only for export)
    在使用表模式导出数据时,设定导出的条件,该条件是应用到所有的表上的,如果指定的列不在其中任何一个表中都会报错。该参数不能用在 DIRECT = y 方式下,也不影响嵌套表中的内部表。


8. TABLES(default = none)
    以表模式导入/导出数据,可以指定要导入/导出的表或分区,格式:


schemaname.tablename:partition_name
schemaname.tablename:subpartition_name

9. TTS_FULL_CHECK(default = FALSE, only for export)
    在表空间迁移方式下指定该参数,会检测该表空间集是不是自独立的,内部的对象不依赖于外部对象,外部的对象也不依赖于内部对象。指定该参数来迁移表空间前,最好使用 dbms_tts.transport_set_check 来检测表空间集是不是自独立的,使用 dbms_tts 包需要先运行 dbmsplts.sql。具体步骤见:Transporting Tablespaces Between Databases


暂时写这些,以后碰到其他问题再补充。


参考:
http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96652/toc.htm


Send A Comment