《OCP培训资料使用全球化支持.ppt》由会员分享,可在线阅读,更多相关《OCP培训资料使用全球化支持.ppt(34页珍藏版)》请在三一办公上搜索。
1、使用全球化支持,课程目标,学完本课后,应能完成下列工作:确定满足业务需求的正确数据库字符集 获取全球化支持配置信息 为数据库和单独的会话自定义基于语言的行为 为查询指定不同的语言排序 在不区分大小写或重音的情况下,检索与搜索字符串匹配的数据,每个 DBA 必备的知识,什么是字符集?如何使用字符集?要避免的问题 选择字符集 获取字符集信息 指定基于语言的行为 使用语言搜索和排序 使用数据转换,什么是字符集,Oracle 数据库支持各种字符编码方案:单字节字符集 7 位 8 位 多字节字符集,包括 Unicode,字符集完整注释页,了解 Unicode,增补字符,AL40UTF8,AL16UTF1
2、6,63,EE,AA,9E,F0,9D,84,9E,64,C3,D0,A4,B6,t,d,0063,00E1,0074,A89E,D834,DD1E,0064,00F6,0424,c,C3,74,91,编码:使用字节序列表示字符,了解 Unicode 编码完整注释页,如何使用字符集,Oracle Net 将客户机上的 NLS_LANG 设置与服务器上的字符集进行比较。如果需要,会进行自动透明的转换。,要避免的问题,示例:不发生转换,因为好像没有必要。问题:在数据库中输入无效数据。,其它问题示例,选择字符集,综合考虑 选择满足当前和未来业务需求的正确字符集 指定字符集 在创建数据库之后更改字符集
3、,数据库字符集和国家字符集,获取字符集信息,SQL SELECT parameter,value 2 FROM nls_database_parameters 3 WHERE parameter LIKE%CHARACTERSET%;PARAMETER VALUE-NLS_CHARACTERSET WE8ISO8859P1 NLS_NCHAR_CHARACTERSET AL16UTF16 2 rows selected.,指定基于语言的行为,为会话指定基于语言的行为,使用 NLS_LANG 环境变量指定区域设置行为:语言 地区 字符集 设置其它 NLS 环境变量,以便:覆盖所有会话的数据库初始
4、化参数设置 自定义区域设置行为 更改 NLS 库文件的默认位置,NLS_LANG=FRENCH_CANADA.WE8ISO8859P1,基于语言和基于地区的参数,基于语言和基于地区的参数-完整注释页,ALTER SESSION SET NLS_DATE_FORMAT=DD.MM.YYYY;,DBMS_SESSION.SET_NLS(NLS_DATE_FORMAT,DD.MM.YYYY);,指定基于语言的行为,在 SQL 函数中使用 NLS 参数,SELECT TO_CHAR(hire_date,DD.Mon.YYYY,NLS_DATE_LANGUAGE=FRENCH)FROM employee
5、s WHERE hire_date 01-JAN-2000;,语言搜索和排序,排序顺序会受以下因素影响:区分大小写 变音符号或重音字符 被视为单个字符的字符组合 音标或字符外观 文化首选项,语言搜索和排序,三种类型的排序:二进制排序 根据编码字符的二进制值进行排序 单语语言排序 根据为字符分配的主要值和次要值排两遍序 多语语言排序 基于多语排序规则的 ISO 标准(ISO 14651)和 Unicode 3.2 标准 根据中文字符的笔画数、拼音或部首进行排序,使用语言搜索和排序,可以使用下列对象指定用于字符数据的排序类型:NLS_SORT 参数 从 NLS_LANG 环境变量得到的默认值(如果
6、设置的话)可以为会话、客户机或服务器指定 NLSSORT 函数 在查询级别定义排序方法,NLS 搜索和排序完整注释页,不区分大小写和重音的搜索和排序,指定语言名称:示例:为 WHERE 子句和 PL/SQL 块指定排序操作:对移植的数据库非常有用,NLS_SORT=_AI|_CI,NLS_SORT=FRENCH_M_AI,NLS_SORT=XGERMAN_CI,NLS_COMP=BINARY|ANSI,SQL 和函数支持的设置,下列 SQL 子句支持 NLS_SORT 和 NLS_COMP 设置:WHERE ORDER BY START WITH HAVING IN/NOT IN BETWEE
7、N CASE-WHEN NLSSORT()函数支持不区分大小写和重音的功能。,语言索引支持,对语言排序值创建索引。无需指定 ORDER BY 子句和 NLSSORT 即可快速查询数据:对 NLS_SORT 参数进行设置,使其与创建索引时要用于语言排序的语言定义相符。,CREATE INDEX list_word ON list(NLSSORT(word,NLS_SORT=French_M);SELECT word FROM list;,自定义语言搜索和排序,可以为下列对象自定义语言排序:可以忽略的字符 压缩或扩展字符 特殊组合字母或特殊字母 扩展字符或特殊字母 特殊的大小写字母 上下文相关的字
8、符 反向辅助排序 规范等同值,CLOB 和 NCLOB 之间的隐式转换,下列操作支持透明的隐式转换:查询和 DML 的 SQL IN 和 OUT 绑定变量 传递 PL/SQL 函数和过程参数 PL/SQL 变量赋值,使用 Oracle 实用程序进行 NLS 数据转换,如果使用不同的字符集,将数据从一个数据库中导出并导入另外一个数据库时,可能会执行多项数据转换。外部表使用服务器上的 NLS 设置确定数据字符集。SQL*Loader:常规路径:将数据转换成 NLS_LANG 指定的会话字符集。直接路径:使用客户端指令转换数据。,使用 Oracle 实用程序进行 NLS 数据转换完整注释页,使用数据
9、泵进行 NLS 数据转换,数据泵导出实用程序始终以与数据所来自的数据库相同的字符集保存数据。如果需要,数据泵导入实用程序会将数据转换成目标数据库的字符集。数据泵日志文件以 NLS_LANG 为启动数据泵的会话指定的语言进行编写。,全球化支持功能,语言支持 地区支持 字符集支持 语言排序 消息支持 日期和时间格式 数字格式 货币格式,法语 数据,日语 数据,小结,在本课中,您应该已经学会如何:确定满足业务需求的正确数据库字符集 获取全球化支持配置信息 为数据库和单独的会话自定义基于语言的行为 为查询指定不同的语言排序 在不区分大小写或重音的情况下,检索与搜索字符串匹配的数据,练习概览:使用全球化支持功能,本练习包含以下主题:查看数据库字符集和国家字符集 标识有效的 NLS 值 设置 NLS 参数,完整注释页,