我正在尝试使用以下查询获取视图的解释计划
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角色的一部分.