Oracle11G数据库exp/imp导出导入中文乱码
Oracle数据库exp/imp导出导入中文乱码,Table数据是正常的,function, procedure中文乱码,导致对象编译不过去。
数据库版本:oracle 11.2.0.4
导出脚本:
!/bin/bash
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_BASE=/data/oracle/
export ORACLE_HOME=/data/oracle/product/11.2.0.4/db_1/
export ORACLE_SID=ORCL
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
TODAY=date +%Y-%m-%d
TARGET=/data/oracle/202506_db_migrate
EXP=/data/oracle/product/11.2.0.4/db_1/bin/exp
if [ ! -d $TARGET/$TODAY ];then
mkdir -p $TARGET/$TODAY
fi
MYUSER1
echo $NLS_LANG
echo "------------------"
$EXP MYUSER1/XXXX123@192.8.1.100:1521/ORCL owner=MYUSER1 file=$TARGET/$TODAY/MYUSER1.dmp statistics=none > $TARGET/$TODAY/MYUSER1_export_log 2>&1
if [ $? -ne 0 ];then
echo "date : Oracle backup failed , please check!" >> /data/oracle/nc_oracle/$TODAY/failed_log.txt
exit 88
fi
echo ""date : Oracle backup OK"
exit 0
导入命令:
imp MYUSER1/XXXX123@localhost:1521/ORCL file=2025-06-24/MYUSER1.dmp log=imp_MYUSER1.log full=y statistics=none
整个操作过程就很简单
在目标库(上文中的localhost)安装好同版本的oracle,建好对应的表空间和用户
执行上面的imp命令导入
数据导入之后,导出日志imp_MYUSER1.log最后几行的日志
. exporting bitmap, functional and extensible indexes
. exporting posttables actions
. exporting materialized views
. exporting snapshot logs
. exporting job queues
. exporting refresh groups and children
. exporting dimensions
. exporting post-schema procedural objects and actions
. exporting statistics
Export terminated successfully without warnings.
查看整个日志文件导出过程也是没有报错的,导入日志就有很多???这种问号了

导入之后,查看Table的数据,中英文都是正常显示,编译对象就编译不过去
所有的中文都是显示???这种问号
string 命令查看dmp数据文件,中文要么就是显示??,要不就是直接什么都没
尝试把bash的LANG变量设置成es_US.utf8,zh_CN.utf8,zh_CN.gbk等不同的值去导入导出,结果都一样
又尝试用PLSQL Developer这个工具进行导入导出,
结果用这个工具,导出的数据,导入后中文显示???这种问号,FUNCTION和PROCEDURE就正常显示中文
而且,很奇怪,PLSQL Developer导出的文件,在windows上查看,table,FUNCTION和PROCEDURE都是正常显示中英文都,复制到Linux机器查看,table的中文显示就是??问号了
折腾了7-8个小时都没解决
最后不得已,在linux用上面的脚本导出导入数据,然后用PLSQL Developer工具导出FUNCTION和PROCEDURE,最后编译对象,全部通过
用了一种不是办法的办法解决,治标不治本,也记录一下。
浙公网安备 33010602011771号