关闭

oracle 控制用户权限

319人阅读 评论(0) 收藏 举报

控制用户权限

一、权限:

(1)       数据库的安全性:

1)  系统安全性

2)  数据安全性

(2)       系统权限:对于数据库的权限

(3)       对象权限:操作数据库对象的权限

下面我们来详细了解一下系统权限:

(1)       超过一百多种有效的权限

(2)       数据库管理员具有高级权限以完成管理任务

例如:创建新用户,删除用户,删除表,备份表

二、创建用户

DBA使用create user语句创建用户

例如:create User user identified by password;

(1)       用户的系统权限:

用户创建之后,DBA会赋予一些系统权限

         语法:create privilege[,privilege…] to user[,user | role ,public…]

(2)       以应用程序开发者为例,一般具有下列系统权限:

a)         CREATE SESSION(创建会话)

b)         CREATE TABLE(创建表)

c)         CREATE SEQUENCE(创建序列)

d)         CREATE VIEW(创建视图)

e)         CREATE PROCEDURE(创建过程)

(3)       赋予系统权限:

DBA可以赋予用户特定的权限:

         语法:GRANT  create session, create table,

                   create sequence, create view  tO  scott;

三、角色

 

(1)       创建角色并赋予权限

1)  创建角色

CREATE ROLE manager;

Role created.

2)  为角色赋予权限

create table, create view                      

TO manager;

Grant succeeded.

3)  将角色赋予用户

GRANT manager TO DEHAAN, KOCHHAR;    

Grant succeeded.

四、修改密码

(1)       DBA可以创建用户和修改密码

(2)       用户本人可以使用alter user语句修改密码

ALTER USER scott                                     

IDENTIFIED BY lion;

User altered.

五、对象权限

(1)       不同的对象具有不同的对象权限

(2)       对象的拥有者拥有所有权限

(3)       对象的拥有者可以向外分配权限

1、  分配对象权限

(1)       分配表employees的查询权限

GRANT  select

ON     employees

TO     sue, rich;

Grant succeeded.

(2)       分配表中各个列的更新权限

GRANT  update (department_name, location_id)

ON     departments

TO     scott, manager

Grant succeeded.

2、  查询权限分配情况

数据字典视图                                                 描述

ROLE_SYS_PRIVS                                   角色拥有的系统权限

ROLE_TAB_PRIVS                                  角色拥有的对象权限

USER_ROLE_PRIVS                               用户拥有的角色

USER_TAB_PRIVS_MADE                    用户分配的关于表对象权限

USER_TAB_PRIVS_RECD                      用户拥有的关于表对象权限

USER_COL_PRIVS_MADE                    用户分配的关于列的对象权限

USER_COL_PRIVS_RECD                      用户拥有的关于列的对象权限

USER_SYS_PRIVS                                   用户拥有的系统权限

 

3、  收回对象权限

(1)       使用revoke语句收回权限

(2)       使用with grant option子句所分配的权限同样被收回。

REVOKE {privilege [, privilege...]|ALL}

ON            object

FROM   {user[, user...]|role|PUBLIC}

[CASCADE CONSTRAINTS];

 

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:163584次
    • 积分:2963
    • 等级:
    • 排名:第11844名
    • 原创:139篇
    • 转载:5篇
    • 译文:0篇
    • 评论:24条
    最新评论