有时候安装oracle未了解清楚需求,设置的字符集导致中文乱码。oracle如何修改字符集呢?

1、查询字符集

SQL> col VALUE format a30

SQL> select * from nls_database_parameters where parameter like ‘%CHARACTERSET%’;

PARAMETER VALUE

—————————— ——————————

NLS_CHARACTERSET US7ASCII

NLS_NCHAR_CHARACTERSET UTF8

SQL> select value$ from props$ where name=’NLS_NCHAR_CHARACTERSET’;

VALUE$

—————————–

UTF8

2、oracle修改服务器端字符集:

SQL>alter system checkpoint;

SQL>alter system switch logfile;

SQL>SHUTDOWN IMMEDIATE;

SQL>STARTUP MOUNT EXCLUSIVE;

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;

#####################################################################

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

提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改,INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验. :

#####################################################################

SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;

#####################################################################

注意:

1)这样修改会影响数据库中定义了Nclob、NVARCHAR2等大字段的表,会出现乱码。需要重新导入表,当然在修改前要备份相关表。

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

3)在Oracle8i中,设定的字符集必须是ORACLE支持,假如修改了错误的字符集,数据库将无法启动。不过从Oracle9i开始,Oracle在启动时跳过了这个检查,即使修改了错误的字符集,也仍然可以启动,数据库启动时会将控制文件中的字符集更改为缺省的US7ASCII.

#####################################################################

SQL>SHUTDOWN IMMEDIATE;

SQL>STARTUP

3、更新系统表(props$)修改字符集

SQL>update props$ set value$=’ZHS16GBK’ where name=’NLS_CHARACTERSET’;

SQL>update props$ set value$=’AL16UTF16′ where name=’NLS_NCHAR_CHARACTERSET’;

4、如果还没有数据,最好的办法还是用dbca重新创建instance

5、 确认字符集是否修改

SQL> col VALUE format a30

SQL> select * from nls_database_parameters where parameter like ‘%CHARACTERSET%’;

PARAMETER VALUE

—————————— ——————————

NLS_CHARACTERSET ZHS16GBK

NLS_NCHAR_CHARACTERSET AL16UTF16

赞过:

赞 正在加载……

相关

oracle 修改nls_characterset,修改NLS_CHARACTERSET和NLS_NCHAR_CHARACTERSET字符集相关推荐

  1. oracle 修改nls_nchar_characterset,修改NLS_CHARACTERSET和NLS_NCHAR_CHARACTERSET字符集

    修改NLS_CHARACTERSET和NLS_NCHAR_CHARACTERSET字符集 2013-07-26 有时候安装oracle未了解清楚需求,设置的字符集导致中文乱码.oracle如何修改字符 ...

  2. oracle imp导入修改字符集,Oracle中IMP导入数据时提示字符集不一致解决

    生产环境中经常使用到Oracle的IMP导入和EXP导出来功能来达到数据迁移的目的,通常在源数据库和目标数据库中查询字符集是否致, 测试环境中导入IMP导入报错信息如下: 导入命令如下: [oracl ...

  3. oracle nls lang 修改,修改NLS参数、NLS_LANG参数格式等

    一.查询字符集参数 可以查询以下数据字典或视图查看字符集设置情况 nls_database_parameters.props$.v$nls_parameters 查询结果中NLS_CHARACTERS ...

  4. ORACLE安装参数修改

    修改内核参数  /etc/sysctl.conf #net.ipv4.ip_forward = 0 #disabled net.ipv4.conf.default.rp_filter = 1 kern ...

  5. 使用oracle 游标修改数据,Oracle 函数施行修改和游标传递

    Oracle 函数执行修改和游标传递 ORA-14551:不能在查询语句中执行dml语句,开始误以为函数里不能执行DML或DDL语句,后查到前辈通过采用自治事务解决,在此基础上演例 传递SQL语句对数 ...

  6. MySQL修改有存量数据的数据库字符集实战

    原文链接:https://www.modb.pro/db/22722?cyn 我们已经知道数据库或者表,可以在创建后再修改字符集.但是修改字符集不会将已有的数据按新字符集重新进行处理.那么已有存量数据 ...

  7. Oracle查看并修改最大连接数

    Oracle查看并修改最大连接数 第一步,在cmd命令行,输入sqlplus 第二步,根据提示输入用户名与密码 1. 查看processes和sessions参数 SQL> show param ...

  8. 服务器上Oracle System如何修改system用户密码

    服务器上Oracle System如何修改system用户密码 1,服务器上oracle经常会使用plsql developer访问,很多时候我们用的服务器,或者之前的密码我们并不知道,这个时候需要修 ...

  9. oracle修改seq为order,Oracle 创建和修改sequence

    Oracle  创建和修改sequence 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方. 1.Create Sequence 你首先要有 ...

最新文章

  1. swift 中showAlertTitle的使用
  2. 【深度学习】基于Torch的Python开源机器学习库PyTorch回归
  3. 关于C#泛型列表ListT的基本用法总结
  4. 不是Linux文件系统的权限,Linux中文件系统的权限管理(普通权限,特殊权限,文件的扩展属性,FACL)...
  5. [bzoj 2555]Substring
  6. Spring_自动装配
  7. Sql Server 列转行 Pivot使用
  8. iOS UIScrollView 动画的力学原理
  9. 乐鑫Esp32学习之旅 20 一篇好文,开发过程中编译esp32固件太大,无法正常启动?教你如何自定义分区表partitions.csv。
  10. Win32子系统(csrss.exe,win32k.sys相关知识总结)
  11. qt 获取屏幕句柄_VC中获取窗口句柄的各种方法
  12. 现代制造业信息化建设的主要内容
  13. Mark,road-stone 2012-7-7
  14. Python爬虫实战之五:requests-re多页爬取链家成都地区租房市场信息
  15. 程序员专属手机壁纸来了。。。
  16. 如何用计算机玩扫雷,扫雷怎么玩_玩好扫雷游戏的技巧是什么【图文】-太平洋电脑网PConline-太平洋电脑网...
  17. 不知道如何进行图片文字翻译?看完这篇你就知道了
  18. 4g硬盘可以装Linux 么,eeepc 900a 4g ssd硬盘予装了linux操作系统是否能改装xp
  19. debian linux win7,win7debian双系统
  20. 浏览器发送请求过程解析

热门文章

  1. linux关闭telnet服务6,centos6 开启telnet服务
  2. 学成在线笔记+踩坑(7)——绑定媒资
  3. U-Net的pytorch实现
  4. android反编译汉化,安卓反编译工具(Apk Manager)
  5. ipython安装教程-ipython安装避坑指南
  6. MySQL中的关联查询
  7. MAYA卸载/完美解决安装失败/如何彻底卸载清除干净MAYA各种残留注册表和文件的方法
  8. 萌新卷妹带你从头复习JavaSE--认识Java
  9. JAVA JDK 1.7 API中文帮助文档
  10. 谷粒商城 Day08 布隆过滤器与缓存切面