Oracle 授予Synonym访问权限于其他用户,需要有源表的访问授权
2011-04-03 15:14
639 查看
前天在数据仓库建立同义词后,把同义词select权限授权给用户stg时,遇到了“ORA-01031: 权限不足”的问题。
让我觉得奇怪的是,该同义词所在的对象本来就是属于stg。 下面演示具体过程:
出现这个问题后,我把授权语句“grant select on stg.tmp_test to tar”加上了"with grant option"后,就可以了。
可见,Oracle对权限控制还是很严格的!本文出自 “做个IT人” 博客,请务必保留此出处http://tianyu1102.blog.51cto.com/1416913/534425
让我觉得奇怪的是,该同义词所在的对象本来就是属于stg。 下面演示具体过程:
sqlplus / as sysdba SQL> create user stg identified by stg default tablespace "TBSPACE0530"; 用户已创建。 SQL> grant connect, create table to stg; 授权成功。 SQL> alter user stg quota unlimited on "TBSPACE0530"; 用户已更改。 SQL> create user tar identified by tar ; 用户已创建。 SQL> grant connect to tar; 授权成功。
sqlplus stg/stg@tian SQL> create table stg.tmp_test(a number, b varchar2(20)); 表已创建。 SQL> grant select on stg.tmp_test to tar; 授权成功。
sqlplus tar/tar@tian SQL> create synonym tar.tmp_test for stg.tmp_test; 同义词已创建。 SQL> grant select on tar.tmp_test to stg; grant select on tmp_test to stg * 第 1 行出现错误: ORA-01031: 权限不足
出现这个问题后,我把授权语句“grant select on stg.tmp_test to tar”加上了"with grant option"后,就可以了。
sqlplus stg/stg@tian SQL> grant select on stg.tmp_test to tar with grant option; 授权成功。
sqlplus tar/tar@tian SQL> grant select on tar.tmp_test to stg; 授权成功。
sqlplus stg/stg@tian SQL> select * from tar.tmp_test; 未选定行
可见,Oracle对权限控制还是很严格的!本文出自 “做个IT人” 博客,请务必保留此出处http://tianyu1102.blog.51cto.com/1416913/534425
相关文章推荐
- Oracel给指定用户授予访问其他用户资源权限
- Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限
- oracle 建立一个视图,然后授权其他用户访问
- oracle 存储过程访问其他用户的表报权限没有
- 每天两道oracle笔试题+第四天:1、创建用户时,需要授予新用户什么权限方能使其连上数据库?2、备份如何分类?
- Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限集合
- Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限
- Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限集合
- oracle的用户授权问题:如何把一个用户的所有表的读写权限授予另一个用户
- Oracle创建一个用户并赋予其他用户表的访问权限
- oracle truncate 其他用户下的表需要的权限
- Oracle系列:(21)访问其他用户下的对象[授权]
- Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限集合
- oracle_用户只有访问其他用户视图的权限
- oracle 创建表空间、创建用户以及授权、查看权限
- oracle 给用户只访问指视图 或 表 的权限
- Oracle创建用户并给用户授权查询指定表或视图的权限
- ORACLE创建表空间、创建用户、更改用户默认表空间以及授权、查看权限(修改表空间大小)
- oracle 建立视图,创建用户并授予查询权限
- LINUX下的用户访问授权,文件权限