无法选择数据库视图

时间:2015-12-09 12:58:23

标签: oracle11g

在Oracle中,我有以下情况但面临授权问题。

架构A: 有3个表:TA1,TA2,TA3

架构B: 是否在连接表TA1,TA2和TA3

时查看“VB”

用户C: 在VB上有SELECT授权

问题: SELECT授权在视图'VB'上提供给C,但不能从'C'访问它。 我也试过在TA1,TA2和TA3上向C授予SELECT访问权限,但它没有用。

请建议。

1 个答案:

答案 0 :(得分:1)

您需要使用WITH GRANT选项

授予

作为schema_a,授予对基础表的访问权限,并选择将该授权提供给另一个模式

GRANT select ON ta1 TO schema_b WITH GRANT OPTION;
GRANT select ON ta2 TO schema_b WITH GRANT OPTION;
GRANT select ON ta3 TO schema_b WITH GRANT OPTION;

作为schema_b,您现在可以使用这些表格向schema_c

授予视图选择权
GRANT select ON vb TO schema_c;

作为schema_c,您可以直接从vb而不是基础表中进行选择。

SELECT * from schema_b.vb;

无需将表格上的select直接授予schema_c