1.首先停服务对数据库做个压缩备份
2.将数据库对象导出一份(字符集转换后可能存在过程函数,触发器等的注释,中文乱码的问题,数据库字符集转换后更新数据库)
3.转字符集前最好对数据库中文字段做字段扩充操作
4.对原数据库字符集做修改
方法一:
set oracle_sid=xxxxx
sqlplus /nolog
conn sys/xxxx as sysdba
a.shutdown immediate ;
b.startup mount ;
c.alter system enable restricted session ;
d.alter system set JOB_QUEUE_PROCESSES=0;
e.alter system set AQ_TM_PROCESSES=0;
f.alter database open;
g. alter database character set INTERNAL_USE ZHS16GBK;
h.shutdown immediate ;
i.startup ;
方法二:
set oracle_sid=xxxxx
sqlplus /nolog
conn sys/xxxx as sysdba
1.shutdown immediate ;
2.startup restrict
3.alter database character set INTERNAL_USE ZHS16GBK;
4.shutdown immediate
5.startup
摘抄自:
https://blog.csdn.net/eastsea/article/details/2884808
https://blog.csdn.net/lvbang_lzt/article/details/6308947
5.转换完字符集后检查数据库数据是否有问题,过程函数等乱码问题,存在乱码则用之前备份的过程,函数等更新成正确的中文。
6.最好对表中存放中文的字段做trim操作
到此完成字符集转换操作。
浙公网安备 33010602011771号