友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
oracle从入门到精通(PDF格式)-第16部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
ALTER USER user_name DEFAULT ROLE all;
ALTER USER user_name DEFAULT ROLE all except role_name;除了这个角色其他的都授
予
ALTER USER user_name DEFAULT ROLE none;
启用和禁用:
禁用角色将从一个用户身上暂时移走角色;
第 77 页,共 106 页
…………………………………………………………Page 78……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
默认角色自动启用;
启用角色的时候可能需要口令;
启用角色暂时将角色授予用户;
set role role_name;
set role all except role_name;
set role all;
set role role_name1 identified by password;role_name2;role_name3;
5。移除角色;
从用户上移除角色需要 ADMIN OPTION 或者 GRANT ANY ROLE 权限;
revoke role_name from user_name;
6。删除角色;
从所有被授予的用户和角色上移除角色
从数据库中移除;
需要 ADMIN 或者 DROP ANY ROLE 权限;
DROP role role_name;
7。预定义角色:
connect;resource;dba 为了满足向后兼容性而保留
连接 资源 管理员
当授予 resource 角色给用户的时候,数据库自动把 unlimited tablespace 这个系统权限授
予用户;
exp_full_database 导出数据库权限
imp_full_database 导入数据库权限
delete_catalog_role 在数据字典上的删除权限
execute_catalog_role 在数据字典包上的 execute 权限 ?
select_catalog_role 在数据字典上的查询权限
8。查看:
session_roles 查看当先会话可用的角色;
dba_roles 所有存在于数据库的角色
dba_role_privs 授予用户或角色的角色
role_rol_privs 授予角色的角色
dba_sys_privs 授予用户和角色的系统权限
role_sys_privs 授予角色的系统权限
role_tab_privs 授予角色的对象权限
高权限身份用户的权限跟角色无关,它是靠身份得到权限的;
带口令的角色
27、使用全球化支持
全球化支持特性:
第 78 页,共 106 页
…………………………………………………………Page 79……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
语言支持
区域支持:地区支持,对不同地区的特定规则的支持
字符集支持
语言排序
信息支持
日期和时间格式
数字格式
货币格式
不同类型的编码方案:
单字节字符集:
7…bit 8…bit
变长多字节字符集
定长多字节字符集
Unicode(AL32UTF8;AL16UTF16;UTF8)
全球统一字符集:国际标准组织,能兼容大多数国家的字符集。
数据库字符集:VARCHAR VARCHAR2 CHAR
国家字符集: NVARCHAR、NVARCHAR2、NCHAR
设置服务器基于语言的行为:
基于数据库服务器设置
NLS_LANGUAGE SPECIFIES
信息的显示语言
天和月份的名称
A。D;B。C;A。M;P。M 的符号
默认的排序方式(二进制)
NLS_TERRITORY SPECIFIES
28、基本的ORA 网络服务器端配置
连接字符串:HOST:1521:SID
监听器:conn hr/hr@服务命名
服务命名:连接字符串的命名
服务端: 配置监听器 listener。ora
客户端: 1。tnsnames。ora 命名方法选择的配置文件(用什么方法来解析连接字符串)
2。sqlnet。ora
监听进程:
特点:监听多种网络协议;
单个监听器可以监听多个数据库的连接;
多个监听器可以监听单个数据库;
监听器是有名称的,在同一台主机上的监听器不能重名;
不管有几个监听器,都只有一个监听文件存储它们的内容。
配置监听器:
1。静态配置:
由于 8I 以前的版本;
需要配置 listener。ora;
第 79 页,共 106 页
…………………………………………………………Page 80……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
使用 OEM 连接数据库必须使用静态配置;
listener。ora 的默认设置:
listener name listener
port 1521
pro*—*
2。动态的服务注册:
不需要配置 listener。ora文件
监听器依赖于 PMON 进程
监听器处理连接的方法:
1。传递会话:(专用会话)
会话请求到监听器
监听器判断如果没有问题,监听器通知数据库
2。重定位会话:(多线程服务器:共享服务器)
预先生成调度器进程和服务进程放到监听器中
连接建立的时候服务进程才启用
服务名:是数据库对外的名称。
主机名称和 IP 地址会影响监听器。
共享服务器:共享连接/专用连接
专用服务器:专用连接
故障解决方法:
1。 检查物理连接 PING
2。 服务器端做本地连接
3。 lsnrctl status 检测监听器配置运行是否正常
4。 客户端执行 TNSPING (命令:TNSPING +主机字符串)服务器名,检测服务器命名是
否能连通
5。 检测 TNSNAMES。ORA 配置是否正常。
三、PL/SQL
pl/sql program language 是能够进行一定程度控制的程序语句。将 SQL 语句嵌入到 ORA 程序
语句中。
pl/sql developer4。1 pl/sql 开发工具
PRO*C ORA提供的 C 语言的编辑器
SQLJ ORA提供的 JAVA的编辑器
Declaring Variables
pl/sql 的存储程序单元:命名的 pl/sql 块,作为数据对象存储在数据字典中。
匿名的存储程序单元:临时的 pl/sql 语句,只对当前有效。
存储过程:一定执行某个操作,意味着数据或数据对象的改变。
函数:做计算,不能包含任何的数据操作,只能出现 SELECT 语句。
第 80 页,共 106 页
…………………………………………………………Page 81……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
包:逻辑上相关的一组存储过程和函数的集合体。
触发器:当事件发生,就会触发,仍然是用 pl/sql 语句。
结构:
1。DECLARE(可选)
定义标识符,标识符:变量,常量,游标
2。BEGIN:开始执行主体(必须)
SQL 语句
PL/SQL 语句
3。EXCEPTION(可选)
异常处理
4。END:结束执行主体(必须)
程序头定义:
1。 匿名块:
'declare'
begin
statements
。。。。
'exception'
end;
2。 存储过程:
PROCEDURE name
IS
begin
statements
。。。。
'exception'
end;
3。 函数:
FUNCTION name
RETURN data_type
IS
begin
statements
RETURN value
。。。。
'exception'
end;
1、创建PL/SQL 语句的过程:
选择开发环境
写程序
编辑(语句)
编辑(逻辑)
第 81 页,共 106 页
…………………………………………………………Page 82……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
执行
变量类型:
单值变量(Scalar)
BOOLEAN :true; false; null。
组合变量
大对象
参照变量
输出变量值:
1。建表输出;2。使用包输出;
可以使用替换变量或绑定变量。
1。绑定变量使用时: “: var_name”。
2。替换变量使用时:“&var_name”。
变量定义规则:
1。 命名规则;
2。 如果使用 NOT NULL 必须给变量或常量赋值;
3。 每行只能定义一个标识符;
4。 赋值操作符“:=”
5。 变量名称在同一块内不能重名;
6。 变量名称不要跟查询中的字段名称相同;
%type 属性(也是一种声明单值变量的方法)
已经声明好的属性
以字段名称或声明好的变量作为前缀。
保证变量的匹配关系。
显示变量输出命令
print var_name
在使用了 DBMS_OUTPUT。PUT_LINE()的时候,用 set serveroutput on。
例:
define manager_sal = 1000/var manager_sal =1000
declare
wc_sal employees。salary %type;
begin
select salary into wc_sal from employees where manager_id is null;
wc_sal:=wc_sal+&/:manager_sal;
dbms_output。put_line(wc_sal);
end;
书写正确的执行语句,每一条语句必须有分号。
在语句中:
不可以使用组函数和 DECODE 语句;
其他的字符函数和转换函数都可以使用;
CHR(ASCII)将 ASCII值转换成其对应的字符
赋值语句
第 82 页,共 106 页
…………………………………………………………Page 83……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
条件判断语句:可以有 NOT AND OR 来连接单行比较操作符(》;
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!