redhat下解决oracle导入数据乱码的方法

主要的原因是两个数据库的字符集不相同引起的

先查导出的数据的oracle字符集

用sys用户登陆oracle

执行如下SQL:

select * from nls_database_parameters where parameter in('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');

然后再把本机的字符集设置与数据源的机器相同

SHUTDOWN   IMMEDIATE;      
STARTUP   MOUNT;  
注:如果在执行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

ALTER   SYSTEM   ENABLE   RESTRICTED   SESSION;  
ALTER   SYSTEM   SET   JOB_QUEUE_PROCESSES=0;  
ALTER   DATABASE   OPEN;  
注:当执行了STARTUP pfile=$ORACLE_HOME/admin/orcl/pfile/xxxxx.ora了命令后此条命令可以不执行

alter database character set INTERNAL_USE ZHS16GBK;  --这个是字体集名称
SHUTDOWN   IMMEDIATE;        
STARTUP;

你可能感兴趣的:(oracle,sql,redhat)