DBA管理:使用全球化支持_第1页
DBA管理:使用全球化支持_第2页
DBA管理:使用全球化支持_第3页
DBA管理:使用全球化支持_第4页
DBA管理:使用全球化支持_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用全球化支持

课程目标学完本课后,应能完成下列工作:确定满足业务需求的正确数据库字符集获取全球化支持配置信息为数据库和单独的会话自定义基于语言的行为为查询指定不同的语言排序在不区分大小写或重音的情况下,检索与搜索字符串匹配的数据每个DBA必备的知识什么是字符集?如何使用字符集?要避免的问题选择字符集获取字符集信息指定基于语言的行为使用语言搜索和排序使用数据转换什么是字符集Oracle数据库支持各种字符编码方案:单字节字符集7位8位多字节字符集,包括Unicode字符集完整注释页了解Unicode

增补字符

AL40UTF8

AL16UTF16

63EEAA9EF09D849E64C3D0A4B6átdö006300E10074A89ED834DD1E006400F60424cC37491编码:使用字节序列表示字符

了解Unicode编码完整注释页如何使用字符集OracleNet将客户机上的NLS_LANG

设置与服务器上的字符集进行比较。如果需要,会进行自动透明的转换。客户机OracleNetNLS_LANG服务器要避免的问题示例:

不发生转换,因为好像没有必要。问题:在数据库中输入无效数据。服务器

数据库字符集:

AL32UTF8

客户机

Windows英文版

码页:WE8MSWIN1252

NLS_LANG:AL32UTF8

OracleNet

其它问题示例

CREATEDATABASE...

CHARACTERSETUS7ASCIINATIONALCHARACTERSET

UTF8...

%exportNLS_LANG=SIMPLIFIEDCHINESE_HONGKONG.US7ASCII

选择字符集综合考虑选择满足当前和未来业务需求的正确字符集指定字符集在创建数据库之后更改字符集数据库字符集和国家字符集

可以使用AL16UTF16

或UTF8

存储Unicode

可以存储宽度不同的字符集

存储类型为NCHAR、NVARCHAR2

或NCLOB

的数据列

存储类型为CHAR、VARCHAR2、CLOB

或LONG

的数据列

可以交换只有重新创建时才能更改,但是少数情况除外

创建时定义

创建时定义

国家字符集

数据库字符集

获取字符集信息SQL>SELECTparameter,value

2FROMnls_database_parameters

3WHEREparameterLIKE'%CHARACTERSET%';

PARAMETERVALUE

----------------------- -------------

NLS_CHARACTERSET WE8ISO8859P1

NLS_NCHAR_CHARACTERSET AL16UTF16

2rowsselected.

指定基于语言的行为SELECTsysdateFROMdual;

数据库服务器的初始化参数

客户机的环境变量

ALTERSESSION

命令

SQL函数

为会话指定基于语言的行为使用NLS_LANG

环境变量指定区域设置行为:语言地区字符集

设置其它NLS环境变量,以便:覆盖所有会话的数据库初始化参数设置自定义区域设置行为更改NLS库文件的默认位置NLS_LANG=FRENCH_CANADA.WE8ISO8859P1

基于语言和基于地区的参数参数

NLS_LANGUAGE

NLS_DATE_LANGUAGE

NLS_SORT

默认值

AMERICAN

AMERICAN

BINARY

AMERICA

$

$

AMERICA

DD-MON-RR

.,

DD-MON-RRHH.MI.SSXFFAM

DD-MON-RRHH.MI.SSXFFAMTZR

NLS_TERRITORY

NLS_CURRENCY

NLS_DUAL_CURRENCY

NLS_ISO_CURRENCY

NLS_DATE_FORMAT

NLS_NUMERIC_CHARACTERS

NLS_TIMESTAMP_FORMAT

NLS_TIMESTAMP_TZ_FORMAT

基于语言和基于地区的参数-完整注释页ALTERSESSIONSETNLS_DATE_FORMAT='DD.MM.YYYY';

DBMS_SESSION.SET_NLS('NLS_DATE_FORMAT','''DD.MM.YYYY''');

指定基于语言的行为在SQL函数中使用NLS参数

SELECTTO_CHAR(hire_date,'DD.Mon.YYYY',

'NLS_DATE_LANGUAGE=FRENCH')

FROMemployees

WHEREhire_date>'01-JAN-2000';

语言搜索和排序排序顺序会受以下因素影响:区分大小写变音符号或重音字符被视为单个字符的字符组合音标或字符外观文化首选项语言搜索和排序三种类型的排序:二进制排序根据编码字符的二进制值进行排序单语语言排序根据为字符分配的主要值和次要值排两遍序多语语言排序基于多语排序规则的ISO标准(ISO14651)和Unicode3.2标准根据中文字符的笔画数、拼音或部首进行排序使用语言搜索和排序可以使用下列对象指定用于字符数据的排序类型:NLS_SORT

参数从NLS_LANG

环境变量得到的默认值(如果设置的话)可以为会话、客户机或服务器指定NLSSORT

函数 在查询级别定义排序方法NLS搜索和排序完整注释页不区分大小写和重音的搜索和排序指定语言名称:

示例:

为WHERE

子句和PL/SQL块指定排序操作:

对移植的数据库非常有用NLS_SORT=<NLS_sort_name>[_AI|_CI]

NLS_SORT=FRENCH_M_AI

NLS_SORT=XGERMAN_CI

NLS_COMP=BINARY|ANSI

SQL和函数支持的设置下列SQL子句支持NLS_SORT

和NLS_COMP

设置:WHEREORDERBYSTARTWITHHAVINGIN/NOTINBETWEENCASE-WHEN

NLSSORT()函数支持不区分大小写和重音的功能。语言索引支持对语言排序值创建索引。无需指定ORDERBY

子句和NLSSORT

即可快速查询数据:

对NLS_SORT

参数进行设置,使其与创建索引时要用于语言排序的语言定义相符。CREATEINDEXlist_wordON

list(NLSSORT(word,'NLS_SORT=French_M'));

SELECTwordFROMlist;

自定义语言搜索和排序可以为下列对象自定义语言排序:可以忽略的字符压缩或扩展字符特殊组合字母或特殊字母扩展字符或特殊字母特殊的大小写字母上下文相关的字符反向辅助排序规范等同值CLOB

和NCLOB

之间的隐式转换下列操作支持透明的隐式转换:查询和DML的SQLIN

和OUT

绑定变量传递PL/SQL函数和过程参数PL/SQL变量赋值使用Oracle实用程序进行NLS数据转换如果使用不同的字符集,将数据从一个数据库中导出并导入另外一个数据库时,可能会执行多项数据转换。外部表使用服务器上的NLS设置确定数据字符集。SQL*Loader:常规路径:将数据转换成NLS_LANG

指定的会话字符集。直接路径:使用客户端指令转换数据。使用Oracle实用程序进行NLS数据转换

完整注释页使用数据泵进行NLS数据转换数据泵导出实用程序始终以与数据所来自的数据库相同的字符集保存数据。如果需要,数据泵导入实用程序会将数据转换成目标数据库的字符集。数据泵日志文件以NLS_LANG

为启动数据泵的会话指定的语言进行编写。全球化支持功能

语言支持

地区支持

字符集支持

语言排序

消息支持

日期和时间格式

数字格式

货币格式

法语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论