首先查看oracle数据库的编码
SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';
PARAMETER
--------------------
VALUE
--------------------
NLS_CHARACTERSET
AL32UTF8
这其来源于props$,这是表示数据库的字符集。
oracle客户端编码
SQL> select * from nls_instance_parameters where parameter='NLS_LANGUAGE';
PARAMETER
--------------------
VALUE
--------------------
NLS_LANGUAGE
SIMPLIFIED CHINESE
其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表会话字符集环境
select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。
再来说一下怎么修改oracle的字符集:
目前我的数据库环境的字符集是AL32UTF8,那么把它改成ZHS16GBK
1.首先以sysdba的身份登录上去 conn /as sysdba
2.关闭数据库shutdown immediate;
3.以mount打来数据库,startup mount
4.设置session
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
5.启动数据库
alter database open;
6.修改字符集
ALTER DATABASE CHARACTER SET ZHS16GBK;
这会可能会报错,提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
这条语句就可以了,TERNAL_USE提供的帮助就会使oracle绕过了子集与超集的验证,这条语句和上面的语句内部操作时完全相同的。
7.关闭,重新启动
SQL>shutdown immediate;
SQL> startup
当然字符集最好不要轻易修改,因为这会对数据库的数据有直接的影响,如果是生产环境的话,可能会造成不可估计得损失。
分享到:
相关推荐
Oracle 12C修改编码集的步骤是为了确保数据正确显示,避免乱码问题。以下是一些关键知识点和解决方法: 1. **查看当前数据库字符集**: 使用`SELECT userenv('language') FROM dual;`查询当前会话的语言环境和字符...
本文将深入探讨如何修改Oracle数据服务器的编码,以满足不同语言环境的需求,确保数据的正确存储和检索。 Oracle数据库支持多种字符集(Charset),包括ASCII、AL32UTF8(即UTF-8)、ZHS16GBK等,这些字符集用于...
在Oracle数据库管理与维护过程中,遇到错误编码是常有的事情。理解这些错误编码背后的具体含义对于快速定位问题、解决问题至关重要。以下是对部分Oracle错误编码的详细解析,这将帮助数据库管理员或开发人员更准确地...
在Oracle数据库管理中,有时我们需要更改数据库的字符集以适应不同的语言环境或解决数据兼容性问题。本文将详细介绍如何修改Oracle数据库的字符集,并提供实际操作步骤。 #### 一、理解Oracle字符集 1. **字符集...
通过附件里的命令行,可以实现oracle编码的更改,无需重新安装。
Oracle存储过程编码规范是数据库开发中的一个重要组成部分,它旨在确保代码的可读性、可维护性和一致性。这份文档,版本号为3.0,主要涵盖了命名规范、注释信息以及错误处理等多个方面,以提升团队协作效率和代码...
### Oracle编码规范详解 #### 一、概述 Oracle数据库作为一种广泛使用的数据库管理系统,在企业级应用中扮演着重要的角色。为了确保代码的一致性和可维护性,制定一套标准的Oracle编码规范至关重要。本文将详细...
Oracle 字符集查看与修改 Oracle 字符集是一个字节数据的解释的符号集合,具有大小之分,具有相互的包容关系。Oracle 支持国家语言的体系结构允许使用本地化语言来存储、处理、检索数据。 一、什么是 Oracle 字符...
在使用Oracle数据库的过程中,有时会遇到需要更改数据库字符集的情况,比如将现有的字符集更改为与操作系统一致的字符集,以便更好地支持多语言环境或者解决数据导入导出时的字符编码问题。本文将详细介绍如何在...
首先查看oracle数据库的编码 SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; PARAMETER ——————– VALUE ——————– NLS_CHARACTERSET AL32UTF8 这其来源于props$,这...
由于不同的地区和语言环境对于字符编码的需求各异,因此有时可能需要更改Oracle数据库的字符集设置。本文将详细介绍如何通过一系列的Oracle SQL命令来完成这一任务。 #### 二、准备工作 在进行任何字符集修改操作...
网上基本找不到,sqlserver2012版本链接oracle乱码问题解决实测版。
Oracle数据库中文乱码问题解决方案 Oracle数据库中文乱码...Oracle数据库中文乱码问题的解决方案需要同时修改数据库服务器端和客户端的字符编码设置。通过正确的设置,可以确保中文字符在Oracle数据库中的正确显示。
### Oracle字符集的查看与客户端字符集的修改 #### 一、Oracle字符集的基本概念 在Oracle数据库系统中,字符集(charset)是用于表示文本数据的编码方式。正确设置和管理字符集对于确保数据的一致性和正确性至关重要...
在Oracle数据库的管理与维护过程中,数据库管理员和开发人员常常会遇到各类错误信息,错误编码大全为他们提供了快速定位和解决问题的途径。下面将详细介绍标题和描述中提及的几个Oracle错误编码,以及通过部分列出的...
2. 表名和字段名:在创建或修改数据库对象时,使用拼音码或五笔码可以加速对象名的输入,尤其是在大量表和字段的项目中。 3. 脚本编写:在编写自动化脚本或存储过程时,拼音码和五笔码能够帮助提高编写速度。 4. ...
在Oracle11g环境下,可能会遇到需要更改数据库字符集的情况,例如从AL32UTF8修改为ZHS16GBK。这种变更通常发生在需要支持特定语言环境的应用场景中,尤其是当应用主要面向中文用户时,采用ZHS16GBK字符集可以更好地...