如何获取Oracle中所有物化视图的列表

27

如何获取所有物化视图的列表?

4个回答

36

试试这个:

SELECT *
FROM  all_snapshots;

你可以使用all_mviews视图代替all_snapshots


8
根据Oracle(http://docs.oracle.com/cd/A87860_01/doc/server.817/a76961/ch276.htm)的说法,“ALL_SNAPSHOTS”已被弃用,取而代之的是“ALL_MVIEWS”。 - Tim Lewis

23
select * from all_mviews;

或者

select * from dba_mviews;

但是... select * from Dba_Mviews 很慢。如何加速? - Florin Ghita

3

我之前从未使用过 all_snapshots。

这里还有另一种方法:

select * from all_objects where OBJECT_TYPE='MATERIALIZED VIEW';

3
实际上,ALL_MVIEWS和ALL_SNAPHOTS仅显示用户已授予访问权限的视图。要查看数据库中的所有视图,必须查询DBA_MVIEWS或DBA_SNAPHOTS。您需要特殊的特权或角色来查询此视图,例如系统特权SELECT ANY DICTIONARY或角色SELECT_CATALOG_ROLE。其他ALL_和DBA_视图也适用类似的语句。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接