转自:http://blog.csdn.net/angus_17/article/details/7762472
首先查看oracle数据库的编码
SQL> select * from nls_database_parameters where parameter=upper('nls_characterset'); PARAMETER VALUE ------------------------------ ------------------------------ NLS_CHARACTERSET AL32UTF8 SQL>
这其来源于props$,这是表示数据库的字符集。
oracle客户端编码
SQL> select * from nls_instance_parameters where parameter=upper('nls_language'); PARAMETER VALUE ------------------------------ ------------------------------ NLS_LANGUAGE AMERICAN SQL>
其来源于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; System altered. SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; System altered. SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; System altered. SQL>
5.启动数据库
alter database open;
6.修改字符集
ALTER DATABASE CHARACTER SET ZHS16GBK;
这会可能会报错,提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
这条语句就可以了,TERNAL_USE提供的帮助就会使oracle绕过了子集与超集的验证,这条语句和上面的语句内部操作时完全相同的。
7.关闭,重新启动
相关推荐
修改Oracle服务器编码通常涉及到数据库创建时的选择、已有数据库的字符集转换以及客户端连接的字符集设置。 首先,我们需要理解Oracle中的字符集概念。全局字符集(Database Character Set)定义了数据库中所有数据...
Oracle 12C修改编码集的步骤是为了确保数据正确显示,避免乱码问题。以下是一些关键知识点和解决方法: 1. **查看当前数据库字符集**: 使用`SELECT userenv('language') FROM dual;`查询当前会话的语言环境和字符...
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字符集的基本概念 在Oracle数据库系统中,字符集(charset)是用于表示文本数据的编码方式。正确设置和管理字符集对于确保数据的一致性和正确性至关重要...
### Oracle 修改字符集 在Oracle数据库管理中,有时我们需要更改数据库的字符集以适应不同的语言环境或解决数据兼容性问题。本文将详细介绍如何修改Oracle数据库的字符集,并提供实际操作步骤。 #### 一、理解...
Oracle存储过程编码规范是数据库开发中的一个重要组成部分,它旨在确保代码的可读性、可维护性和一致性。这份文档,版本号为3.0,主要涵盖了命名规范、注释信息以及错误处理等多个方面,以提升团队协作效率和代码...
本文将深入探讨 Oracle 字符集的查看、修改以及相关知识。 首先,Oracle 字符集是一个字节数据的解释集合,具有大小和包容性关系。Oracle 的国家语言支持架构允许使用本地语言存储、处理和检索数据,包括错误消息、...
### Oracle编码规范详解 #### 一、概述 Oracle数据库作为一种广泛使用的数据库管理系统,在企业级应用中扮演着重要的角色。为了确保代码的一致性和可维护性,制定一套标准的Oracle编码规范至关重要。本文将详细...
在Oracle 10g中,数据库字符集是在创建数据库时设定的,一般不建议后期修改。数据库字符集决定了CHAR、VARCHAR2、CLOB、LONG等数据类型的存储格式,同时也影响表名、列名和PL/SQL变量的表示。国家字符集(NATIONAL ...
### Oracle字符集修改命令详解 #### 一、引言 在Oracle数据库的管理与维护过程中,字符集的正确设置对于确保数据的正确显示与处理至关重要。由于不同的地区和语言环境对于字符编码的需求各异,因此有时可能需要...
网上基本找不到,sqlserver2012版本链接oracle乱码问题解决实测版。
在Oracle中,常见的字符集包括ISO8859(如WE8ISO8859P1)、GB2312以及GBK等,它们分别对应不同的编码标准。 ISO8859-1(WE8ISO8859P1)是西方语言的基本字符集,包含拉丁字母和一些特殊符号,不支持中文字符。而GB...
### Oracle 修改字符集详解 #### 一、背景与目的 在使用Oracle数据库的过程中,有时会遇到需要更改数据库字符集的情况,比如将现有的字符集更改为与操作系统一致的字符集,以便更好地支持多语言环境或者解决数据...
本文将提供一个详细的解决方案,包括查看和修改数据库服务器端的字符编码、查看和修改客户端字符集的设置方法。 一、查看和修改数据库服务器端的字符编码 在Oracle数据库中,字符编码是由NLS_DATABASE_PARAMETERS...
### Oracle 字符集的查看与修改 #### 一、Oracle 字符集概述 **Oracle 字符集** 是指 Oracle 数据库系统中用于解释字节数据的一组符号集合。Oracle 支持多国语言架构,这使得用户能够在不同的语言环境下存储、处理...