oracle 数据库常用sql语句

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-21 09:11   29   0

1.用户管理

  • 创建用户,并设置密码
create user 用户名 identified by 密码;
  • 删除用户
drop user 用户名;
  • 修改口令
alter user 用户名 identified by "密码";
  • 用户加锁和解锁
--加锁
Alter user 用户名 account lock;

--解锁
Alter user 用户名 account unlock;
  • 用户授权
grant 权限名称1, 权限名称2, ... to 用户名1, 用户名2, 用户名3, ...;

角色种类:

何为角色:
  角色。角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。

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

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

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

建议:对于普通用户:授予connect, resource权限。
  对于DBA管理用户:授予connect,resource, dba权限。

--建立一个角色
create role role1;

--授权给角色
grant create any table,create procedure to role1;

--然后给某个用户授予某个角色,或者某种权限(这个用户就拥有了role1的所有权限)
grant role1 to user1;

--查看角色所包含的权限
select * from role_sys_privs;

--删除角色
drop role role1;

权限种类:

  • 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
  • 对象权限(实体权限):某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
  • 与权限,角色相关的视图

DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限

USER_SYS_PRIVS: 当前用户所拥有的系统权限

SESSION_PRIVS: 当前用户所拥有的全部权限

ROLE_SYS_PRIVS: 某个角色所拥有的系统权限

  • 注意: 要以SYS用户登陆查询这个视图,否则返回空.

ROLE_ROLE_PRIVS: 当前角色被赋予的角色

SESSION_ROLES: 当前用户被激活的角色

USER_ROLE_PRIVS: 当前用户被授予的角色

  • 另外还有针对表的访问权限的视图:

TABLE_PRIVILEGES

ALL_TAB_PRIVS

ROLE_TAB_PRIVS: 某个角色被赋予的相关表的权限

--查看某一用户所拥有的角色
select * from dba_role_privs where GRANTEE='用户名';

--查看某一用户所拥有系统权限
select * from dba_sys_privs where GRANTEE='用户名';

实体权限分类:select, update, insert, alter, index, delete, all //all包括所有权限

execute //执行存储过程权限

--给user02用户授予prouct表的实体权限
grant select, update, insert on product to user02;

--user02得到权限,并可以传递
grant select, update on product to user02 with grant option; 

实体权限回收:

Revoke select, update on product from user02;

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP