zoukankan      html  css  js  c++  java
  • Oracle 11g修改字符集AL32UTF8为ZHS16GBK

    oracle11g更改字符集AL32UTF8为ZHS16GBK
    当初安装oracle的时候选择的默认安装,结果字符集不是以前经常用的16GBK,要改字符集,从网上找到了方法并试了一下,果然好用!

    具体如下:
    登录SQL Plus

    Oracle <wbr>11g修改字符集AL32UTF8为ZHS16GBK
    在SQL Puls中的命令如下:
    SQL> conn /as sysdba

    已连接。
    SQL> shutdown immediate;

    数据库已关闭。

    已经卸载数据库。
    SQL> startup mount

    ORACLE例程已经启动。

    ……    ………………

    …………………………

    数据库装载完毕。
    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;

    第1行出现错误:
    ORA-12712: new character set must be a superset of old character set
    提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
    SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

    数据库已更改。
    --我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.
    SQL> select * from v$nls_parameters;

    RARAMETER

    VALUE

    NAS_LANGUAGE

    SIMPLIFIED CHINESE

    NLS_TERRITORY

    CHINA

    ……
    SQL> shutdown immediate;
    SQL> startup

    ORA-01081:???????ORACLE-???????意思是无法启动已运行的ORACLE,请首先关闭它
    SQL> select * from v$nls_parameters;

    至此,字符集的修改就完成了,我们可以通过输入命令验证一下,其结果已经变成了ZHS16GBK了。

    SQL> select userenv(‘language’) from dual;

    看来,以后安装oracle11g的时候最好还是选择自定义安装,把这个字符集的事情事先弄好。

  • 相关阅读:
    CodeForces gym Nasta Rabbara lct
    bzoj 4025 二分图 lct
    CodeForces 785E Anton and Permutation
    bzoj 3669 魔法森林
    模板汇总——快读 fread
    bzoj2049 Cave 洞穴勘测 lct
    bzoj 2002 弹飞绵羊 lct裸题
    HDU 6394 Tree 分块 || lct
    HDU 6364 Ringland
    nyoj221_Tree_subsequent_traversal
  • 原文地址:https://www.cnblogs.com/areyouready/p/7747175.html
Copyright © 2011-2022 走看看