Oracle11g字符集AL32UTF8修改为ZHS16GBK详解

参考链接:http://t.zoukankan.com/dayang12525-p-6229629.html

操作步骤:

cmd 然后输入 sqlplus /nolog

conn /as sysdba


shutdown immediate;


startuo mount

 

ALTER SYSTEM ENABLE RESTRICTED SESSION;

 

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

 

ALTER SYSTEM SET AQ_TM_PROCESSES=0;

 

ALTER DATABASE OPEN;

 

ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK; //跳过超子集检测

 


ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK;

 

 

SHUTDOWN IMMEDIATE;

 

STARTUP

 

 

--查询数据库编码
select * from v$nls_parameters where parameter='NLS_CHARACTERSET';

 

图片:

 

注意:修改完之后,发现库中的中文都乱码了,提示ORA-29275部分多字节字符处理

将kettle相关的表又删除了  R_开头的    K_开头的   DI开头的   将之前的这三个又导入还是报错,TB_DIC_DEPARTMENT和

TB_DIC_PRACTITIONER数据清空,还是报错,百度了一下,说要设置系统变量

NLS_LANG   SIMPLIFIED CHINESE_CHINA.ZHS16GBK

设置了,还是报错,

最终解决方案:最终将NPPT用户删除,重新按照之前的顺序NPPT.dmp,删除R_开头的,导入KETTLE.dmp,再导入K.dmp和DI.dmp  一共是756个表  之后就不报错了

总结:在导入表之前一定看下源库的数据库编码,导入库的编码需要和源库一样,先设置成一样的,之后再导入dmp文件,这样才对

--查询数据库编码
select * from v$nls_parameters where parameter='NLS_CHARACTERSET';

 

posted on 2022-07-25 15:10  yr1126  阅读(1303)  评论(0编辑  收藏  举报