• EXP-00091和IMP-00010解决办法


    在session4的4小题需要用到SH.COUNTRIES表,而手工建库时,这个SH用户没有这个表,就想着将别处的这个表拷贝过来。

    原来导出表的库:database ORACLE_SID=TEST0221 版本: 11.2.0.4
    需要导进的库:database ORACLE_SID=PROD 版本:10.2.0.1
    因为字符集的问题,出现了EXP-00091的错误
    因为数据库版本的问题,出现了IMP-00010的错误


    [oracle@node2 ~]$ exp sh/sh@test0221 tables=COUNTRIES rows=y file=COUNTRIES.dmp

    Export: Release 11.2.0.4.0 - Production on Thu Mar 27 15:19:07 2014

    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Export done in US7ASCII character set and AL16UTF16 NCHAR character set
    server uses AL32UTF8 character set (possible charset conversion)

    About to export specified tables via Conventional Path ...
    . . exporting table                      COUNTRIES         23 rows exported
    EXP-00091: Exporting questionable statistics.
    EXP-00091: Exporting questionable statistics.
    Export terminated successfully with warnings.
    [oracle@node2 ~]$ oerr exp 00091
    00091, 00000, "Exporting questionable statistics."
    // *Cause:  Export was able export statistics, but the statistics may not be
    //          usuable. The statistics are questionable because one or more of
    //          the following happened during export: a row error occurred, client
    //          character set or NCHARSET does not match with the server, a query
    //          clause was specified on export, only certain partitions or
    //          subpartitions were exported, or a fatal error occurred while
    //          processing a table.
    // *Action: To export non-questionable statistics, change the client character
    //          set or NCHARSET to match the server, export with no query clause,
    //          export complete tables. If desired, import parameters can be
    //          supplied so that only non-questionable statistics will be imported,
    //          and all questionable statistics will be recalculated.
    [oracle@node2 ~]$ exit
    exit

    sys@TEST0221> select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET';   

    PARAMETER                                  VALUE 
    ------------------------------   -------------------------------------------------------------------
    NLS_CHARACTERSET                 AL32UTF8

    或者查看:
    sys@TEST0221> select * from v$nls_parameters  where parameter='NLS_CHARACTERSET'; 

    PARAMETER                                                        VALUE
    ---------------------------------------------------------------- ----------------------------------------------------------------
    NLS_CHARACTERSET                                                 AL32UTF8

    sys@TEST0221> !
    [oracle@node2 ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8--设置字符集
    [oracle@node2 ~]$ exp sh/sh@test0221 tables=COUNTRIES rows=y file=COUNTRIES.dmp--再来重新导出,成功

    Export: Release 11.2.0.4.0 - Production on Thu Mar 27 15:22:32  2014

    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


    Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Export done in AL32UTF8 character set and AL16UTF16 NCHAR character set

    About to export specified tables via Conventional Path ...
    . . exporting table                      COUNTRIES         23 rows exported
    Export terminated successfully without warnings.

    [oracle@node2 ~]$ ll
    total 480
    -rw-r--r-- 1 oracle oinstall 438823 Mar 14 13:30 awrrpt_1_33_37.html
    -rw-r--r-- 1 oracle oinstall  24576 Mar 27 15:22 COUNTRIES.dmp
    -rw-r--r-- 1 oracle oinstall   2992 Feb 24 23:00 login.sql
    -rw-r--r-- 1 oracle oinstall    195 Mar 14 08:43 spcpkg.lis
    -rw-r--r-- 1 oracle oinstall   5477 Mar 14 08:43 spctab.lis
    -rw-r--r-- 1 oracle oinstall   1832 Mar 14 08:43 spcusr.lis

    [oracle@node2 ~]$ scp COUNTRIES.dmp 192.168.1.155:/home/oracle--- 使用scp将文件传输到需要导入的库的系统里
    oracle@192.168.1.155's password: 
    COUNTRIES.dmp                                                                                            100%   24KB  24.0KB/s   00:00    
    [oracle@node2 ~]$ 

    在需要导入表的环境里查看刚scp传输过来的文件:

    [oracle@ocm1 ~]$ ll
    total 32
    -rw-r--r-- 1 oracle oinstall 24576 Mar 27 15:26 COUNTRIES.dmp
    drwxr-xr-x 2 oracle oinstall  4096 Mar 27 12:39 script
    drwxr-xr-x 2 oracle oinstall  4096 Mar 19 14:51 temp



    #####################################################################

    下面是导入:

    [oracle@ocm1 ~]$ imp

    Import: Release 10.2.0.1.0 - Production on Thu Mar 27 15:31:30 2014

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    Username: sh
    Password: 

    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options

    Import file: expdat.dmp > /home/oracle/COUNTRIES.dmp

    Enter insert buffer size (minimum is 8192) 30720> 

    IMP-00010: not a valid export file, header failed verification
    IMP-00000: Import terminated unsuccessfully
    [oracle@ocm1 ~]$ 


    头部验证失败是由于版本号不同所致,经试验可以通过如下方法进行修改:
    可以看到头部信息 --TEXPORT:V11.01.00,即为源数据库的版本号,将其修改为目的数据库的版本号,如本机为10.02.01,再次进行导入操作,导入成功
    [oracle@ocm1 ~]$ vi COUNTRIES.dmp --直接使用vi修改下头部的版本号即可
    ^C^CiEXPORT:V10.02.00--之前是EXPORT:V11.02.00
    USH


    再次导入,成功:

    [oracle@ocm1 ~]$ imp

    Import: Release 10.2.0.1.0 - Production on Thu Mar 27 15:36:22 2014

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    Username: sh
    Password: 

    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options

    Import file: expdat.dmp > /home/oracle/COUNTRIES.dmp

    Enter insert buffer size (minimum is 8192) 30720> 

    Export file created by EXPORT:V10.02.00 via conventional path
    import done in AL32UTF8 character set and AL16UTF16 NCHAR character set
    List contents of import file only (yes/no): no > 

    Ignore create error due to object existence (yes/no): no > 

    Import grants (yes/no): yes > 

    Import table data (yes/no): yes > 

    Import entire export file (yes/no): no > 
    Username: sh

    Enter table(T) or partition(T:P) names. Null list means all tables for user
    Enter table(T) or partition(T:P) name or . if done: 

    . importing SH's objects into SH
    IMP-00008: unrecognized statement in the export file: 
      
    . importing SH's objects into SH
    . . importing table                    "COUNTRIES"         23 rows imported
    Import terminated successfully with warnings.
    [oracle@ocm1 ~]$ 


    SYS@PROD> conn sh/sh
    Connected.
    SH@PROD> desc COUNTRIES
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     COUNTRY_ID                                NOT NULL NUMBER
     COUNTRY_ISO_CODE                          NOT NULL CHAR(2)
     COUNTRY_NAME                              NOT NULL VARCHAR2(40)
     COUNTRY_SUBREGION                         NOT NULL VARCHAR2(30)
     COUNTRY_SUBREGION_ID                      NOT NULL NUMBER
     COUNTRY_REGION                            NOT NULL VARCHAR2(20)
     COUNTRY_REGION_ID                         NOT NULL NUMBER
     COUNTRY_TOTAL                             NOT NULL VARCHAR2(11)
     COUNTRY_TOTAL_ID                          NOT NULL NUMBER
     COUNTRY_NAME_HIST                                  VARCHAR2(40)

    SH@PROD> 
    SH@PROD> select count(*) from COUNTRIES;

      COUNT(*)
    ----------
            23
     
  • 相关阅读:
    堆排序,C++模板编程
    洗牌程序的两种实现方法比较
    读取/保存xml文件的类(序列化/反序列化)
    [返回上一页,并且刷新]
    实现等级的存储过程sql
    C#实现WMI读取远程计算机信息【原】
    开源IT资产管理系统>OCS Inventory NG服务端
    xaf实现自定义只读参数
    How to show a Detail View via code
    15个最好的免费开源电子商务平台
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13315865.html
Copyright © 2020-2023  润新知