zoukankan      html  css  js  c++  java
  • Oracle 修改字符集

    出现ORA-12899,是字符集引起的,中文在UTF-8中占3个字节,ZHS16GBK中占2个字节,而源dmp文件字符集是ZHS16GBK库里倒出来的数据,现在要导入到目标字符集为UTF-8的库里,所以会出现ORA-12899
    其实只要修改一下ORACLE 的字符集就可以很好的解决这个问题;


    sqlplus /nolog
    SQL>conn / as sysdba
    SQL>SHUTDOWN IMMEDIATE
    SQL>STARTUP MOUNT
    SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
    SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    SQL>ALTER DATABASE OPEN;
    SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
    ALTER DATABASE CHARACTER SET ZHS16GBK
    *ERROR at line 1:
    ORA-12712: new character set must be a superset ofold character set
    报字符集不兼容,此时下INTERNAL_USE指令不对字符集超集进行检查:
    可以执行下一步 跳转错误操作
    SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
    SQL>SHUTDOWN IMMEDIATE
    SQL>STARTUP
    再次用imp导入,就没有问题了。

  • 相关阅读:
    C#基础
    C#基础
    Sqlserver数据库备份和还原
    C#基础
    Python3学习笔记4
    Python3学习笔记3
    调用接口Post xml和json数据的通用方法
    Python3学习笔记2
    Python3学习笔记1
    常见的PHP函数代码性能对比
  • 原文地址:https://www.cnblogs.com/vvonline/p/5819852.html
Copyright © 2011-2022 走看看