database – SQL错误:ORA-01039:对视图的基础对象的权限不足

我正在尝试使用以下查询获取视图的解释计划

explain plan for select * from SCHEMA1.VIEW1;

但我得到了

错误报告 –

SQL Error: ORA-01039: insufficient privileges on underlying objects of the view

01039. 00000 -  "insufficient privileges on underlying objects of the view"


*Cause:    Attempting to explain plan on other people's view without
           the necessary privileges on the underlying objects of the view.


*Action:   Get necessary privileges or do not perform the offending operation.

获取SQL grant语句需要帮助

最佳答案 在
Oracle Docs中明确说明:

安全模型

此程序包使用调用用户的权限运行,而不是程序包所有者(SYS).表函数DISPLAY_CURSOR要求对以下固定视图具有select权限:V $SQL_PLAN,V $SESSION和V $SQL_PLAN_STATISTICS_ALL.

使用DISPLAY_AWR函数要求用户对DBA_HIST_SQL_PLAN,DBA_HIST_SQLTEXT和V $DATABASE具有SELECT权限.

使用DISPLAY_SQLSET函数要求用户对ALL_SQLSET_STATEMENTS和ALL_SQLSET_PLANS具有SELECT权限.

使用DISPLAY_SQL_PLAN_BASELINE函数用户要求用户对DBA_SQL_PLAN_BASELINES具有SELECT权限.

所有这些权限都将自动授予SELECT_CATALOG角色的一部分.

点赞