oracle同一个库上面,不同用户相互赋予权限

背景:现有一个用户,需添加一个用户

  1. 创建用户
  2. 使用新用户登录
出现报错信息:ora-01045 :user system lacks create session privilege; logon denied

使用系统用户登录后,用如下sql语句给出错用户赋权限
grant create session to UserName;(UserName是登录出错的用户名)
  1. 为新用户建表

相互赋值权限用法:
两个用户:user1user2,都是在库 TEST 上,分别有表 user1.table1user2.table2
但是用 user1 登录的时候,user2 上表就不能用,此时就可以使用grant命令

GRANT privilege [, ...] ON object [, ...]    TO  { PUBLIC | GROUP group | username }

举例:

  1. 不同用户下表的赋权
    user1 用户操作 user2 用户的 table2
grant insert,update,delete on user2.表名 to user1;

grant insert,update,delete on user2.table2 to user1;
//在user1下,select * from user2.table2
  1. 不同用户下序列的赋权
grant select , alter on user2.序列名 to user1;

grant select , alter on user2.seq_table2 to user1;
  1. 不同用户下的函数赋权
grant execute on 函数名 to 其它用户

grant execute on AHSIMIS_QUERY.wsbs_pk_date_validate to ahsicp3
  1. 不通用户下包的赋权
grant execute on 包名 to 其他用户;

grant execute on ahsimis_query.pkg_pan_公众服务平台接口 to ahsicp3

进阶:不同库

命令格式

grant 权限 on 数据库名.表名 to 用户名@登陆方式 identified by 'password1';

回收授于用户的权限
命令格式

revoke 权限 on 数据库名.表名 from 用户名@登陆方式;

查看权限:
Oracle中数据字典视图分为3大类,用前缀区别,分别为:USER,ALL 和 DBA,许多数据字典视图包含相似的信息。

USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息

ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息

DBA_*:有关整个数据库中对象的信息

(这里的*可以为TABLES,INDEXES,OBJECTS,USERS等。)

  1. 查看所有用户
select * from dba_user;

select * from all_users;

select * from user_users;
  1. 查看用户系统权限
select * from dba_sys_privs;

select * from all_sys_privs;

select * from user_sys_privs;
  1. 查看用户对象权限
select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;
  1. 查看所有角色
select * from dba_roles;
  1. 查看用户所拥有的角色
select * from dba_role_privs;

select * from user_role_privs;
  1. 查看当前用户的缺省表空间
select username,default_tablespace from user_users;
  1. 查看某个角色的具体权限
grant connect,resource,create session,create view to TEST;
  1. 查看RESOURCE具有那些权限,
select * from DBA_SYS_PRIVS where grantee='RESOURCE';
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值