zoukankan      html  css  js  c++  java
  • 修改 Oracle 数据库实例字符集

    简介

    在 Oracle 中创建数据库实例后,就会有对应使用的编码字符集。当我们设置的字符集与操作系统或者其他软件字符集不一致时,就会出现中文乱码等情况。此时我们就需要修改 Oracle 数据库使用的字符集,下面是修改 Oracle 字符集的具体步骤:

     

    Oracle 一般使用以下两种字符集:

     

    1. 1.   SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    GBK 16-bit Simplified Chinese 能够支持繁体中文,并且按照2个字符长度存储一个汉字。

     

    1. 2.   SIMPLIFIED CHINESE_CHINA.AL32UTF8

    多字节存储,1个汉字(简体、繁体)有时采用3个字符长度存储。Oracle支持字符集的更改,但是UTF8是Oracle中最大的字符集,也就是说UTF8是ZHS16GBK的严格超集。

     

    首先,我们查看数据库实例所使用的字符集:

    sqlplus "/as sysdba"

    select userenv('language') from dual;

     

    当前(orcl)使用的是 CHINESE_CHINA.AL32UTF8 字符集,下面进行修改:

     

    1. 1.   运行 CMD

     

    1. 2.   进入指定数据库实例

    set ORACLE_SID=ORCL     #"ORCL"表示需要修改字符集的数据库实例名

     

    1. 3.   输入命令

    sqlplus /nolog

     

    1. 4.   登录数据库

    conn /as sysdba

     

    1. 5.   关闭数据库实例

    SHUTDOWN IMMEDIATE;

     

     

    1. 6.   打开控制文件

    STARTUP MOUNT;

     

     

    1. 7.   开启限制会话模式

    ALTER SYSTEM ENABLE RESTRICTED SESSION;

    --ALTER SYSTEM DISABLE RESTRICTED SESSION;  #取消限制会话模式

     

    1. 8.   设定job队列可以启动的进程数

    ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

    说明:JOB_QUEUE_PROCESSES=0,则DBMS_JOB作业和Oracle Scheduler作业将不会在实例上运行。参考:https://blog.csdn.net/leshami/article/details/8694772

     

    1. 9.   禁用队列监视器协调器

    ALTER SYSTEM SET AQ_TM_PROCESSES=0;

     

    1. 10.  修改并打开数据库

    ALTER DATABASE OPEN;

     

    1. 11.  修改数据库字符集

    ALTER DATABASE CHARACTER SET ZHS16GBK;

    当提示我们:新字符集必须为旧字符集的超集合,使用以下命令:

    ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;

     

     

    1. 12.  查看参数列表

    select * from v$nls_parameters;

     

    可以看到,此时已经改为了"ZHS16GBK"字符集。

     

    1. 13.  设置完成后,关闭数据库

    SHUTDOWN IMMEDIATE;

     

    1. 14.  再次打开数据库

    STARTUP OPEN;

     

     

    1. 15.  这时我们再使用之前的方式查看字符集

    select userenv('language') from dual;

     

    OK,ORLC 数据库的字符集就改为了"CHINESE_CHINA.ZHS16GBK"。

  • 相关阅读:
    仿udhcpd配置文件读取的一段代码
    巫师3_战斗_怪物巢穴
    00汇编指令
    在VirtualBox下安装linux操作系统
    Java学习--内部类
    Linux的运行级别和chkconfig用法
    mvn学习1
    JVM调优总结 -Xms -Xmx -Xmn -Xss
    使用代码查看JVM内存使用情况
    jstat命令查看jvm的GC情况 (以Linux为例)
  • 原文地址:https://www.cnblogs.com/Anthony518/p/15449488.html
Copyright © 2011-2022 走看看