我导出数据库时,发现以下错误~请大家帮忙分析一下(1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > 导出权限 (yes/no): yes > 导出表数据 (yes/no): yes > 压缩区 (yes/no): yes > 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的用户...
要导出的用户: (RETURN 以退出) > comity要导出的用户: (RETURN 以退出) > . 正在导出 pre-schema 过程对象和操作
. 正在导出用户 COMITY 的外部函数库名称
. 导出 PUBLIC 类型同义词
EXP-00008: 遇到 ORACLE 错误 6552
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-553: 无法识别字符集名称
EXP-00000: 导出终止失败SQL> select * from NLS_DATABASE_PARAMETERS;PARAMETER
------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_LANGUAGE
AMERICANNLS_TERRITORY
AMERICANLS_CURRENCY
$
PARAMETER
------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_ISO_CURRENCY
AMERICANLS_NUMERIC_CHARACTERS
.,NLS_CHARACTERSET
ZHS16GBK
PARAMETER
------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CALENDAR
GREGORIANNLS_DATE_FORMAT
DD-MON-RRNLS_DATE_LANGUAGE
AMERICAN
PARAMETER
------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_SORT
BINARYNLS_TIME_FORMAT
HH.MI.SSXFF AMNLS_TIMESTAMP_FORMAT
DD-MON-RR HH.MI.SSXFF AM
PARAMETER
------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_TIME_TZ_FORMAT
HH.MI.SSXFF AM TZRNLS_TIMESTAMP_TZ_FORMAT
DD-MON-RR HH.MI.SSXFF AM TZRNLS_DUAL_CURRENCY
$
PARAMETER
------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_COMP
BINARYNLS_LENGTH_SEMANTICS
BYTENLS_NCHAR_CONV_EXCP
FALSE
PARAMETER
------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_NCHAR_CHARACTERSET
AL16UTF16NLS_RDBMS_VERSION
9.2.0.4.0
已选择20行。

解决方案 »

  1.   

    查看Oracle的.bash_profile文件显示如下信息:
    export ORACLE_BASE=/opt/oracle
    export ORACLE_HOME=/opt/oracle/product/9.2.0
    export ORACLE_SID=eyouT
    #export NLS_LANG="AL16UTF16 NCHAR"
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    export PATH=$ORACLE_HOME/bin:$PATH
    export ORACLE_DOC=$ORACLE_HOME/doc
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
    CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes12.zip
    CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/nls_charset12.zip
    CLASSPATH=$CLASSPATH:$ORACLE_HOME/sqlj/lib/translator.zip
    CLASSPATH=$CLASSPATH:$ORACLE_HOME/sqlj/lib/runtime.zip
    CLASSPATH=$CLASSPATH:.
    export CLASSPATH
    if [ ! $LD_LIBRARY_PATH ]; then
        LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/jdbc/lib
        export LD_LIBRARY_PATH
    fiulimit -n 65535 >/dev/null 2>&1
    ulimit -u 16384 >/dev/null 2>&1
    export LD_ASSUME_KERNEL=2.4.19
      

  2.   

    可能是比较小的字符集往大的字符集导出数据,Oracle原则上是不允许的,可能数据会有乱码,特别是中文。
      

  3.   

    我试了在SQL-PLUS中查询的数据是中文,并且在应用系统中插入、取出的数据均为中文~
    请问如何才能导出数据库、非常感谢~~~~~~
      

  4.   

    其实也可以用plsql里面进行导出,可以用dmp格式导出,这样就减少了错误