文档章节

Oracle 12c中文乱码,修改字符集的方法

rootliu
 rootliu
发布于 2017/09/04 10:05
字数 458
阅读 58
收藏 0

Oracle 12c中文乱码,修改字符集的方法

在windows 7 64位上安装Oracle 12c没有设定字符集,采用的是操作系统默认字符集:WE8MSWIN1252,将字符集修改为:ZHS16GBK。由于过程不可逆,首先需要备份数据库。
1.数据库全备

2.查询当前字符集
SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER                                VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET                         WE8ISO8859P1

 3.关闭数据库

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

 4.启动数据库到mount状态

复制代码

SQL> startup mount
ORACLE instance started.
Total System Global Area  205520896 bytes
Fixed Size                  1266608 bytes
Variable Size             100666448 bytes
Database Buffers          100663296 bytes
Redo Buffers                2924544 bytes
Database mounted.

复制代码

 5.限制session

SQL> alter system enable restricted session;
System altered.
6.查询相关参数并修改

复制代码

SQL> show parameter job_queue_processes;  
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes                  integer     10

SQL> show parameter aq_tm_processes; 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes                      integer     0

SQL> alter system set job_queue_processes=0;
System altered.

复制代码

7.打开数据库
SQL> alter database open;
Database altered.
8.修改字符集
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
出现错误提示,新字符集必须是老字符集的超集,也就原来字符集是新字符集的子集,可以再Oracle官方文档上查询字符集包含关系。下面使用Oracle内部命令internal_use,跳过超集检查,生产环境不建议使用此方法。
SQL> alter database character set internal_use ZHS16GBK;          
Database altered.
9.查询当前字符集
SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER                                VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET                         ZHS16GBK
10.关闭数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
11.启动数据库到mount状态

复制代码

SQL> startup mount
ORACLE instance started.
Total System Global Area  205520896 bytes
Fixed Size                  1266608 bytes
Variable Size             100666448 bytes
Database Buffers          100663296 bytes
Redo Buffers                2924544 bytes
Database mounted.

复制代码

12.将相关参数改回原来值
SQL> alter system set job_queue_processes=10;
System altered.
13.打开数据库
SQL> alter database open;
Database altered.

 

本文转载自:http://www.cnblogs.com/siyunianhua/p/4004327.html

共有 人打赏支持
rootliu
粉丝 2
博文 252
码字总数 2796
作品 0
海淀
数据库管理员
Oracle11gR2 数据库客户端PL/SQL中文乱码的问题

在进行oracle数据库的数据操作时,发现中文出现了乱码。这真是件麻烦事情。其实解决乱码的问题很简单,需要我们的PL/SQL Oracle客户端的字符集编码和Oracle数据库的字符集编码保持一致。 1、...

pmos
2016/09/07
39
0
【转】ORACLE字符集研究

文章转自:互联网 ORACLE字符集研究 对字符集的认识一直都处于一知半解的状态,目前打算要做不同字符集的库之间数据传导,所以专门研究了一下数据库的字符集问题。转了一篇很详细的论文来,论...

张玉涛
2012/03/27
0
0
linux环境使用sqlplus执行SQL脚本中文乱码处理

某组服务器上的sqlplus在执行定时更新SQL脚本时,中文出现乱码。一开始找错了问题方向:从SQL更新脚本处理的源头开始,首先对windows下的编辑器生成的脚本文件做各种编码的尝试,然后又在vi编...

旺旺的钥匙
2012/08/13
0
0
客户现场安装产品运行环境遇到的问题

做开发工作三年时间以来,第一次在现场安装环境。碰到了一些琐碎的小问题,在此描述一下这些问题,以及我的解决方法。 一、安装好临床路径系统,但系统的一两个服务却打不开。主要原因是系统...

为自己插上翅膀
01/20
0
0
Linux操作系统下终端乱码的终极解决方案

中文字符乱码 这种情况一般是安装了中文控制端,但没有启用中文应用造成的。只需要启动相应软件即可,如zhcon。或者是启用了相应软件,但字符集不对,需设置相应字符集,例如export LANG=zh_...

红薯
2009/05/08
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

what f,,

anlve
35分钟前
0
0
初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
9
0
现场看路演了!

HiBlock
昨天
19
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
13
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部