文档章节

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

小强斋太
 小强斋太
发布于 2016/11/09 20:07
字数 486
阅读 127
收藏 0

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

1.数据库全备

2.查询当前字符集

PARAMETER                                                    VALUE
------------------------------------------------------------ ------------------------------------------------------------
NLS_CHARACTERSET                                             WE8MSWIN1252

SQL>

3.关闭数据库

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

4.启动数据库到mount状态

SQL> startup mount
ORACLE instance started.

Total System Global Area 4982833152 bytes
Fixed Size                  2934600 bytes
Variable Size            2734688440 bytes
Database Buffers         2231369728 bytes
Redo Buffers               13840384 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     1000
SQL> show parameter aq_tm_processes;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes                            integer     1
SQL>  alter system set job_queue_processes=0;

System altered.
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

System altered.

7.打开数据库

SQL> alter database open  ;

Database altered.

8.修改字符集

SQL> alter database character set AL32UTF8;
alter database character set AL32UTF8
*
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 AL32UTF8;

Database altered.

9.查询当前字符集

SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';

PARAMETER                                                    VALUE
------------------------------------------------------------ ------------------------------------------------------------
NLS_CHARACTERSET                                                      AL32UTF8

10.关闭数据库

SQL> shutdown immediate

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

11.启动数据库到mount状态

SQL> startup mount
ORACLE instance started.

Total System Global Area 4982833152 bytes
Fixed Size                  2934600 bytes
Variable Size            2734688440 bytes
Database Buffers         2231369728 bytes
Redo Buffers               13840384 bytes
Database mounted.

12.将相关参数改回原来值

SQL>  alter system set job_queue_processes=1000;

System altered.
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=1;

System altered.

13.打开数据库

SQL> alter database open  ;

Database altered.

原文地址:

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

本文转载自:http://www.cnblogs.com/xqzt/p/5033376.html

共有 人打赏支持
小强斋太
粉丝 0
博文 181
码字总数 0
作品 0
广州
私信 提问
Oracle11gR2 数据库客户端PL/SQL中文乱码的问题

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

pmos
2016/09/07
39
0
linux环境使用sqlplus执行SQL脚本中文乱码处理

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

旺旺的钥匙
2012/08/13
0
0
【转】ORACLE字符集研究

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

张玉涛
2012/03/27
0
0
客户现场安装产品运行环境遇到的问题

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

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

初入linux的程序员们,经常会受到乱码的问候。可谓“始乱终弃”。因为乱码,并且最终放弃了linux的不在少数。好吧,言归正传,先看看各类乱码是怎么形成的。 中文字符乱码 这种情况一般是安装...

zt371
2009/05/08
288
0

没有更多内容

加载失败,请刷新页面

加载更多

Java 11 已发布,String 还能这样玩!

在文章《Java 11 正式发布,这 8 个逆天新特性教你写出更牛逼的代码》中,我有介绍到 Java 11 的八个新特性,其中关于 String 加强部分,我觉得有点意思,这里单独再拉出来讲。 Java 11 增加...

Java技术栈
21分钟前
1
0
什么是以太坊DAO?(二)

Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念。一般翻译为去中心化的自治组织。 在上一节中,我们为了展示什么是DAO创建了一个合约,就像一个采用邀请制的俱乐部,会...

geek12345
36分钟前
4
0
全屋WiFi彻底无死角 这才是终极解决方案

无线网络现在不仅在家庭中不可或缺,在酒店、医院、学校等场景中的需求也越来越多。尤其是这些场景中,房间多但也需要每个房间都能够完美覆盖WiFi,传统的吸顶式AP就无法很好的解决问题。 H3...

linux-tao
50分钟前
4
0
Python日期字符串比较

需要用python的脚本来快速检测一个文件内的二个时间日期字符串的大小,其实实现很简单,首先一些基础的日期格式化知识如下 复制代码 %a星期的简写。如 星期三为Web %A星期的全写。如 星期三为...

dragon_tech
51分钟前
3
0
ORA 各种oraclesql错误

ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某...

青峰Jun19er
54分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部