2007年12月28日星期五

Oracle学习笔记20071227

管理角色
角色类似于部门,成员,某个部门需要有特殊的权限,而对应得员工就应该有相应的权限
对应语句
SQL>CREATE ROLE oe_clerk;
SQL>CREATE ROLE hr_clerk IDENTIFIED BY bonus;
SQL>CREATE ROLE hr_manager IDENTIFIED EXTERNALLY;

已经定义好的角色connect,resource,dba 这些权利提供了什么什么的协调性(backward compatibility)
exp_full_database 管理进入的database
imp_full_database 管理出去的database
delete_catalog_role delete权限角色
execute_catalog_role execute执行权限角色
select_catalog_role select权限角色

修改角色
SQL>ALTER ROLE oe_clerk IDENTIFIED BY order;
SQL>ALTER ROLE hr_clerk IDENTIFIED EXTERNALLY;
SQL>ALTER ROLE hr_manager NOT IDENTIFIED;


分配角色:
SQL>GRANT oe_clerk TO scott;
SQL>GRANT hr_clerk TO hr_manager;
SQL>GRANT hr_manager TO scott WITH ADMIN OPTION;


建立默认的角色:
SQL>ALTER USER scott DEFAULT ROLE hr_clerk, oe_clerk;
SQL>ALTER USER scott DEFAULT ROLE ALL;
SQL>ALTER USER scott DEFAULT ROLE ALL EXCEPT hr_clerk;
SQL>ALTER USER scott DEFAULT ROLE NONE;


运用角色(Application roles)
SQL>CREATE ROLE admin_role IDENTIFIED USING hr.employee;

admin_role就是一个应用角色,只能通过hr.employee里面定义的模块来启用

开启和关闭角色
SET ROLE选项开启和关闭角色

SQL>SET ROLE hr_clerk;
SQL>SET ROLE oe_clerk IDENTIFIED BY order;
SQL>SET ROLE ALL EXCEPT oe_clerk;

可以使用alter user ... default role来指定用户登录时的缺省角色
SQL>set role oe_clerk identified by order;
SQL>set role all except oe_clerk;

后面的命令只在所有的角色不需要密码时才可以
回收角色权限
SQL>REVOKE oe_clerk FROM scott;
SQL>REVOKE hr_manager FROM PUBLIC;

删除角色
SQL>DROP ROLE hr_manager;

和role有关的视图
DBA_ROLES,DBA_ROLE_PRIVS,ROLE_ROLE_PRIVS,DBA_SYS_PRIVS,ROLE_SYS_PRIVS,ROLE_TAB_PRIV,SSESSION_ROLES

全球支持Unicode 数据类型选择数据库字符集考虑事项数据库必须支持哪些语言?
有哪些互操作与系统资源和应用程序相关?对性能的要求如何?有哪些限制条件?尽管数据库可以维护和处理实际字符数据,但是您还必须依赖操作系统中的其它资源。
例如,操作系统提供与所选字符集相对应的字体。另外,支持所需语言和应用程序软件的输入法也必须与特定字符集保持一致。如果所选的字符集与操作系统中的可用字符集不同,Oracle 会将操作系统字符集转换为数据库字符集。但是,这样做会产生一些字符集转换开销,同时您应确保操作系统字符集中包含等价的全套字符,以避免可能出现的数据丢失情况。为了获得最佳性能,您应该尝试选择一个无需进行转换的字符集,并将对所需语言使用最有效的编码方案。单字节字符集在性能方面要优于多字节字符集,此外,在空间需求方面,该字符集也是最有效的。但是
,单字节字符集对所能使用的语言数目有所限制。
AL16UTF16 和 UTF8 这两种选择都适用于国家字符集。AL16UFT16 是宽度固定的双字节 Unicode 字符集。而 UTF8 是宽度可变的、一至三个字节的 Unicode 字符集。欧洲字符在 UTF8 中按一至两个字节存储,而在 AL16UTF16 中按两个字节存储,相比之下,前一种 选择可以节省空间。亚洲字符在 UTF8 中按三个字节存储,这样,所需的空间比在 AL16UTF16 中要多。要将多语言 BLOB 和 Oracle 文本一起使用,则必须使用 Unicode 数据库解决方案。初始化参数 NLS_LANGUAGE 定义语言相关惯例值,例如:Oracle 消息所使用的语言日期和月份名称及其缩写所使用的语言a.m.、p.m.、A.D. 和 B.C. 的等价语言所使用的符号缺省的字符数据排序顺序初始化参数 NLS_LANGUAGE 定义地域相关惯例值,其中包括:缺省日期格式十进制字符和组分隔符本地货币符号ISO 货币符号ISO 周数计算一周起始日当地域名包含空格时,如 The Netherlands,应该用双引号将地域名引起来,如 “The Netherlands”。
相关语言和地域的缺省值
NLS_LANGUAGE : AMERICANNLS_DATE_LANGUAGE : AMERICANNLS_SORT : BINARYNLS_TERRITORY :AMERICANLS_ISO_CURRENCY :AMERICANLS_DATA_FORMATE :
DD-MON-RR初始化参数
NLS_LANGUAGE 确定下列参数的缺省值:NLS_DATE_LANGUAGE:显式更改日期、月份名及其缩写和其它日期格式元素的拼写值所使用的语言。
NLS_SORT:更改 Oracle 服务器用于排序字符值的文字排序顺序(排序值必须是是文字排序顺序名。)NLS_CURRENCY:显式指定新的本地货币符号NLS_ISO_CURRENCY:显式指定应使用 ISO 货币符号的地域NLS_DATE_FORMAT:显式指定新的缺省日期格式(值必须是 日期格式模型。)NLS_NUMERIC_CHARACTERS:显式指定新的十进制字符和组分隔符1999 年 1 月 1 日,欧共体新货币-欧元首次亮相。为了支持这个新的欧共体货币,新增 了对特定国家
的双重货币支持。初始化参数 NLS_DUAL_CURRENCY 为用户会话设置一个代用货币符号。WE8ISO8859P15 和 MS 代码页 WE8MSWIN1252 等 ISO 字符集已指定了欧元符号的代 码点。NLS_LANG=_.只有在客户环境中才能设置下列变量:NLS_CREDITNLS_DEBITNLS_DISPLAYNLS_LANGNLS_LIST_SEPARATORNLS_MONETARY如果将环境变量 ORA_NLS33 设置为无效目录,则有可能仅能使用缺省字符集 US7ASCII 创建数据库。
在 UNIX 上,ORA_NLS33 应该设置为: $ORACLE_HOME/ocommon/nls/admin/data如果未设置 ORA_NLS33,这即是缺省设置。ALTER SESSION SET NLS_DATE_FORMAT=‘DD.MM.YYYY’;DBMS_SESSION.SET_NLS(‘NLS_DATE_FORMAT’, ’’’DD.MM.YYYY’’’) ;文字排序二进制排序是一种传统排序机制,它依据字符编码所用的二进制值对字母进行排序。对于不同的语言,字符在字母表里的位置可能有所不同。对于单语言排序,Oracle 在比较按单语言顺序排序的字符串时要执行两遍排序。第一遍排序是比较主表中
整个字符串的主值,第二遍排序是比较次表中的次值。通常,具有相同外观的字母的主值也相同。Oracle 根据音调符号和大小写的不同来区分主值相同而次值不同的字母。单语言排序要优于二进制排序,但仍存在限制。对于多语言排序,Oracle 提供了一种基于 ISO 标准 (ISO14651) 和 Unicode 3.0 标准的排序机制。这样,就可以对每种语言的每个编码字符进行正确地排序。
SQL> SELECT num, word, def2 FROM list3 ORDER BY NLSSORT
(word,'NLS_SORT=FRENCH_M');在 SQL 函数中使用 NLS 参数SQL 字符函数支持单字节和多字节字符。有些 SQL 函数需要将 NLS 参数显式指定为其参数列表的一部分。因此,SQL 函数可以覆盖环境所指定的
行为。
SQL>SELECT TO_CHAR(hire_date,’DD.Mon.YYYY’,‘NLS_DATE_LANGUAGE=FRENCH’)
FROM employees;
SQL>SELECT ename,
TO_CHAR(sal,’9G999D99’,‘NLS_NUMERIC_CHARACTERS=‘‘,.’’’) FROM emp;

函数 NLS 参数 TO_DATE NLS_DATE_LANGUAGE,NLS_CALENDARTO_NUMBER NLS_NUMERIC_CHARACTERS,NLS_CURRENCY,NLS_ISO_CURRENCYTO_CHAR NLS_DATE_LANGUAGE,NLS_NUMERIC_CHARACTERS,NLS_CURRENCYNLS_ISO_CURRENCYNLS_CALENDARNLS_UPPER, NLS_LOWER NLS_SORTNLS_INITCAP, NLSSORT 数字格式掩码元素:“D” 代表十进制分隔符“G” 代表组(千位)分隔符“L” 代表本地货币符号“C” 代表本地 ISO 货币符号“U” 代表欧元的双重货币符号日期格式掩码元素:“RM, rm” 代表罗马月份数字“IW” 代表 ISO 星期号“IYYY, IYY, IY,” 和 “I” 代表 ISO 年份函数型索引专门用于创建按文字排序的索引。SQL 函数 NLSSORT 以给定的文字排序顺序返回用于对第一个参数排序的字节串。通过本地排序获取高性能 CREATE INDEX list_word ON list (NLSSORT(word, ‘NLS_SORT = French_M’));NLS_COMP 是一个动态初始化参数,它用于控制 <、> 和 = 等比较运算符处理文字顺序的方式。当这个参数设置为 BINARY(缺省设置)时,将基于字符串的二进制值进行比较。当设置为 ANSI 时,比较运算符通过文字排序顺序来确定依据 NLS_SORT 会话参数执行的操作结果。在导入过程中,数据将从导出文件字符集转换成数据库 字符集。SQL*Loader:常规路径:将数据转换为 NLS_LANG 指定的会话字符集。直接路径:数据直接转换为数据库字符集
NLS_DATABASE_PARAMETERS:PARAMETER(NLS_CHARACTERSET, NLS_NCHAR_CHARACTERSET)VALUE
NLS_INSTANCE_PARAMETERS:PARAMETER(已显式设置的初始化参数)VALUENLS_SESSION_PARAMETERS:PARAMETER(会话参数)VALUEV$NLS_VALID_VALUES:PARAMETER (LANGUAGE, SORT, TERRITORY, CHARACTERSET)VALUEV$NLS_PARAMETERS:PARAMETER (NLS 会话参数,NLS_CHARACTERSET)VALUEV$NLS_VALID_VALUES 视图显示出 NLS 数据引导文件的内容。它返回一个随给定数据库版本一起提供的列
表,该列表包含所有字符集、语言、文字排序以及地域定义。该列表中可能还包含不受支持或内部使用的定义。其它视图可能包含有一个新列 CHARACTER_SET_NAME,用于显示字符集的名称:CHAR_CS 是数据库字符集的名称,NCHAR_CS 是国家字符集的名称。 字符集扫描程序扫描数据库,以确定字符集是否可以进行更改提供详细说明问题及解决方法的报表Oracle 区域设置构建器 (Oracle Locale Builder)易于使用图形界面用于查看、修改和创建区域设置定义字符集扫描程序是命令行实用程序,用于辅助字符集转换。扫描程序可以标识字符集转换和数据截断可能发生的区域、所需的工作量以及应该扩展的列的宽度。它提供可行性评估、报告潜在的移植问题、检查所有字符数据并生成数据库扫描摘要。在转换任意字符集前,都应该使用字符集扫描程序。Oracle9i 服务器提供了一组完整的区域设置定义,包括语言、地域、字符集和文字排序。如果需要对任何现有的区域设置定义进行自定义,或者创建新的区域设置定义,则可以使用新增的 Oracle 区域设置构建器 (Oracle Locale Builder),它提供了一种简单易用的图形用户界面,使您可以轻松地查看、自定义和定义各种区域设置。

上面的中文是完全从网络上抄下来的,因为队伍GOBAL设定来说,更多的是时间设定,所以暂时没有这方面的需要。而且似乎目前以上的中文在排版方面字有点看不清楚,而具体的链接我放在study link上来哦,名字是OCP

下面开始Database Administration Fundamentals II-二合一的学习
第一章网络网络所遇到的挑战控制网络环境,维护网络(maintaining the network),协调,排难,监控网络,9i的网络解决方案联系,直接服务器,安全,可接近的,可攀登的
连接性:Oracle Net Services
与协议无关
支持多种平台集成的
GUI 管理工具
多种配置选项
跟踪和诊断工具集
基本安全性

-------------------------------分割线----------------------------------------


《投名状》——领悟10条人生哲理
1、对兄弟,忠诚要有个度。过了度,被杀了都不知道是咋死的。
2、从一无所有到腰缠万贯或权倾一时是展现你权衡上下关系的时候。
3、后台没人,你在前台再风光也只是一时的。
4、赢得了天下输了她的事情无处不在。
5、人总以为眼前平坦便高枕无忧,可在我们后边永远是未知。
6、患难之交随着身份和地位的改变,这份交情早已变质,守着那份承诺,你能落得可怜。
7、你可以用实力来证明自己的与众不同,但美好的结局却未必是你所能享受得了的。
8、你无论何时都要谦虚地向前辈取经,尽管你可能一点都不喜欢他们,但他们的一言一行足够让你从天堂到地狱。
9、如果你连兄弟与女人都不知道该如何取舍,就说明你不配做大哥。
10、一条汉子,说过的话不可不算

言简意赅

没有评论: