Oracle用户的新增、修改、删除及授权

来源:互联网 发布:淘宝 营销热词 编辑:程序博客网 时间:2024/06/04 17:44
1、Oracle用户新增
create user lisi identified by lisi;

注:create user是创建数据库用户,后面跟用户名称,identified by是设置用户密码

2、把“连接”数据库权限授给新增用户lisi
grant connect to lisi;

注:grant:Oracle数据库授权的关键字
   connect:Oracle数据库的一个默认角色,只有连接上数据库的权限

3、把scott用户的表授权给lisi用户
grant select on emp to lisi;

pl/sql中的问题:动态执行表不可访问,本回话的自动统计被禁止。在执行菜单里你可以禁止统计,或在v$session,v$sesstat和v$statname表里获得选择权限
解决方案:grant select on v_$session to 用户名;
               grant select on v_$sesstat to 用户名;
               grant select on v_$statname to 用户名;

4、回收用户权限
revoke select on emp from lisi;

5、用户密码修改
用lisi账号登录
alter  user lisi identified by 密码;

6、用户删除
drop user 用户名;
或者drop user 用户名 cascade;(这将会删除与用户相关联的表)

7、数据库的权限和角色
①查看数据库用户有哪些权限
select * from session_privs;
注:session_privs是Oracle数据库的字典表,字典表其实就是Oracle的内部表(不用创建就已经存在了)。这个表可以看到很多权限,如创建表等。

②查看数据库用户本身拥有的角色
select * from user_role_privs;

③查看connect角色有哪些权限(DBA才能执行)
select * from dba_sys_privs where grantee='CONNECT';

注:数据库的权限、角色很多,由于精力有限,只需记住3个角色就行,即CONNECT、RESOURCE、DBA角色
     给开发人员创建数据库时,应同时授权connect、resource两个角色给他

CONNECT,RESOURCE,DBA是ORACLE系统的三个内置角色,角色权限如下:

CONNECT:拥有Connect权限的用户只可以登录ORACLE,不可以创建实体,不可以创建数据库结构。

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

一般来说,对于普通用户,授予CONNECT, RESOURCE权限。 对于管理员用户,则授予CONNECT,RESOURCE, DBA权限。

授予角色的语法:

?
1
grant<object/system privilege> to<role name>;

查看所有角色具有的权限个数:

?
1
selectrole, count(*)fromrole_sys_privs groupby role;

查看某个角色(如RESOURCE)具有的权限:

?
1
selectgrantee,privilege fromdba_sys_privs wheregrantee='RESOURCE'order by privilege;

0 0