oracle创建删除用户示例分享(oracle删除用户命令及授权)

时间:2022-04-30 02:47:49

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两个角色给他