社区
基础和管理
帖子详情
oracle 用户授权问题,提示授权成功,但是还是访问不到表
WYhack
2012-07-28 03:52:13
用system账号创建A用户,然后用A用户创建表(N个)
用system账号创建B用户,然后授权A的一个表的查询权限给B,提示授权成功,没有报错也没有警告
但是用B连接数据库之后还是查询不到这个表(提示表或者视图不存在)
这是怎么回事呢?
分割广告线
————————————————————————————————————————————
...全文
7122
11
打赏
收藏
oracle 用户授权问题,提示授权成功,但是还是访问不到表
用system账号创建A用户,然后用A用户创建表(N个) 用system账号创建B用户,然后授权A的一个表的查询权限给B,提示授权成功,没有报错也没有警告 但是用B连接数据库之后还是查询不到这个表(提示表或者视图不存在) 这是怎么回事呢? 分割广告线 ————————————————————————————————————————————
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pengpeng409
2012-08-17
打赏
举报
回复
6
用b用户查询A用户创建的表时要加上b用户才可以查询。。。。
select * from a.表名
NEAR
2012-08-15
打赏
举报
回复
1
Database、User、Schema、Tables、Col、Row等之间的关系
“可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了。
然后床上可以放置很多物品,就好比Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人(所以Schema包含的是Object,而不是User)。
其实User是对应与数据库的(即User是每个对应数据库的主人),既然有操作数据库(仓库)的权利,就肯定有操作数据库中每个Schema(房间)的权利,就是说每个数据库映射的User有每个Schema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的(包括房间),他有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间。还可以给User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了”
loveofmylife
2012-07-30
打赏
举报
回复
只能从user_table中读取到所有的表明,然后grant对象权限
或者直接sys用户grant一个select any tables的权限,不过这样B用户不止能访问A,其他任何用户的表都能访问了
好好吃的面包
2012-07-30
打赏
举报
回复
一个表的读写权限批量的授权给另外一个用户是什么意思?
一个表的读写权限就是insert,update,delete,你的意思是想把这个表上面包含的所有权限都给授权给另外一个用户吗?
人生无悔
2012-07-28
打赏
举报
回复
应该没有的吧,没听说过,借用下网上的
select 'grant select,insert,update,delete on A.' || table_name || ' to B;' from
user_tables;
用spool命令保存执行结果,然后将执行结果copy至sqlpplus执行就可以了
WYhack
2012-07-28
打赏
举报
回复
我的意思是批量的授权?
把一个表的读写权限批量授权给另一个用户。
人生无悔
2012-07-28
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
引用 1 楼 的回复:
要用A.表名进行查询,因此表属于A不属于B的
或者你定义同义词才可不加owner(A)进行查询
非常感谢,另问:如何对连接账号(非owner授权Owner表的增删查改权限),是用sql生成授权的脚本再执行吗?
[/Quote]
grant select,insert,update,delete on A.表名 to B;
WYhack
2012-07-28
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
还要在B用户建立A用户表的同义词
或者select * from A.表名;
[/Quote]
也非常感谢你,我是oracle新手,还望不惜赐教
WYhack
2012-07-28
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
要用A.表名进行查询,因此表属于A不属于B的
或者你定义同义词才可不加owner(A)进行查询
[/Quote]
非常感谢,另问:如何对连接账号(非owner授权Owner表的增删查改权限),是用sql生成授权的脚本再执行吗?
小德
2012-07-28
打赏
举报
回复
还要在B用户建立A用户表的同义词
或者select * from A.表名;
人生无悔
2012-07-28
打赏
举报
回复
要用A.表名进行查询,因此表属于A不属于B的
或者你定义同义词才可不加owner(A)进行查询
oracle
用户
授权
访问
其他
用户
的
表
,
Oracle
授权
A
用户
查询B
用户
的所有
表
本文介绍了在
Oracle
数据库中实现
用户
userA
访问
用户
scott所有
表
的三种方式及其优缺点对比,包括直接授予selectanytable权限、逐个
表
授权
及通过游标批量
授权
的方法。
Oracle
授权
A
用户
查询B
用户
的所有
表
本文探讨了在
Oracle
数据库中,如何通过不同方式
授权
用户
访问
特定
用户
的
表
。介绍了直接
授权
、批量
授权
及使用角色和游标的
授权
策略,分析了各自的优缺点。
Oracle
创建
用户
、角色、
授权
、建
表
本文详细介绍了
Oracle
数据库中如何创建和管理
用户
,包括创建、更改和删除
用户
,以及如何
授权
和撤销角色。重点阐述了connect、resource和dba这三种标准角色的权限差异,并提供了创建、
授权
和删除自定义角色的步骤。此外,还讨论了对象权限与系统权限的概念,帮助理解
Oracle
的权限系统。
【
Oracle
】如何让一个
用户
能够
访问
另外一个
用户
下所有的
表
本文探讨了
Oracle
数据库中不同
用户
间的权限授予方法,包括直接
授权
、使用SELECT ANY TABLE权限及通过触发器实现自动
授权
。介绍了如何解决触发器在系统级事件中执行DDL操作的限制,以及使用自治事务和存储过程结合触发器实现新
表
自动
授权
的方案。
基础和管理
17,377
社区成员
95,112
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章