查看当前字符集
引用
SQL> select * from nls_database_parameters where parameter like '%SET%';
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_CHARACTERSET WE8ISO8859P1
NLS_NCHAR_CHARACTERSET AL16UTF16
引用
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.WE8ISO8859P1
尝试直接修改字符集
引用
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 10g中建议用CSALTER修改!)
引用
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 62916852 bytes
Database Buffers 100663296 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL> ALTER SYSTEM ENABLE RESTRICTED 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> ALTER DATABASE OPEN;
Database altered.
SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE zhs16gbk;
Database altered.
修改时alert日志显示:
引用
Completed: ALTER DATABASE OPEN
Tue May 18 10:56:43 2010
ALTER DATABASE CHARACTER SET INTERNAL_USE zhs16gbk
Tue May 18 10:56:47 2010
Updating character set in controlfile to ZHS16GBK
Synchronizing connection with database character set information
Refreshing type attributes with new character set information
Completed: ALTER DATABASE CHARACTER SET INTERNAL_USE zhs16gbk
查看修改后结果:
引用
SQL> select * from nls_database_parameters where parameter like '%SET%';
PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CHARACTERSET
ZHS16GBK
NLS_NCHAR_CHARACTERSET
AL16UTF16
引用
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
分享到:
相关推荐
### Linux下修改Oracle 10G的字符集:WE8ISO8859P1 修改为 ZHS16GBK #### 知识点概述 在Linux环境下,有时我们需要更改Oracle数据库的字符集来适应不同的语言环境或数据输入需求。本文将详细介绍如何在Oracle 10G...
根据提供的部分内容,可以看出尝试将数据库字符集从WE8ISO8859P1修改为ZHS16GBK的过程。具体步骤如下: 1. **检查当前字符集**:通过执行`SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_...
常见的Oracle字符集有AL32UTF8(支持Unicode的UTF-8编码)、WE8ISO8859P1(西欧字符集)、ZHS16GBK(简体中文GB18030编码)等。 六、多语言环境下的字符集配置 在处理多语言数据时,Oracle提供了NLSSORT参数来调整...
` 语句修改字符集格式时,需要确保当前数据库中的字符集格式是 WE8ISO8859P1,因为 ZHS16GBK 是 WE8ISO8859P1 的超集。 在 Linux 下的 Oracle 数据库中,修改字符集格式可以解决中文乱码问题, Normal 使得数据库中...
例如,WE8ISO8859P1是WE8MSWIN1252的子集,而许多字符集如WE8ISO8859P1、ZHS16CGB231280、ZHS16GBK都是US7ASCII的超集。 在Oracle数据库中,有两个关键的字符集概念:数据库字符集(服务器端字符集)和国家字符集...
这些命令将数据库的字符集从 `WE8ISO8859P1` 更改为 `ZHS16GBK`,并将国家字符集更改为 `AL16UTF16`。 #### 7. 重新配置集群数据库模式 在完成字符集更改之后,需要重新配置集群数据库模式。 ```sql ALTER SYSTEM...
提供的三个`.reg`文件——ZHS16CGB231280.reg、ZHS16GBK.reg、WE8ISO8859P1.reg,就是预先配置好的注册表项,用于一键更改Oracle客户端的默认字符集。例如,导入ZHS16GBK.reg将使客户端使用GBK字符集,这对于连接到...
- 单字节 8 位字符集,定义 256 个字符,适合欧洲大部分国家(如 WE8ISO8859P1)。 - **多字节编码**: - 变长多字节编码,例如 AL32UTF8(适用于所有语言)。 - 定长多字节编码,如 AF16UTF16(只用于国家字符集...
首先,Oracle字符集分为单字节和多字节编码。单字节字符集如US7ASCII,用于表示128个基本的ASCII字符,而8位的单字节字符集如WE8ISO8859P1则能表示更多的欧洲字符。多字节字符集主要用于处理亚洲语言,如变长的AL32...
Oracle数据库在处理字符集时遵循一定的兼容规则,如`WE8ISO8859P1`和`WE8MSWIN1252`等字符集之间可以互相转换,但与`US7ASCII`不兼容。这种兼容性机制确保了数据在不同字符集环境下的正确迁移和显示。 #### 四、...
- `US7ASCII`可以向上兼容`WE8ISO8859P1`和`ZHS16GBK`。 - `ZHS16CGB231280`可以向上兼容`ZHS16GBK`。 #### 六、总结 正确地理解和管理Oracle数据库中的字符集对于确保数据完整性和提高系统的国际化能力非常...
例如,WE8ISO8859P1是WE8MSWIN1252的子集,而US7ASCII是很多其他字符集的子集。 4. **数据库字符集(服务器端字符集)**: - **字符集**:在创建数据库时指定,用于存储CHAR、VARCHAR2、CLOB、LONG等类型数据,...
Oracle数据库在安装时默认采用的字符集是WE8ISO8859P1,该字符集不支持中文字符。因此,针对需要处理中文数据的Oracle数据库,需要将字符集修改为支持中文的字符集,例如ZHS16GBK。 修改Oracle字符集需要一系列精确...
字符集是Oracle为了支持不同语言的文字显示而设立的,对于汉字显示,常见的字符集包括ZHS16CGB231280、US7ASCII和WE8ISO8859P1等。问题的核心在于服务器端和客户端的字符集匹配以及数据字符集的一致性。 当服务器端...