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

    1.oracle server端字符集查询

    复制代码代码如下:

    select userenv('language') from dual;

    server字符集修改

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

    复制代码代码如下:

    SQL>conn /as sysdba

    SQL>shutdown immediate;  

    SQL>startup mount

    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;

    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;  

    SQL>select * from v$nls_parameters;  

    重启检查是否更改完成:

    复制代码代码如下:

    SQL>shutdown immediate;

    SQL>startup

    SQL>select * from v$nls_parameters;

    我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验

    这一方法在某些方面是有用处的,比如测试;应用于产品环境时大家应该小心,可能会有一些意外的问题。

    2.oracle client端字符集修改

    复制代码代码如下:

    $echo$NLS_LANG

    client字符集修改:  

     在 /home/oracle与 /root用户目录下的.bash_profile中添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 语句

     关闭当前ssh窗口。

    注意:NLS_LANG变量一定要配置正确否则会引起sqlplus失效。

    3.修改数据库字符集为UTF-8

    1.以DBA登录

    2.执行转换语句:

    复制代码代码如下:

    SHUTDOWN IMMEDIATE;

    STARTUP MOUNT EXCLUSIVE;

    ALTER SYSTEM ENABLE RESTRICTED SESSION;

    ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

    ALTER SYSTEM SET AQ_TM_PROCESSES=0;

    ALTER DATABASE OPEN;

    ALTER DATABASE NATIONAL CHARACTER SET UTF8;

    SHUTDOWN IMMEDIATE;

    STARTUP;

    注意:如果没有大对象,在使用过程中进行语言转换没有什么影响!

    可能会出现ORA-12717:CANNOT ALTER DATABASE NATIONAL CHARACTER SET WHEN NCLOBDATAEXISTS, 解决这个问题的方法

    利用INTERNAL_USE 关键字修改区域设置

    复制代码代码如下:

    ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;
    注:若登陆时出现协议适配器不可加载,则先执行以下代码
       设置临时环境变量后正常登陆数据库
    C:UsersAdministrator>set oracle_sid=orcl

    C:UsersAdministrator>set oracle_home=D:appAdministratorproduct11.2.0dbhome_1

    C:UsersAdministrator>sqlplus / as sysdba
  • 相关阅读:
    struts2 显示表格
    设置eclipse默认编码为UTF-8 Set default encoding to utf-8 in eclipse
    java hibernate +mysql demo
    Java项目引入第三方Jar包
    mysql 常用sql
    C# snaps
    sql server 与mysql差异(innodb)
    系统数据监控
    Twitter Bootstrap Grid System
    设计模式之访问者模式
  • 原文地址:https://www.cnblogs.com/shaohz2014/p/7422925.html
Copyright © 2011-2022 走看看