oracle用户常用权限,oracle常用用户权限

一、用户权限控制

1.创建用户

create user user_name identified by password

例如:

create user zhangsan identified by zhangsan;

2.删除用户

drop user zhangsan cascade;

//解锁用户

alter user scott account unlock

//改密码

alter user scott identified by 新密码

3.赋予权限

grant privilege to user;

例如:把建表 建序列 建视图的权限赋给zhangsan

grant create table, create sequence,create view to zhangsan;

//把connect角色和resource角色赋给zhangsan

//角色是一组权限的集合

grant connect,resource to zhangsan;

注意: 如果只是登陆oracle数据库的话 需要的权限是create session

//只能更新一列,只能是插入和更新可以控制到列

grant update(name) on mytable to lisi;

4.权限能够传递

4.1、系统权限的传递

超级管理员授予lisi修改任意表的管理权限:

SQL>grant alter any table to lisi with admin option;

授权成功。

查看lisi用户的系统权限:

SQL>select * from user_sys_privs;

lisi用户授予wangwu用户任意表的权限:

SQL>grant alter any table to wangwu with admin option;

授权成功。

查看wangwu用户的系统权限:

SQL>select * from user_sys_privs;

4.2、对象权限的传递(谁拥有谁授权)

用管理员创建一个表A:

SQL>create table A(id int);

表已创建。

把表A的查看权限授予给lisi:

SQL>grant select on A to lisi with grant option;

授权成功。

查看lisi用户的对象权限:

SQL>select * from user_tab_privs;

lisi用户把查看sys.A表的权限授予给wangwu用户:

SQL>grant select on sys.A to wangwu;

授权成功。

查看wangwu的对象权限:

SQL>select * from user_tab_privs;

让wangwu用户也有授予查看sys.A表的权限:

SQL>grant select on sys.A to wangwu with grant option;

授权成功。

查看wangwu的对象权限:

SQL>select * from user_tab_privs;

5.修改密码

alter user user_name identified by password;

例如:

alter user zhangsan identified by zhangsan123;

6.赋予某一个用户某种对象操作的权限

grant operator on object to user;

例如:

grant select

on t_user

to briup;

7.回收权限

revoke operator on object from user;

例如:

revoke select

on t_user

from briup;

8.角色的创建:

SQL> create role myrole;

角色已创建。

赋予角色创建表的权限

SQL> grant create table to myrole;

授权成功。

创建用户,用于将角色赋给用户

SQL> create user zhangsan identified by zhangsan;

用户已创建。

给角色创建会话的权限,也就是连接数据库的权限

SQL> grant create session to myrole;

授权成功。

将角色赋给用户,使得用户拥有角色的权限,这就像我们平时使用的sys一样,也是一个角色

SQL> grant myrole to zhangsan;

授权成功。

这样,张三用户就有了myrole角色所拥有的登录数据库的权限了

注意:在授权时,不能将unlimited tablespace 授予角色,角色是大家共用的

操作时没有drop table,但是有drop any table;

没有alter table,但是有alter any table

create table--可以给自己创建表

create any table----还可以给其他用户创建

例如:当前用户为wangwu,具有create any table ,并且lisi具有unlimited tablespace 权限

则可以这样创建表:create table lisi.A (id int);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值