paweloque Asked: 2011-05-10 00:01:48 +0800 CST2011-05-10 00:01:48 +0800 CST 2011-05-10 00:01:48 +0800 CST 从应用代码访问 all_mview 或 user_mviews 772 我需要访问 user_mviews 或 all_mviews 表以获取有关我的应用程序中物化视图的元信息。读取 user_mviews 表需要哪些授权? oracle view 1 个回答 Voted Best Answer Vincent Malgrat 2011-05-10T00:45:24+08:002011-05-10T00:45:24+08:00 默认情况下,所有用户都可以读取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 如果由于某种原因此授权已被删除,您需要将权限重新授予任public一用户或特定用户(使用 DBA 帐户): GRANT SELECT ON user_mviews TO <user>; 编辑:根据定义,USER_MVIEWS描述当前用户拥有的物化视图,同时ALL_MVIEWS描述当前用户可访问的物化视图(用户需要直接或通过角色在 mview 上被授予 SELECT 权限)。
默认情况下,所有用户都可以读取
user_mviews
和all_mviews
视图,因为 SELECT 权限被授予public
:如果由于某种原因此授权已被删除,您需要将权限重新授予任
public
一用户或特定用户(使用 DBA 帐户):编辑:根据定义,
USER_MVIEWS
描述当前用户拥有的物化视图,同时ALL_MVIEWS
描述当前用户可访问的物化视图(用户需要直接或通过角色在 mview 上被授予 SELECT 权限)。