当前位置:首页 » 数据仓库 » oracle11g数据库字符集
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

oracle11g数据库字符集

发布时间: 2022-09-23 15:21:13

⑴ 如何修改Oracle数据库字符集

Database character set (AL32UTF8) and Client characterset (ZHS16GBK) are different.
Character set conversion may cause unexpected results.
Note: you can set the client character set through the NLS_LANG environmentvariable or the NLS_LANG registry key in
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1.

SIMPLIFIED CHINESE_CHINA.ZHS16GBK 包含 AMERICAN_AMERICA.AL32UTF8.
这可是个麻烦事,不是改客户端字符集的问题。要改数据库的字符集。我是自己笔记本上面的oracle11g,所以胆子还是很大的:
sql> conn /as sysdba
SQL> shutdown immediate;
SQL> startup mount
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
ORA-12712: new character set must be a superset of old character set
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
--我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验.
SQL> select * from v$nls_parameters;
SQL> shutdown immediate;
SQL> startup
SQL> select * from v$nls_parameters;
以后安装oracle11g的时候记得选择自定义安装,把这个字符集的事情事先弄好。

⑵ 求助oracle 11g 字符集修改问题

数据库字符集在创建后原则上不能更改。如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换。
楼主只是改前两部分,是不是想提示的时候是中文?如果这样,你只需要更改客户端的字符集即可,不用改服务器端,如不知道客户端怎么更改,请追问。

NLS_LANG = language_territory.charset
Language: 指定服务器消息的语言, 影响提示信息是中文还是英文
Territory: 指定服务器的日期和数字格式,
如:AMERICAN _ AMERICA. ZHS16GBK
从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。
所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。

⑶ ORACLE11G安装的时候 怎么指定字符集的问题

ORACLE11G安装的时候指定字符集的操作过程如下:
SQL> shutdown immediate

SQL> startup

SQL> alter session set sql_trace=true;

SQL> alter system enable restricted session;
SQL> show parameter job_queue_processes;
SQL> alter system set job_queue_processes=0;
SQL> alter system set aq_tm_processes=0;
SQL> alter database open;
SQL> alter database character set INTERNAL_USE AL32UTF8;
SQL> update props$ set VALUE$='UTF8' where NAME='NLS_NCHAR_CHARACTERSET';
改变字符集后,原来已有的数据不会改变,只是之后新增的数据会是新的字符集。

⑷ 怎么修改oracle11G字符集

有2种方法可行。
1. 如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换。
2. 通过ALTER DATABASE CHARACTER SET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,例如UTF8是US7ASCII的超集,修改数据库字符集可使用ALTER DATABASE CHARACTER SET UTF8。

⑸ oracle11g如何创建US7ASCII字符集的数据库

应该有一个“只显示建议的
字符集


复选框
,去掉这个复选框,就可以找到
US7ASCII字符集

如果找不到,那么在安装的时候不建数据库,等安装完了用
Database
Configuration
Assistant

来建数据库,是有这个选项的。

⑹ oracle11g如何选择字符集

默认是ZHS16GBK 也可以选择Unicode(AL32UTF8) 一般没什么特殊要求的话默认就行了

⑺ 批改oracle10g和oracle11g数据库字符集怎么解决

有2种方法可行。
1. 如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换。
2.
通过ALTER DATABASE CHARACTER
SET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,例如UTF8是US7ASCII
的超集,修改数据库字符集可使用ALTER DATABASE CHARACTER SET UTF8。