oracle授权后的表如何查询,oracle用户授权访问其他用户的表
oracle中怎样把一个用户的所有table的select权限授给另外一个用户
1、双击桌面sqldeveloper软件图标启动软件。
坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都白乌鱼小微创业公司专业提供企业网站制作营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。
2、新建数据库连接,填写登录数据库信息并选择相应角色进行登录。
3、登录成功后先查询出hr用户下所有的表名,可直接通过dba_tables来进行查询。
4、把查询权限赋给测试用户的方法有两种,一种为当用户下的表比较少的情况下可以直接通过grant select/delete/update on hr.table-name to cem。
5、授权成功后使用测试用户进行登录即可对授权过查询权限的表进行访问。
oracle 用户授权问题,提示授权成功,但是还是访问不到表
肯定是操作的问题,我以前也遇到过,看看下面这个步骤,你有没有缺失的地方
日常开发中我们通用的权限管理方法
当用户B建了关于用户A的表的视图,然后B用户又将视图查询权限授予C用户,那么C用户必须拥有A用户表的查询权限,否则这个B用户将视图查询权限授予C用户的时候,会出现授权失败的现象。
案例:CRC_028_FREIGHT_COLLECT_V(在apps下创建)的查询条件给CUX用户,执行下面的操作
(1)所以可以使用CUX用户或system用户给apps用户赋予cux.CRC_028_TRANS_RULES 查询条件
grant select on cux.CRC_028_TRANS_RULES to apps with grant option
(2)然后把视图:CRC_028_FREIGHT_COLLECT_V (apps下创建)的查询权限给cux用户
grant select on apps.CRC_028_FREIGHT_COLLECT_V to cux with grant option
(加上with grant option 之后cux用户可以把查询权限赋予其他的用户)
(3)在cux模式下访问视图的时候加上apps,也可以在cux用户创建对应的同义词:
CREATE SYNONYM CUX.CRC_028_FREIGHT_COLLECT_V FOR APPS.CRC_028_FREIGHT_COLLECT_V
以后在CUX用户下访问就不要加APPS了
oracle赋予表查询权限后,查询却显示表或视图不存在
需求如下:创建一个新用户abc,给一张表TT1的访问权限给他。只给这一张表,并且是查询权限,不能再有其他权限。
首先创新新用户abc,然后再给予表TT1的查询权限。
使用grant select on tt1 to abc,执行成功后发现。
登陆新用户abc,提示错误ora-00942: 表或视图不存在。
查看后发现执行查询的格式不正确。
select * from tt1正确的格式应该是使用建表用户名.表名来查询。如下:
select * from scott.tt1;
那如果要不带建表用户名,需要先建同义词。
create public synonym tt1 for scott.tt1;执行成功后,再到abc用户里执行select * from tt1就可以了
问题完美解决。
________________END______________
分享标题:oracle授权后的表如何查询,oracle用户授权访问其他用户的表
URL分享:http://ybzwz.com/article/dsisgei.html