[Oracle 学习笔记] 07 DCL
2012-12-08 11:39
465 查看
DCL(Data Control Language)数据控制语言,用户对某类数据具有何种操作权限是有DBA决定。Oracle通过数据控制语言的GRANT语句完成权限授予操作,REVAKE 语句完成权限收回操作,权限的结果存入Oracle的数据字典中。 权限分为两类: 系统权限和对象权限
系统权限
是在数据库中执行某种特定操作的权利,系统权限并不针对某个特定的对象,而是针对整个数据库范围。常用的系统权限有:
CREATE SESSION 连接到数据库上
CREATE SEQUENCE 创建序列,序列是一系列数字,通常用来自动填充主键列
CREATE SYNONYM 创建同名对象
CREATE TABLE 创建表
CREATE ANY TABLE 在任何模式中创建表
DROP TABLE 删除表
DROP ANY TABLE 删除任何模式中的表
CREATE PROCEDURE 创建存储过程
EXECUTE ANY PROCEDURE 执行任何模式中的存储过程
CREATE USER 创建用户
DROP USER 删除用户
CREATE VIEW 创建视
对象权限
是针对特定的模式对象执行操作的权利,只能针对模式对象来设置和管理对象全新啊,这些对象包括 表、 视图、 存储过程 等常用的对象权限有:
SELECT 允许执行查询操作
INSERT 允许执行插入操作
UPDATE 允许执行修改操作
DELETE 允许执行删除操作
EXECUTE 语序执行存储过程
用户
CREATE USER user_name IDENTIFIED BY password [DEFAULT TABLESPACE tabspace_name] [TEMPORARY TABLESPACE tabspace_name];
SQL> CONNECT system/1234
SQL> CREATE USER wang IDENTIFIED BY office;
因为用户wang还没有得到连接权限 所以使用wang登陆会出现错误
SQL> CONNECT wang/office
ERROR: ORA-01045: user WANG lacks CREAT SESSION privilege; logon denied
权限控制
SQL> GRANT CREATE SESSION, CREATE USER, CREATE TABLE TO wang;
将CREATE SESSION 和 EXECUTE ANY PROCEDURE 授予所有用户
SQL> GRANT CREATE SESSION, EXECUTE ANY PROCEDURE TO PUBLIC;
回收权限
REVOKE system_privileges FROM user_name;
SQL> REVOKE CREATE TABLE FROM wang;
查看权限
查看数据字典中的user_sys_privs 系统权限 user_tab_privs_recd 对象权限
SQL> SELECT * FROM user_sys_privs;
系统权限
是在数据库中执行某种特定操作的权利,系统权限并不针对某个特定的对象,而是针对整个数据库范围。常用的系统权限有:
CREATE SESSION 连接到数据库上
CREATE SEQUENCE 创建序列,序列是一系列数字,通常用来自动填充主键列
CREATE SYNONYM 创建同名对象
CREATE TABLE 创建表
CREATE ANY TABLE 在任何模式中创建表
DROP TABLE 删除表
DROP ANY TABLE 删除任何模式中的表
CREATE PROCEDURE 创建存储过程
EXECUTE ANY PROCEDURE 执行任何模式中的存储过程
CREATE USER 创建用户
DROP USER 删除用户
CREATE VIEW 创建视
对象权限
是针对特定的模式对象执行操作的权利,只能针对模式对象来设置和管理对象全新啊,这些对象包括 表、 视图、 存储过程 等常用的对象权限有:
SELECT 允许执行查询操作
INSERT 允许执行插入操作
UPDATE 允许执行修改操作
DELETE 允许执行删除操作
EXECUTE 语序执行存储过程
用户
CREATE USER user_name IDENTIFIED BY password [DEFAULT TABLESPACE tabspace_name] [TEMPORARY TABLESPACE tabspace_name];
SQL> CONNECT system/1234
SQL> CREATE USER wang IDENTIFIED BY office;
因为用户wang还没有得到连接权限 所以使用wang登陆会出现错误
SQL> CONNECT wang/office
ERROR: ORA-01045: user WANG lacks CREAT SESSION privilege; logon denied
权限控制
SQL> GRANT CREATE SESSION, CREATE USER, CREATE TABLE TO wang;
将CREATE SESSION 和 EXECUTE ANY PROCEDURE 授予所有用户
SQL> GRANT CREATE SESSION, EXECUTE ANY PROCEDURE TO PUBLIC;
回收权限
REVOKE system_privileges FROM user_name;
SQL> REVOKE CREATE TABLE FROM wang;
查看权限
查看数据字典中的user_sys_privs 系统权限 user_tab_privs_recd 对象权限
SQL> SELECT * FROM user_sys_privs;
相关文章推荐
- windows phone7 学习笔记07——系统托盘和应用程序栏
- Oracle 学习笔记6 —— 权限管理1
- oracle的学习笔记(1)(重新新建数据库)
- 我的Java学习笔记1——java执行Oracle的sql语句时报错ORA-00911无效字符错误
- Oracle 学习笔记1 基本dos 命令
- Oracle 11g学习笔记1
- oracle 学习笔记(一)
- Oracle学习笔记 -- day05 多表查询、连接查询、子查询、分页、行转列、集合运算
- Oracle 存储过程和存储函数学习笔记
- iOS学习笔记07-运动事件和远程控制
- Oracle 学习笔记 15 -- PL/SQL基本语法、流程控制
- Oracle编程艺术学习笔记(1)
- 36.Oracle深度学习笔记——SLOB 工具使用
- oracle 学习笔记2011-3-31
- [学习笔记] ORACLE 游标提取值与表内列名相同引发的问题
- oracle 学习笔记
- Oracle 学习笔记 14 -- 集合操作和高级子查询
- 笔记:ORACLE数据库基础学习 第一天
- UE4学习笔记_07
- Oracle 学习笔记 11 -- 视图 (VIEW)