• [转]FILESIZE参数 – 输出写入到多个导出文件


    FILESIZE参数 – 输出写入到多个导出文件

    1. 适用于:

    甲骨文公司服务器 - 企业版 - 版本:8.1.7至10.2

    甲骨文公司服务器 - 个人版 - 版本:8.1.7至10.2

    甲骨文公司服务器 - 标准版 - 版本:8.1.7至10.2

    本文档中的信息适用于任何平台。

    2. 目的:

    本文档提供当从Oracle数据库导出数据或将数据导入回到Oracle数据库中时有关使用FILESIZE参数信息。

    3. 范围和应用:

    本手册适用于要使用EXPORT实用程序从Oracle数据库中导出数据,并创建多个导出转储文件,而不是一个单一的(通常是非常大)导出转储文件的Oracle8i,Oracle9i以及Oracle10g数据库的用户。手册提供了有关使用FILESIZE参数,典型的错误信息,和一些相关的缺陷与可能的解决方法的信息。

    4. 简介:

    1) 默认情况下,输出将数据写入一个出口转存,直至达到最大大小。可以在一个文件中存储的最大值是依赖于您的操作系统。另见:

    注:62427.1 “2GB或不2GB - 文件限制在Oracle”

    2) 首先介绍Oracle8i,输出支持写入到多个出口文件,输入可以读入多个出口文件。如果你给FILESIZE参数指定一个值(字节的限制),出口将只写入转储文件您指定的字节大小的数据。

    3) 在Oracle9i及更高版本的服务器上,FILESIZE参数有一个最大的值,这个值等于可以存储在64位(16EB(艾字节)= 16384 PB(PB级)=16777216TB(TB级)=17179869184GB(千兆字节))的最大值。

    4) 经典输出客户端(EXP)没有一个真正的转储文件的最佳大小。即使我们只从一个非常大的转储导入一张小表,我们业要通读完整的转储文件。

    5) 请注意这与Oracle10g的数据泵的客户端(expdp和impdp)不同。如果我们从多个转储文件导入一张小表,我们只能读取数据泵转储文件头,而且我们读取的数据泵主表可能是存储在较后位置的转储文件之一。基于主表中的信息,我们确定该小表处在的转储文件(S),然后我们只读那些特定的转储文件(S)。

    6) 相比于处理多个小文件,从文件查看点处理一个单一的大型输出转储文件更加困难。 因此,250GB的数据,如果需要导出,建议创建多个较小的文件,例如:指定FILESIZE=25G,创建10个规模较小的转储文件。

    7) 导出到磁带设备时,不使用FILESIZE参数,而使用VOLSIZE参数。有关详情,请参阅:

    注:30428.1 “Unix系统上的导出到磁带”” 

    8) 当导出到一个命名管道,不推荐使用FILESIZE参数。 如果使用FILESIZE参数时使用命名管道,请确保您预先为每个出口转存文件创建一个命名管道。有关详情,请参阅:

    注:30528.1 “使用导出(EXP - 2 EXP-15),导入(IMP-2IMP-21),或SQL * Loader时的大文件的问题(2GB +)”

    5. 出口参数的用法:FILESIZE

    如果你不指定文件大小(注意,0值相当于不指定FILESIZE)值,不管在File参数指定的文件数量是多少,输出都将写入一个文件。

    如果您导出文件所需的空间超过可用的磁盘空间,出口将中止操作,待提供足够的磁盘空间后,输出操作才可以重复并完成。

    FILESIZE值可以指定为KB(千字节数)级。例如,FILESIZE=2KB和FILESIZE= 2048是相同的。同样,MB指定兆字节(1024 * 1024)和GB指定千兆字节(1024** 3)。

    B为字节的简写;该数字不用继续乘以字节大小而获得最终的文件大小(FILESIZE=2048B即是FILESIZE= 2048)。

    FILESIZE=0(默认)输出写入到一个单一的文件

    FILESIZE=1024或:

    FILESIZE=1K或:

    FILESIZE=1KB输出写入1千字节的文件

    FILESIZE=1M或:

    FILESIZE=1MB输出写入1兆字节的文件

    FILESIZE=1G或:

    FILESIZE= 1GB,输出写入1千兆字节的文件

    当输出写入的数据量超过FILESIZE指定的最大值,输出会从File参数中得到下一个输出文件的名称,如果它已经使用了所有的File参数指定的名称,输出会提示您提供了一个新的输出文件名。

    如果输出的数据量不适合提供的文件清单,输出将提示需要更多的文件名。

    如果在后台运行的输出程序,确保给输出提供足够的文件名。在等待您提供额外的文件名时输出程序会挂起,而您可能不能发现文件名不够用。

    例如:运行一个完整的数据库输出的直接路径和创建750 MB输出转储文件:

    File: exp.par
    -------------
    FILESIZE=750MB
    FILE=exp_f1.dmp,exp_f2.dmp,
    exp_f3.dmp,exp_f4.dmp
    FULL=Y
    DIRECT=Y
    LOG=exp_full.log
    % exp system/manager PARFILE=exp.par

    注1: 当出口分配一个新的出口转储文件,这将记录在在出口日志中。

    E.g:
    ...
    continuing export into file exp_f2.dmp
    ...

    注2: 已指定File参数,但是出口不需要这个文件,则该指定的FILE不会被创建。

        例如:在上面的例子,如果输出总额为2 GB,然后输出将创建3个文件:

    - exp_f1.dmp with size of 750 Mb
    - exp_f2.dmp with size of 750 Mb
    - exp_f3.dmp with size of 500 Mb

    注3: 如果出口需要更多的文件,将数据导出,它会提示一个新的文件名。

    例如:在上面的例子,如果出口总额为3.5 GB,然后出口将创建4个750 MB的文件,并会提示为剩余的500 MB数据创建新文件。键入下一个出口转储文件的文件名后,出口将继续下去。

    Example:
    ...
    Export file: EXPDAT.DMP > exp_f5.dmp
    ...

    注4 请注意,File参数指定文件名的命令行语法是:

    ---命令行模式可能的语法(2例):

    E.g:
    %exp...file=exp_f1.dmp exp_f2.dmp exp_f3.dmp exp_f4.dmp...
    %exp...file=exp_f1.dmp,exp_f2.dmp,exp_f3.dmp,exp_f4.dmp ...

    或者在Windows系统(3附例):

    D:>exp...file=(exp_f1.dmp exp_f2.dmp exp_f3.dmp exp_f4.dmp)...
    D:>exp...file=(exp_f1.dmp,exp_f2.dmp,exp_f3.dmp,exp_f4.dmp)...
    D:>exp...file="exp_f1.dmp,exp_f2.dmp,exp_f3.dmp,exp_f4.dmp"...

    或者在Unix系统(3附例):

    % exp... file=(exp_f1.dmp exp_f2.dmp exp_f3.dmp exp_f4.dmp)...
    % exp...file=(exp_f1.dmp,exp_f2.dmp,exp_f3.dmp,exp_f4.dmp)...
    % exp...file='exp_f1.dmp,exp_f2.dmp,exp_f3.dmp,exp_f4.dmp' ...

    6. 进口参数:FILESIZE

    输入数据时,必须使用导入参数FILESIZE告诉导入最大的出口指定转储文件的大小。FILESIZE值可以指定为KB(千字节数)级。例如,FILESIZE=2KB和FILESIZE= 2048是相同的。同样,MB指定兆字节(1024 * 1024)和GB指定千兆字节(1024** 3)。

    B为字节的简写;该数字不用继续乘以字节大小而获得最终的文件大小(FILESIZE=2048B即是FILESIZE= 2048)。

    FILESIZE=0(默认)出口读取一个单一的文件

    FILESIZE=1024或:

    FILESIZE=1K或:

    FILESIZE=1KB出口读取1千字节的文件

    FILESIZE=1M或:

    FILESIZE=1MB出口读取1兆字节的文件

    FILESIZE=1G或:

    FILESIZE= 1GB,出口读取1千兆字节的文件

    例如:从上面创建的出口转储文件运行一个表级别的进口程序。

    File: imp.par
    -------------
    FILESIZE=750MB
    FILE=exp_f1.dmp,exp_f2.dmp,
    exp_f3.dmp,exp_f4.dmp
    FROMUSER=scott
    TOUSER=scott
    TABLES=emp
    LOG=imp_emp.log
    % imp system/manager PARFILE=imp.par

    注1 :如果文件参数(如在输出过程中文件exp_f4.dmp未被创建)中列出的文件太多,这些文件名会被忽略。

    注2 :如果没有列出的所有文件名,进口将主动要求下一个文件名。 

    例如如果进口开始指定了 exp_f1.dmp,exp_f2.dmp两个文件而没有提到第三个或最后的文件名exp_f3.dmp,进口会提示为剩余数据创建新的文件名。输入正确的文件名后,进口程序将继续下去。

    例如:

    ...
    Import file: EXPDAT.DMP > exp_f3.dmp
    ...

    7. 出口可能的警告和错误:

    1) EXP-75: FILESIZE四舍五入式下降

    FILESIZE参数指定的值是RECORDLENGTH参数值的倍数。如果这是不正确的,那么FILESIZE参数值将下调自动:

    % exp system/manager FILE=exp_f1.dmp, exp_f2.dmp, exp_f3.dmp, 
    exp_f4.dmp LOG=exp_f.log FILESIZE=1000m 
    DIRECT=y RECORDLENGTH=65535 FULL=y
    Export: Release 10.2.0.3.0 - Production on Thu Dec 20 17:19:13 2007
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
    EXP-00075: rounding FILESIZE down, new value is 1048560000
    Export done in WE8ISO8859P15 character set and AL16UTF16 NCHAR character set
    About to export the entire database ...
    ...

    解决办法:忽略警告或指定FILESIZE参数为RECORDLENGTH的倍数:

    %exp system/manager FILE=exp_f1.dmp, exp_f2.dmp, exp_f3.dmp, 
    exp_f4.dmp LOG=exp_f.log FILESIZE=1048560000 
    DIRECT=y RECORDLENGTH=65535 FULL=y

    注1:确保进口时也使用FILESIZE新指定值。

    注2:有关参数RECORDLENGTH的详细信息,请参阅:

    注3:155477.1 “直接参数:常规路径导出与直接路径导出的比较”

    2) EXP-73:转储文件太小

    如果FILESIZE参数值小于RECORDLENGTH参数值,将产生一个错误。例如如果出口开始于RECORDLENGTH= 8192和FILESIZE =4KB。

    % exp system/manager FILE=exp_f1.dmp, exp_f2.dmp, exp_f3.dmp, 
    exp_f4.dmp LOG=exp_f.log FILESIZE=64k 
    DIRECT=y RECORDLENGTH=65535 FULL=y
    Export: Release 10.2.0.3.0 - Production on Thu Dec 20 17:39:12 2007
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
    EXP-00075: rounding FILESIZE down, new value is 65535
    EXP-00073: dump file size too small
    EXP-00000: Export terminated unsuccessfully

    解决方案:FILESIZE参数,如指定一个较大的值:

    %exp system/manager FILE=exp_f1.dmp,exp_f2.dmp,exp_f3.dmp, 
    exp_f4.dmp LOG=exp_f.log FILESIZE=640m 
    DIRECT=y RECORDLENGTH=65535 FULL=y

    3) EXP-2:错误写入导出文件

    如果没有足够的空间供出口写入到转储文件,或另一个进程阻止出口写入转储文件,出口会因为如下一些错误中止:

    ...
    EXP-00030: Unexpected End-Of-File encountered while reading input
    .. exporting table EMP_LONG error clossing export file
    EXP-00002: Error in writing to export file
    EXP-00002: Error in writing to export file
    EXP-00000: Export terminated unsuccessfully

    解决方法:确保有足够的自由空间来创建文件,确保该磁盘没有任何错误,确保其他进程(如防病毒扫描)不会阻止出口写入文件,并重新运行出口。

    8. 导入时可能的警告和错误:

    1) IMP-46:使用出口文件FILESIZE值

    如果没有值指定在进口程序中的FILESIZE参数,将产生一个警告。然而,进口程序将继续:

    % imp system/manager FILE=exp_f1.dmp, exp_f2.dmp, exp_f3.dmp 
    exp_f4.dmp LOG=imp_emp.log 
    FROMUSER=scott TOUSER=scott TABLES=emp
    Import: Release 10.2.0.3.0 - Production on Thu Dec 20 18:00:48 2007
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
    Export file created by EXPORT:V10.02.01 via direct path
    import done in WE8ISO8859P15 character set and AL16UTF16 NCHAR character set
    IMP-00046: using FILESIZE value from export file of 786432000
    ...
    Import terminated successfully with warnings.

    解决办法:忽略警告,下一次从这个出口转储文件集输入时,指定正确的值FILESIZE参数,如:

    % imp system/manager FILE=exp_f1.dmp,exp_f2.dmp,exp_f3.dmp 
    exp_f4.dmp LOG=imp_emp.log FILESIZE=750m 
    FROMUSER=scott TOUSER=scott TABLES=emp

    2) IMP-47:意外的文件序列号

    如果以错误的顺序列出文件名,系统报告错误,进口程序将中止,例如:

    % imp system/manager FILE=exp_f3.dmp, exp_f2.dmp, exp_f1.dmp 
    exp_f4.dmp LOG=imp_emp.log FILESIZE=750m 
    FROMUSER=scott TOUSER=scott TABLES=emp
    Import: Release 10.2.0.3.0 - Production on Thu Dec 20 18:05:04 2007
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
    Export file created by EXPORT:V10.02.01 via direct path
    import done in WE8ISO8859P15 character set and AL16UTF16 NCHAR character set
    IMP-00047: unexpected file sequence number; expected 1 but found 3
    IMP-00132: first file in the multi-file export is exp_f1.dmp
    IMP-00000: Import terminated unsuccessfully
    Or:
    % imp system/manager FILE=exp_f1.dmp, exp_f3.dmp, exp_f2.dmp 
    exp_f4.dmp LOG=imp_emp.log FILESIZE=750m 
    FROMUSER=scott TOUSER=scott TABLES=emp
    Import: Release 10.2.0.3.0 - Production on Thu Dec 20 18:13:39 2007
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
    Export file created by EXPORT:V10.02.01 via direct path
    import done in WE8ISO8859P15 character set and AL16UTF16 NCHAR character set
    IMP-00047: unexpected file sequence number; expected 2 but found 3
    IMP-00132: first file in the multi-file export is exp_f1.dmp
    IMP-00008: unrecognized statement in the export file:
    ...

    解决方案:以正确的顺序指定转储文件,例如:

    %imp system/manager FILE=exp_f1.dmp,exp_f2.dmp,exp_f3.dmp 
    exp_f4.dmp LOG=imp_emp.log FILESIZE=750m 
    FROMUSER=scott TOUSER=scott TABLES=emp

    3) IMP-40:FILESIZE与出口程序使用的值不匹配

    如果错误的FILESIZE值在进口过程中被指定(例如指定FILESIZE=75m,而非FILESIZE=750m),将报告错误:

    % imp system/manager FILE=exp_f1.dmp, exp_f2.dmp, exp_f3.dmp 
    exp_f4.dmp LOG=imp_emp.log FILESIZE=75m 
    FROMUSER=scott TOUSER=scott TABLES=emp
    Import: Release 10.2.0.3.0 - Production on Thu Dec 20 18:18:26 2007
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
    Export file created by EXPORT:V10.02.01 via direct path
    import done in WE8ISO8859P15 character set and AL16UTF16 NCHAR character set
    IMP-00040: FILESIZE does not match the value used for export: 786432000
    IMP-00000: Import terminated unsuccessfully

    解决方案:重新启动进口,并给FILESIZE参数指定正确的值,如:

    % imp system/manager FILE=exp_f1.dmp,exp_f2.dmp,exp_f3.dmp
    exp_f4.dmp LOG=imp_emp.log FILESIZE=750m 
    FROMUSER=scott TOUSER=scott TABLES=emp

    4) IMP-2:未能打开读取文件

    如果你错误地指定了一个不正确的文件名,进口将提示输入正确的文件名:

    % imp system/manager FILE=exp_f1.dmp, exp_f2.dmp, exp_f3.dmp 
    exp_f4.dm LOG=imp_emp.log FILESIZE=750m 
    FROMUSER=scott TOUSER=scott TABLES=emp
    Import: Release 10.2.0.3.0 - Production on Thu Dec 20 18:21:02 2007
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
    Export file created by EXPORT:V10.02.01 via direct path
    import done in WE8ISO8859P15 character set and AL16UTF16 NCHAR character set
    IMP-00002: failed to open exp_f4.dm for read
    Import file: EXPDAT.DMP >

    解决方案:指定正确的文件名,或者以正确的名称重新启动进口转储文件:

    ...
    Import file: EXPDAT.DMP > exp_f4.dmp
    ...

    5) IMP-48:文件头不匹配

    如果你错误地指定了一个错误的文件名,可能发生以下错误:

    % imp system/manager FILE=exp_f1.dmp, exp_f2.dmp, exp_f3.dmp 
    exp_f.log LOG=imp_emp.log FILESIZE=750m 
    FROMUSER=scott TOUSER=scott TABLES=emp
    Import: Release 10.2.0.3.0 - Production on Thu Dec 20 18:28:26 2007
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
    Export file created by EXPORT:V10.02.01 via direct path
    import done in WE8ISO8859P15 character set and AL16UTF16 NCHAR character set
    IMP-00048: mismatched file header
    IMP-00008: unrecognized statement in the export file:
    IMP-00000: Import terminated unsuccessfully
    -- or import aborts with:
    ...
    IMP-00048: mismatched file header
    IMP-00009: abnormal end of export file
    IMP-00000: Import terminated unsuccessfully

    解决方案:重新启动的进口,并指定一系列正确的转储文件的名称,如:

    %impsystem/manager FILE=exp_f1.dmp,exp_f2.dmp,exp_f3.dmp
    exp_f4.dmp LOG=imp_emp.log FILESIZE=750m 
    FROMUSER=scott TOUSER=scott TABLES=emp

  • 相关阅读:
    HDU1029 Ignatius and the Princess IV
    UVA11039 Building designing【排序】
    UVA11039 Building designing【排序】
    POJ3278 HDU2717 Catch That Cow
    POJ3278 HDU2717 Catch That Cow
    POJ1338 Ugly Numbers(解法二)
    POJ1338 Ugly Numbers(解法二)
    UVA532 Dungeon Master
    UVA532 Dungeon Master
    POJ1915 Knight Moves
  • 原文地址:https://www.cnblogs.com/oktell/p/4601569.html
Copyright © 2020-2023  润新知