社区
基础和管理
帖子详情
oracle 用户授权问题,提示授权成功,但是还是访问不到表
WYhack
2012-07-28 03:52:13
用system账号创建A用户,然后用A用户创建表(N个)
用system账号创建B用户,然后授权A的一个表的查询权限给B,提示授权成功,没有报错也没有警告
但是用B连接数据库之后还是查询不到这个表(提示表或者视图不存在)
这是怎么回事呢?
分割广告线
————————————————————————————————————————————
...全文
5259
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
表
或视图不存在,其实是需要
用户
授权
明明
表
存在,但是查询,报错找不
不到
。 那一定是跨
用户
使用,并且没有
授权
授权
语句 grant select,insert,update,delete on
表
to
用户
例如,再
用户
user2下执行找
不到
表
table1,但是table1明明就在
用户
user1下面 前往
用户
user1,并执行下名语句 grant select on table1 to user2 即可查询,若还需要插入操作, grant select,insert on table1 to user2 ...
oracle
中
用户
授权
,
Oracle
用户
、角色、
授权
和
表
空间
oracle
数据库的权限系统分为系统权限与对象权限。系统权限( database system privilege )可以让
用户
执行特定的命令集。例如,create table权限允许
用户
创建
表
,grant any privilege 权限允许
用户
授予任何系统权限。对象权限( database object privilege )可以让
用户
能够对各个对象进行某些操作。例如delete权限允许
用户
删...
oracle
中
用户
授权
,
Oracle
grant
用户
授权
获得对象
授权
的
用户
可以
访问
数据库对象及其内容。
提示
当
用户
获得处理其他
用户
表
的权限后,在他能够在SQL语句中引用其他
用户
的
表
之前,必须有这些
表
的公用或私用同义词,
Oracle
可通过它们识别出这些
表
。假设Jrstocks拥有称为sample_b的
表
,并允许所有数据库
用户
访问
sample_b。另一个
用户
coreyan用一条SQL语句查询
表
sample_b,得到下列错误信息:-select * from...
oracle
跨实例
授权
用户
表
权限,
ORACLE
授权
用户
查询另一个
用户
下的
表
与视图
实际应用中,会遇到在某个
用户
下需要查询另一个
用户
下的
表
数据或视图的情况,然而在没有
授权
时,会
提示
无权限操作的错误。那就需要通过
授权
处理后,再能进行查询操作,下面我们来看看是怎么处理的。一、系统权限说明:1、
用户
权限CREATE SESSIOIN 连接到数据库CREATE TABLE 在
用户
的方案中创建
表
CREATE SEQUENCE 在
用户
的方案中创建序列CREATE VIEW 在用...
ORACLE
授权
用户
查询另一个
用户
下的
表
与视图
实际应用中,会遇到在某个
用户
下需要查询另一个
用户
下的
表
数据或视图的情况,然而在没有
授权
时,会
提示
无权限操作的错误。那就需要通过
授权
处理后,再能进行查询操作,下面我们来看看是怎么处理的。 一、系统权限说明: 1、
用户
权限 CREATE SESSIOIN 连接到数据库 CREATE TABLE 在
用户
的方案中创建
表
CREATE SEQUENCE 在
用户
的方案中创建序列 CREATE VIEW 在
用户
的方案中创视图 CREATE PROCEDURE在
用户
的方案中创建存储过程,函数或包 1.1、例子
基础和管理
17,382
社区成员
95,118
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章