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

    修改server端字符集(不建议使用)

    在Oracle 8之前,可以用直接修改数据字典表props$来改变数据库的Oracle字符集。但Oracle8之后,至少有三张系统表记录了数据库字符集的信息,只改props$表并不完全,可能引起严重的后果。正确的修改方法如下:

    1. $sqlplus /nolog  
    2. SQL>conn / as sysdba;    

    若此时数据库服务器已启动,则先执行SHUTDOWN IMMEDIATE命令关闭数据库服务器,然后执行以下命令:

    1. SQL>STARTUP MOUNT;  
    2. SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;  
    3. SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;  
    4. SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;  
    5. SQL>ALTER DATABASE OPEN;  
    6. SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;  
    7. SQL>ALTER DATABASE national CHARACTER SET ZHS16GBK;  
    8. SQL>SHUTDOWN IMMEDIATE;  
    9. SQL>STARTUP  

    注意:如果没有大对象,在使用过程中进行语言转换没有什么影响,(切记设定的Oracle字符集必须是Oracle支持,不然不能start) 按上面的做法就可以,但是可能会出现‘ORA-12717: Cannot ALTER DATABASE NATIONAL CHARACTER SET when NCLOB data exists’ 这样的提示信息

    要解决这个问题有两种方法

    一个是,利用INTERNAL_USE 关键字修改区域设置,

    还有一个是利用re-create,但是re-create有点复杂,所以请用internal_use,

    1. SQL>SHUTDOWN IMMEDIATE;  
    2. SQL>STARTUP MOUNT EXCLUSIVE;  
    3. SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;  
    4. SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;  
    5. SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;  
    6. SQL>ALTER DATABASE OPEN;  
    7. SQL>ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;  
    8. SQL>SHUTDOWN immediate;  
    9. SQL>startup;  

    如果按上面的做法做,National charset的区域设置就没有问题上述的相关内容就是对修改Oracle字符集的描述,希望会给你带来一些帮助在此方面。

  • 相关阅读:
    element多选下拉框的坑
    滚动条样式全局修改
    element表格自带排序的坑
    c++学习
    HTTP与TCP的区别和联系
    JSP整理
    学习目标
    mysql操作
    JAVA Date、String、Calendar类型之间的转化
    后台数据类型接收问题总结
  • 原文地址:https://www.cnblogs.com/ylqmf/p/2452083.html
Copyright © 2011-2022 走看看