修改oracle字符集

方法/步骤

  1.  

    oracle数据库的字符集更改

    A、oracle server 端 字符集查询 

    select userenv('language') from dual

    其中NLS_CHARACTERSET 为server端字符集

    NLS_LANGUAGE 为 server端字符显示形式

    B、查询oracle client端的字符集 

    $echo $NLS_LANG

    如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux操作系统相同的字符集。如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。

    C、server端字符集修改 

    *****************************************************************

    *  更改字符集步骤方法(WE8ISO8859P1 --> ZHS16GBK)            *

    *****************************************************************

    SQL>

    将数据库启动到RESTRICTED模式下做字符集更改:

    cmd命令,如下:

    (密码部分为格式为:123456@orcl3 as sysdba;)回车。

    SQL> shutdown immediate; 

    Database closed.

    Database dismounted.

    ORACLE instance shut down.

    SQL> startup mount 

    ORACLE instance started.

    Total System Global Area  236000356 bytes

    Fixed Size                   451684 bytes

    Variable Size             201326592 bytes

    Database Buffers           33554432 bytes

    Redo Buffers                 667648 bytes

    Database mounted.

    SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; 

    System altered.

    SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 

    System altered.

    SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; 

    System altered.

    SQL> alter database open;

    Database altered.

    SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;      

    ALTER DATABASE CHARACTER SET ZHS16GBK

    *

    ERROR at line 1:

    ORA-12712: new character set must be a superset of old character set

    提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:

    SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;       

    Database altered.

    SQL> select * from v$nls_parameters; 

    19 rows selected.

    重启检查是否更改完成:

    SQL> shutdown immediate; 

    Database closed.

    Database dismounted.

    ORACLE instance shut down.

    SQL> startup 

    ORACLE instance started.

    Total System Global Area  236000356 bytes

    Fixed Size                   451684 bytes

    Variable Size             201326592 bytes

    Database Buffers           33554432 bytes

    Redo Buffers                 667648 bytes

    Database mounted.

    Database opened.

    SQL> select * from v$nls_parameters; 

    19 rows selected.

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    D、client端字符集修改

    在 /home/oracle与 /root用户目录下的.bash_profile中

    添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 语句

    关闭当前ssh窗口。

    (本人在这部分没试过,更改环境变量应该就要可以了,即在环境变量中NLS_LANG:WE8ISO8859P1)

    -------------------------------------------------
    -------------------------------------------------

    注意:在startup mount 可能会报:qlplus:ORA-12514: TNS:listener does not currently know of service requested in connect descri
    这时要在服务端的listener.ora文件中加入以下红色部分,注意修改相应的参数值,如下:

    SID_LIST_LISTENER =

    (SID_LIST =

    (SID_DESC =

    (SID_NAME = PLSExtProc)

    (ORACLE_HOME =C:\app\letto\product\11.2.0\dbhome_1)

    (PROGRAM = extproc)

    )

    (SID_DESC =
        (GLOBAL_DBNAME = myorcl)     
          (ORACLE_HOME = C:\app\letto\product\11.2.0\dbhome_1)           
          (SID_NAME = myorcl)   
        )
      )

更改oracle字符集的更多相关文章

  1. 更改Oracle字符集避免乱码

    如何更改Oracle字符集避免乱码 转一位大神的笔记. 国内最常用的Oracle字符集ZHS16GBK(GBK 16-bit Simplified Chinese)能够支持繁体中文,并且按照2个字符长 ...

  2. 如何更改Oracle字符集避免乱码

    转一位大神的笔记. 国内最常用的Oracle字符集ZHS16GBK(GBK 16-bit Simplified Chinese)能够支持繁体中文,并且按照2个字符长度存储一个汉字.UTF8字符集是多字 ...

  3. 44. 更改oracle字符集编码american_america.zh16gbk 改为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    注册表NLS_LANG值改为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

  4. 更改Oracle实例的字符集

    (1).数据库服务器字符集select * from nls_database_parameters 来源于props$,是表示数据库的字符集. (2).服务端字符集环境select * from n ...

  5. Linux下更改oracle客户端字符集和服务端字符集

    from:http://blog.csdn.net/chid/article/details/6166506 Linux 下更改 oracle 客户端字符集和服务端字符集 1.Linux 下更改 or ...

  6. ORACLE字符集基础知识

    概念描叙    ORACLE数据库有国家字符集(national character set)与数据库字符集(database character set)之分.两者都是在创建数据库时需要设置的.国家 ...

  7. Oracle字符集的查看查询和Oracle字符集的设置修改

    本文主要讨论以下几个部分:如何查看查询oracle字符集. 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题. 一.什么是Oracle字符集 Oracle字符集是 ...

  8. 如何修改Oracle字符集

    一.什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库 ...

  9. 转Oracle字符集问题总结

    Oracle字符集问题总结 分类: Oracle2006-06-04 13:48 1298人阅读 评论(3) 收藏 举报 oracle数据库sqlcharacter存储insert 作者: vston ...

随机推荐

  1. 交互神器 Facebook Origami

    最近用到了一个非常强大的工具,这是一款由 facebook 出品的原型设计软件,老规矩我们先来看一下效果.大家也可以先进去官网看看效果Origami 官网 scroll.gif swipe.gif O ...

  2. jQuery(20161108)

    jQuery的引入包必须要在其他引入包的最上方,否则会出错.因为如果在页面加载完成后还未执行jQuery包,那么jQuery的引入包就没用了 如果浏览器报错:Uncaught Error: Boots ...

  3. JavaWeb之JSP技术总结

    刚接触JSP技术的时候让我想起了在大学学的Asp+VBScript,记得当时我还用aspstudy做了一个小的新闻发布系统作为期末作品,也正是在那时候在卢哥卢老师的指导下走向编程的道路,对编程越来越感 ...

  4. 《Machine Learning》系列学习笔记之第二周

    第二周 第一部分 Multivariate Linear Regression Multiple Features Note: [7:25 - θT is a 1 by (n+1) matrix an ...

  5. Static语句块和初始语句块的使用---2015年10月恒生电子笔试试卷

    package lhm.test; /** * @author lenovo * */public class Person { private int id; private static int ...

  6. Delphi的Hint介绍以及用其重写气泡提示以达到好看的效果

    Delphi中使用提示是如此简单,只需将欲使用Hint的控件作如下设置: ShowHint := True; Hint := ‘提示信息’; 不必写一行代码,相当方便. 但有时我们又想自己定制提示的效 ...

  7. 动力IT教育背后的“神秘力量”

    IT行业作为当前就业形势最好的行业,成为大多数毕业生以及转行人群的首选.且国家也对互联网大力支持,IT行业市场需求空缺也越来越大,随之IT培训机构也如雨后春笋般,层出不穷. 行业易选,但该如何选择培训 ...

  8. NIO(四、Selector)

    目录 NIO(一.概述) NIO(二.Buffer) NIO(三.Channel) NIO(四.Selector) Selector 前面两个章节都描述了Buffer和Channel,那这个章节就描述 ...

  9. js中prototype,__proto__,constructor之间的关系

    首先,我们需要了解三点: 1. 只要创建一个任意新函数,就会根据一个prototype属性,该属性指向函数的原型对象: 2. 每一个原型对象都会自动获得一个constructor属性,该属性只想pro ...

  10. 老李分享:Uber究竟是用什么开发语言? 1

    老李分享:Uber究竟是用什么开发语言?   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...