我需要访问 user_mviews 或 all_mviews 表以获取有关我的应用程序中物化视图的元信息。读取 user_mviews 表需要哪些授权?
默认情况下,所有用户都可以阅读user_mviews和all_mviews视图,因为 SELECT 权限被授予public:
SQL> SELECT grantee, privilege, table_name
2 FROM dba_tab_privs
3 WHERE table_name IN ('USER_MVIEWS', 'ALL_MVIEWS');
GRANTEE PRIVILEGE TABLE_NAME
-------- ---------- ------------
PUBLIC SELECT USER_MVIEWS
PUBLIC SELECT ALL_MVIEWS
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因此授权已被删除,您需要重新授予其中一个public或特定用户(具有 DBA 帐户)的权限:
GRANT SELECT ON user_mviews TO <user>;
Run Code Online (Sandbox Code Playgroud)
编辑:根据定义,USER_MVIEWS描述当前用户拥有的物化视图,同时ALL_MVIEWS描述当前用户可以访问的物化视图(用户需要直接或通过角色在 mview 上获得 SELECT 权限)。
| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |