主要的原因是两个数据库的字符集不相同引起的
先查导出的数据的oracle字符集
用sys用户登陆oracle
执行如下SQL:
select * from nls_database_parameters where parameter in('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
然后再把本机的字符集设置与数据源的机器相同
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
[color=red]注:如果在执行STARTUP MOUNT;
提示could not open parameter file '/bank/oracle/oracle10g/product/10.2.0/db_1/dbs/initORCL.ora',可以执行如下命令:STARTUP pfile=$ORACLE_HOME/admin/orcl/pfile/xxxxx.ora[/color]
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
[color=red]ALTER DATABASE OPEN;
注:当执行了STARTUP pfile=$ORACLE_HOME/admin/orcl/pfile/xxxxx.ora了命令后此条命令可以不执行[/color]
alter database character set INTERNAL_USE ZHS16GBK; --这个是字体集名称
SHUTDOWN IMMEDIATE;
STARTUP;
先查导出的数据的oracle字符集
用sys用户登陆oracle
执行如下SQL:
select * from nls_database_parameters where parameter in('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
然后再把本机的字符集设置与数据源的机器相同
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
[color=red]注:如果在执行STARTUP MOUNT;
提示could not open parameter file '/bank/oracle/oracle10g/product/10.2.0/db_1/dbs/initORCL.ora',可以执行如下命令:STARTUP pfile=$ORACLE_HOME/admin/orcl/pfile/xxxxx.ora[/color]
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
[color=red]ALTER DATABASE OPEN;
注:当执行了STARTUP pfile=$ORACLE_HOME/admin/orcl/pfile/xxxxx.ora了命令后此条命令可以不执行[/color]
alter database character set INTERNAL_USE ZHS16GBK; --这个是字体集名称
SHUTDOWN IMMEDIATE;
STARTUP;