修改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. Android--多线程之Handler 前言

    前言 Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了解决Android应用中多线程的问题,在Android中不 允许Activity新启动的线程访问该Activity里的 ...

  2. Windows定时计划执行Python

    先看下定时执行的py文件 #coding:gbk from selenium import webdriver import time,os driver = webdriver.PhantomJS( ...

  3. 用递归的方式处理数组 && 把递归方法方法定义到数组的原型上 (这是一次脑洞大开的神奇尝试)

    在 javascript 里,如果我们想用一个函数处理数组 (Array) 中的每个元素,那我们有很多种选择,最简单的当然就是用自带的 forEach 函数(低版本也可以使用 lodash 中的 fo ...

  4. Linux文件权限rwx简单了解

    Ⅰ  了解Linux下的文件权限 如上图所示,ll命令详细展示当前目录下的文件或者子目录信息 红框标注的即为此文件或者目录的权限 [第一行文件10.c的权限以-开头,用来说明这是一个文件:第四行cod ...

  5. (28)初识struts框架

    案例剖析中介绍了一个自己写的mystruts框架,这里开始简单的认识struts框架. 1.先看一个简单的struts开发的例子来熟悉一下流程 Struts就是基于mvc模式的框架! (struts其 ...

  6. 深入浅出数据结构C语言版(1)——什么是数据结构及算法

    在很多数据结构相关的书籍,尤其是中文书籍中,常常把数据结构与算法"混合"起来讲,导致很多人初学时对于"数据结构"这个词的意思把握不准,从而降低了学习兴趣和学习信 ...

  7. git submodule 使用过程中遇到的问题

    git submodule 使用过程中遇到的问题 资源文件 原.gitmodules文件的内容如下: [submodule "Submodules/FFmpegWrapper"] ...

  8. 【Python系列】Python自动发邮件脚本-html邮件内容

    缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了,先发一个月, ...

  9. shell中的特殊变量和函数传参

    shell中的特殊变量 $? :上一个命令的执行状态返回值 $#::参数的个数 $*:参数列表,所有的变量作为一个字符串 $@:参数列表,每个变量作为单个字符串 $1-9,${10}:位置参数 $$: ...

  10. Struts(五)之OGNL、contextMap

    一.OGNL 1.1.定义 OGNL是Object-Graph Navigation Language的缩写,它是一个单独的开源项目. Struts2框架使用OGNL作为默认的表达式语言.它是一种功能 ...