oracle的homes在哪里配置,Oracle字符集 简介

三个组成部分(语言、地域、字符集),每个成分控制了NLS子集的特性。

Language:指定Oracle消息使用的语言,校验,日期中月份和日显示。[指定服务器消息的语言]

Territory:指定默认日期、数字、货币等格式,地区和计算星期及日期的习惯。[指定服务器的日期和数字格式]

Client character set:控制客户端应用程序使用的字符集。[指定字符集]

从 NLS_LANG 的组成我们可以看出,真正影响数据库字符集的其实是第三部分。

所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。

例如:NLS_LANG=AMERICAN_AMERICA.AL32UTF8

AMERICAN 是语言, AMERICA 是地区, AL32UTF8 是客户端字符集

常用中文字符集 NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK

常用 unicode 字符集 NLS_LANG="AMERICAN_AMERICA".AL32UTF8

字符集的涵盖面:

涉及到 oracel server 端的字符集与 oracle client 端的字符集以及导出数据中的dmp文件的字符集;

在做导出导入的时候,需要这三个字符集都一致才能正确安全的进行数据操作;

2.管理客户端的 NLS_LANG 的方法

windows 使用:

注册表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG

xx 指存在多个ORACLE_HOME 时系统编号。

修改,直接编辑注册表的内容;

unix 使用: (oracle用户)

$cd /opt/oracle

$env|grep NLS_LANG

NLS_LANG=AMERICAN_AMERICA.AL32UTF8

修改,直接编辑环境变量文件:

$vi .bash_profile

NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK

export NLS_LANG

$source .bash_profile

3.查看数据库当前字符集参数设置

select * from v$nls_parameters;

4.查看数据库可用字符集参数设置

select * from v$nls_valid_values;

5.管理数据库服务器的字符集

查询数据库服务器字符集

SQL> select * from nls_database_parameters;

修改数据库服务器字符集

SQL> startup nomount;

SQL> alter database mount exclusive;

SQL> alter system set nls_language = "SIMPLIFIED CHINESE" SCOPE=SPFILE;

SQL> alter system set nls_territory = "CHINA" SCOPE=SPFILE;

SQL> alter database character set ZHS16GBK;

SQL> alter database open;

[Q]怎么样查看数据库字符集

[A]

数据库服务器字符集 select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。

客户端字符集环境 select * from nls_instance_parameters,其来源于 v$parameter, 表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表

会话字符集环境 select * from nls_session_parameters ,其来源于 v$nls_parameters,表示会话自己的设置可能是会话的环境变量或者是 alter session 完成,如果会话没有特殊的设置,将与 nls_instance_parameters 一致。

客户端的字符集要求与服务器一致,才能正确显示数据库的非 Ascii 字符。

如果多个设置存在的时候,alter session 环境变量注册表参数文件 字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。

如字符集是zhs16gbk,则nls_lang 可以是American_America.zhs16gbk。

[Q]怎么样修改字符集

[A]8i 以上版本可以通过alter database 来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误。

startup nomount;

alter database mount exclusive;

alter system enable restricted session;

alter system set job_queue_processes=0;

alter database open;

alter database character set zhs16gbk;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值