设为首页 收藏本站
查看: 918|回复: 0

[经验分享] Oracle字符集(总结)

[复制链接]

尚未签到

发表于 2018-9-9 07:18:34 | 显示全部楼层 |阅读模式
1、数据库字符集
  数据库字符集包括两个字符集:数据库字符集和国家字符集,都是在创建数据库的时候指定的。
1.1、查询当前数据库的字符集
  SYS@orcl>col value for a30
  SYS@orcl>select * from nls_database_parameters
  2   where parameter in('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
  PARAMETER                      VALUE
  ------------------------------ ------------------------------
  NLS_CHARACTERSET        UTF8
  NLS_NCHAR_CHARACTERSET                  AL16UTF16
  参数NLS_CHARACTERSET说明数据库字符集为UTF8,
  参数NLS_NCHAR_CHARACTERSET说明国家字符集为AL16UTF16
1.2、修改字符集
  在数据库的mount状态执行如下命令;
  alter database character set utf8;
  该命令不会对数据库内部的字符集进行转换,只是修改数据库中有关字符集的配置信息,因为如果是严格的超集,那么新的字符集对已有字符的编码是一样的,因些不需要改变。但是如果不是超集,则会报错,就只能以新的字符集重新创建数据库。
  Oracle提供了一个非公开的命令:
  alter database character set internal_convert
  该命令会绕开超子集的校验,而直接对字符集配置信息进行修改。
2、服务器端字符集
  在服务器端有关语言由初始化参数NLS_LANGUAGE来配置。
2.1、查询参数NLS_LANGUATE的值
  SYS@orcl>show parameter nls_language;
  NAME                                           TYPE       VALUE
  ------------------------------------ -----------------------------------------
  nls_language                                   string       AMERICAN
2.2、参数NLS_LANGUAGE决定两个参数的默认值
  SYS@orcl>show parameter nls_date_format;
  NAME                                           TYPE       VALUE
  ------------------------------------ -----------------------------------------
  nls_date_format                              string       YYYY-MM-DD HH24:MI:SS
  SYS@orcl>show parameter nls_sort
  NAME                                           TYPE       VALUE
  ------------------------------------ -----------------------------------------
  nls_sort                              string       BINARY
2.3、查询参数NLS_TERRITORY的值
  SYS@orcl>show parameter nls_territory;
  NAME                                           TYPE       VALUE
  ------------------------------------ -----------------------------------------
  nls_territory                                    string       AMERICA
2.4、查询数据字典v$nsl_valid_values的不同参数值
  SYS@orcl>select distinct parameter from v$nls_valid_values;
  PARAMETER
  ----------------------------------------------------------------
  CHARACTERSET
  SORT
  TERRITORY
  LANGUAGE
  通过输出知道数据字典v$nls_valid_values可以查询以下参数的可用值:
  CHARACTERSET(数据库字符集)
  SORT(排序方式)
  TERRITORY(区域)
  LANGUAGE(语言)
3、客户端字符集
3.1、介绍
  在客户端,通过设置环境变量来定义客户端的字符集。该环境变量为如下定义:
  NLS_LANG=_.
  1):用来显示Oracle消息、年月的名称(例如12月是应该显示“Dec”还是“12月”),以及默认的排序机制。对应服务器的初始化参数为NLS_LANGUAGE。
  2):用来显示默认的日期格式、数字格式,以及货币格式等,对应服务器的初始化参数为NLS_TERRITORY。
  3):客户端使用的字符集,对应服务器的初始化参数为NLS_CHARACTERSET。
3.2、具体操作
  (1)在操作系统提示符下,将NLS_LANG变量设置为american_america.utf8,并且调整默认的日期显示。
  在Windows系统中可以使用如下所示的命令:
  c:/>set NLS_LANG=american_america.utf8
  c:/>set NLS_DATE_FORMAT=Day dd Month yyyy
  或者在Unix系统中使用如下所示的命令:
  export NLS_LANG=american_america.utf8
  export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS '
  (2)在同一个操作系统会话中启动SQL*Plus,并且作为用户SYSTEM进行连接。
  (3)使用下面的命令显示当前的日期:
  select sysdate from dual;
3.3、查询oracleserver端的字符集
  SQL> select userenv('language') from dual;
  USERENV('LANGUAGE')
  ----------------------------------------------------
  SIMPLIFIED CHINESE_CHINA.UTF8
4、Oracle字符集相关查询
4.1、查询Oracle支持的语言
  SYS@orcl>select value from v$nls_valid_values whereparameter='LANGUAGE' ;
  VALUE
  ------------------------------
  AMERICAN
4.2、查询Oracle支持的地区
  SYS@orcl>select value from v$nls_valid_values whereparameter='TERRITORY';
  VALUE
  ------------------------------
  AMERICA
4.3、查询Oracle支持的数据库字符集
  SYS@orcl>select value from v$nls_valid_values whereparameter='CHARACTERSET';
4.4、数据库服务器字符集环境
  select * from nls_database_parameters
4.5、客户端字符集环境
  select * from nls_instance_parameters
4.6、会话字符集环境
  select* from nls_session_parameters


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-568402-1-1.html 上篇帖子: CentOS-6.7下安装Oracle11g 下篇帖子: 【读书笔记】oracle闪回技术
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表