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操作

到此完成字符集转换操作。

posted on 2019-12-28 16:34  Faker006  阅读(439)  评论(0)    收藏  举报