数据字典



http://blog.csdn.net/outget1/article/details/5276266 物化视图有关的数据字典 



 

DBA_HISTOGRAMS     DBA_TAB_HISTOGRAMS的同义词.

DBA_IND_COLUMNS    包含在所有表和聚集中组成索引的列的描述.

DBA_IND_EXPRESSIONS 包含在所有表和聚集中函数型索引的表达式.

DBA_IND_PARTITIONS 为每一个索引分区,描述分区级的分区信息,分区的存储参数和ANALYZE决定的各种分区统计数据.

DBA_IND_SUBPARTITIONS     为当前用户拥有的每一个索引分区,描述分区级的分区信息,分区的存储参数和ANALYZE决定的各种分   区统计数据.

DBA_INDEXES     数据库中所有索引的描述.

DBA_INDEXTYPE_COMMENTS      数据库中所有的用户定义的索引类型.

DBA_INDEXTYPE_OPERATORS     列出索引类型支持的所有操作符.

DBA_INDEXTYPES    所有的索引类型.

DBA_INTERNAL_TRIGGERS     数据库中所有的内部触发器.

DBA_JOBS     数据库中的所有的作业.

DBA_JOBS_RUNING    数据库中的所有当前运行的作业.

DBA_JOIN_IND_COLUMNS     描述数据库中的所有的连接条件.

DBA_KGLLOCK      列出在KGL对象上所有的锁和PINS.

DBA_LIBRARIES    列出数据库中的所有的库.

DBA_LOB_PARTITIONS        包含在表中的用户可访问的JOB.

DBA_LOB_SUBPARTITIONS     显示LOB数据子分区中的分区级属性.

DBA_LOBS     包含在所有表中的LOB.

 

DBA_2PC_NEIGHBORS    包含未决事务的引入或流出的连接信息.

DBA_ALL_TABLES       显示数据库中所有表的描述.

DBA_APPLICATION_ROLES 所有的具有函数定义的验证策略的角色.

DBA_ASSOCIATIONS    显示用户定义的统计信息.

DBA_AUDIT_EXISTS    列出AUDIT NOT EXISTSAUDIT EXISTS产生的审计跟踪.

DBA_AUDIT_OBJECT    系统中所有对象的审计跟踪记录.

DBA_AUDIT_SESSION   列出关于CONNECTDISCONNECT的所有审计跟踪信息.

DBA_AUDIT_STATEMENT 列出关于GRANT,REVOKE,AUDIT,NOAUDIT,ALTER SYSTEM语句的审计跟踪信息.

DBA_AUDIT_TRAIL     列出所有的审计跟踪条目.

DBA_BLOCKERS        列出正有人等待一个会话持有的锁的所有会话,但并非它们自己在等待一个锁.

DBA_BASE_TABLE_MVIEWS     描述数据库中所有的物化视图.

DBA_CATALOG        列出所有数据库标,视图,同义词和序列.

DBA_CLU_COLUMNS    列出表列到聚集列的映射.

DBA_CLUSTER_HASH_EXPRESSIONS     列出所有聚集的散列HASH函数.

DBA_CLUSTERS        包含数据库中所有聚集的描述.

DBA_COL_COMMENTS    所有表和视图的列的注解.

DBA_COL_PRIVS       列出数据库中授予列的所有特权.

DBA_COLL_TYPES      显示数据库中所有命名的集合类型.

DBA_CONS_COLUMNS    包含在约束定义中的,可访问的列的信息.

DBA_CONSTRAINTS     所有表上约束的定义.

DBA_CONTEXT         所有上下文名字空间的信息.

DBA_DATA_FILES      数据库文件的信息.

DBA_DB_LINKS        数据库中的所有数据库链接.

DBA_DDL_LOCKS       数据库所持有的所有的DDL.

DBA_DEPENDENCIES    列出对象之间的依赖性.

DBA_DIM_ATTRIBUTES  代表维级和功能依赖的列之间的关系.

DBA_DIM_JOIN_KEY    代表两个维之间的连接.

DBA_DIM_LEVEL_KEY   代表一个维级的列.

DBA_DIM_LEVELS      代表一个维级.

DBA_DIMENSIONS      代表维对象.

DBA_DIRECTORIES     提供数据库所有对象的信息.

DBA_DML_LOCKS       列出数据库中所有的DML,和对一个DML锁的所存未决请求.

DBA_ERRORS          列出数据库中所有存储的对象的当前错误.

DBA_EXP_FILES       包含导出文件的信息.

DBA_EXP_OBJECTS     列出以增量方式导出的对象.

DBA_EXP_VERSION     包含最后导出会话的版本号.

DBA_EXTENTS     列出数据库中组成所有段的信息.

DBA_EXTERNAL_TABLES    描述数据库中的所有的外部表.

DBA_FREE_SPACE         列出所有表空间中的空闲分区.

DBA_FREE_SPACE_COALESCED     包含表空间中合并空间的统计数据.

DBA_LOCK_INTERNAL    包含每个被持有的锁或简易锁的一行信息,及每一个未决请求的一行信息.

DBA_LOCKS     列出数据库中持有的锁或简易锁,及每一个未决请求信息.

DBA_LOG_GROUP_COLUMNS     描述在日志组中指定的数据库中的所有列的信息.

DBA_METHOD_PARAMS     数据库中类型的方法参数的描述.

DBA_METHOD_RESULTS    数据库中所有类型的方法结果的描述.

DBA_MVIEW_AGGREGATES  在聚集实例化视图的SELECT列表中出现的分组函数.

DBA_MVIEW_ANALYSIS    代表潜在地支持查询重写.

DBA_MVIEW_LOG_FILTER_COLS     列出所有记录在物化视图日志中的所有列.

DBA_MVIEW_REFRESH_TIMES      描述在数据库中所有物化视图的刷新时间.

DBA_MVIEWS     描述在数据库中所有物化视图.

DBA_NESTED_TABLES    在所有表中嵌套表的描述.

DBA_OBJ_AUDIT_OPTS   列出一个用户所有对象的审计选项.

DBA_OBJECT_SIZE      列出各类对象用字节表示的大小.

DBA_OBJECT_TABLES    显示数据库中所有对象表的描述.

DBA_OBJECTS     列出数据库中所有的对象.

DBA_OPANCILLARY    列出操作连接符的附加信息.

DBA_OPARGUMENTS    列出操作连接符的参数信息.

DBA_ORPHAN_KEY_TABLE 报告那些在基表下有坏块的索引中的键值.

DBA_OUTLINE_HINTS    列出组成概要的提示符.

DBA_OUTLINES    列出有关概要的信息.

DBA_PART_COL_STATISTICS 所有分区表的列统计数据和直方图信息.

DBA_PART_HISTOGRAMS    所有表分区上直方图的直方图数据.

DBA_PART_INDEXES       所有分区索引的对象级分区信息.

DBA_PART_KEY_COLUMNS   所有分区对象的分区关键字列.

DBA_PART_LOBS      描述分区LOB的表级信息.

DBA_PART_TABLES    列出所有分区表的对象级分区信息.

DBA_PARTIAL_DROP_TABS     描述部分删除的表.

DBA_PENDING_TRANSACTIONS  提供关于未完成事务的信息.

DBA_POLICIES    列出数据库中的所有的安全策略.

DBA_PRIV_AUDIT_OPTS    通过系统和由用户审计的当前系统特权.

DBA_PROCEDURES    所有函数及过程和他们的相关属性.

DBA_PROFILES      显示所有启动文件及限制.

DBA_PROXIES       显示系统中所有代理连接的信息.

DBA_PUBLISHED_COLUMNS     描述所有存在源列的表.

DBA_QUEUE_SCHEDULES      描述当前传播信息的方案.

DBA_QUEUE_TABLES    描述在数据库中建立的所有队列表中的队列的名称和类型.

DBA_QUEUES     描述数据库中每一个队列的操作特性.

DBA_RCHILD     列出任何刷新组中的所有子组.

DBA_REFRESH    列出所有刷新组.

DBA_REFRESH_CHILDREN     列出刷新组中的所有对象.

DBA_REFS     数据库中所有表的对象类型列中的REF列和REF属性.

DBA_REGISTERED_MVIEW_GROUPS     列出了在该地点所有重组的物化视图.

DBA_REGISTERED_MVIEWS     数据库中所有注册了的物化视图.

DBA_REGISTERED_SNAPSHOT_GROUPS     列出该场地的所有快照登记组.

DBA_REGISTERED_SNAPSHOTS     检索本地表的远程快照的信息.

DBA_REPAIR_TABLE 通过DBA_REPAIR.CHECK_OBJECT过程发现的任何损坏.

DBA_RESUMABLE    列出了在系统中执行的可恢复的语句.

DBA_RGROUP       列出所有刷新组.

DBA_ROLE_PRIVS   列出授予用户角色的角色.

DBA_ROLES        数据库中存在的所有角色.

DBA_ROLLBACK_SEGS    包含回滚段的描述.

DBA_RSRC_CONSUMER_GROUP_PRIVS     列出所有已被授权的资源管理员消费组,用户和角色.

DBA_RSRC_CONSUMER_GROUPS          数据库中所有资源消费组.

DBA_RSRC_MANAGER_SYSTEM_PRIVS     列出所有已授予属于资源管理员系统特权的用户和角色.

DBA_RSRC_PLAN_DIRECTIVES     数据库中存在的所有资源计划的指示.

DBA_RSRC_PLANS    数据库中存在的所有资源计划.

DBA_SEGMENTS      分配给所有数据库段的存储信息.

DBA_SEQUENCES     数据库中所有序列的描述.

DBA_SNAPSHOT_LOG_FILTER_COLS     列出记录在快照日志上的所有过滤列.

DBA_SNAPSHOT_LOGS    数据库中所有的快照日志.

DBA_SNAPSHOT_REFRESH_TIMES     列出快照刷新次数.

DBA_SNAPSHOTS    数据库中所有的快照.

DBA_SOURCE       数据库中所有存储对象的来源.

DBA_SOURCE_TABLES      允许发行者查看所有现有的源表.

DBA_SQLJ_TYPE_ATTRS    数据库中所有关于SQLJ对象的所有属性.

DBA_SQLJ_TYPE_METHODS  数据库中所有类型的方法.

DBA_SQLJ_TYPES    数据库中所有关于SQLJ对象类型信息.

DBA_STMT_AUDIT_OPTS    描述通过系统并由用户审计的当前系统审计选项.

DBA_STORED_SETTINGS    列出具有执行特权的存储PL/SQL单元的永久参数设置信息.

DBA_SUBPART_COL_STATISTICS     列出表子分区的列统计数据和直方图信息.

DBA_SUBPART_HISTOGRAMS         列出表子分区中直方图的实际数据.

DBA_SUBPART_KEY_COLUMNS        允许发行者查看他们预定的所有发行的列.

DBA_SUBPART_TABLES    允许发行者查看他们预定的所有发行的表.

DBA_SUBSCRIPTIONS     允许发行者查看所有的预定.

DBA_SYNONYMS     数据库中所有同义词.

DBA_SYS_PRIVS    授予用户和角色的系统特权.

DBA_TAB_COL_STATISTICS     包含在DBA_TAB_COLUMNS视图中的列统计数据和直方图信息.

DBA_TAB_COLUMNS     所有表,视图和聚集的描述列的信息.

DBA_TAB_COMMENTS    数据库中所有列和表的注解.

DBA_TAB_HISTOGRAMS  所有表中列的直方图.

DBA_TAB_MODIFICATIONS     显示数据库中所有的上次统计后被修改了的表.

DBA_TAB_PARTITIONS        对表的分区,描述它的分区级分区信息,分区的存储参数和由ANALYZE决定的各种分区统计数据.

DBA_TAB_PRIVS             列出授予用户的角色的系统特权.

DBA_TAB_SUBPARTONS        对表的子分区,描述它的分区级分区信息,分区的存储参数和由ANALYZE决定的各种分区统计数据.

DBA_TABLES         数据库中所有关系表的描述.

DBA_TABLESPACES    所有表空间的描述.

DBA_TEMP_FILES     数据库临时文件信息.

DBA_TRANSFORMATIONS 数据库中所有消息传递信息.

DBA_TRIGGER_COLS   所有触发器列的用法.

DBA_TRIGGERS     数据库中所有的触发器.

DBA_TS_QUOTAS    所有用户的表空间的限额.

DBA_TYPE_ATTRS   数据库类型的属性.

DBA_TYPE_METHODS 描述数据库中所有类型的方法.

DBA_TYPES        数据库中所有的抽象数据类型.

DBA_UNDO_EXTENTS       在撤消表空间的每个范围的提交时间.

DBA_UNUSED_COL_TABS     对所有未使用列的描述.

DBA_UPDATABLE_COLUMNS  对可在一个连接视图中,由数据库管理员更新的列的描述.

DBA_USERS      数据库所有用户信息.

DBA_USTATS     当前用户信息.

DBA_VARRAYS    用户可以访问的视图的文本.

DBA_VIEWS      数据库中所有视图的文本.

DBA_WAITERS    列出所有正在等待一个锁的会话,以及列出正在阻止它们获得该锁的会话


 

 

 

 

ORACLE物化视图- 循序渐进MView(六) MView管理



MView重要视图

Oracle文档中MView相关视图的链接Materialized View and Refresh Group Views


在源数据库端的相关视图


DBA_BASE_TABLE_MVIEWS

此视图与系统视图SYS.SLOG$相对应。

视图DBA_BASE_TABLE_MVIEWS记录了使用MView Log访问基表的相关刷新的信息。换句话说就是记录了使用了MView Log并且做过快速刷新的MView的信息,必须同时满足有MView Log以及做过快速刷新这两个条件,缺一不可。

列名描述
OWNER基表的OWNER
MASTER基表的名称
MVIEW_LAST_REFRESH_TIME基于这个基表的MView最后的快速刷新的时间
MVIEW_ID基于这个基表的MView在数据库中的ID,这个可以和DBA_REGISTERED_MVIEWS关联找出相应的MView的名称
备注:SYS.SLOG$的作用
SYS.SLOG$记录了注册在源数据库端的能进行快速刷新的MView的信息。这个信息在进行快速刷新的时候会备用到,同时也会用来维护基表的MView Log信息。

 


DBA_REGISTERED_MVIEWS

此视图与系统视图SYS.REG_SNAP$相对应。

视图DBA_REGISTERED_MVIEWS记录了所有在主站点上面注册的MView的相关的信息,这里保存的东西只是起提供信息性的作用。当MView在创建的时候Oracle会自动的将MView的信息写入到此视图中,但是也不排除会有失败的情况,要是失败了的话需要手动的使用DBMS_MVIEW包中的REGISTER_MVIEW进行注册。

详细的列描述就不列了,具体的参看文档。

备注:SYS.REG_SNAP$的作用
SYS.REG_SNAP$记录了注册在源数据库端的MView的信息,这个表只是为了提供信息而用。

DBA_MVIEW_LOGS

此视图与系统视图SYS.mlog$相对应。

此视图记录了源数据库中的所有的MView Log的相关信息。

详细的列描述就不列了,具体的参看文档。


在MView数据库端的相关视图


DBA_MVIEWS

此视图与系统视图SYS.SNAP$相对应。

此视图我们在之前已经接触了很多了,视图里面保存了数据库中所有的MView的信息。我们进行的大部分物化视图的查询工作都要基于这个视图来进行。

详细的列描述见文档。


DBA_MVIEW_REFRESH_TIMES

此视图与系统视图SYS.SNAP_REFTIME$相对应。

此视图记录了MView最后刷新的时间,这在我们检查MView是否正常的刷新过时很有用的。

详细的列描述见文档。


DBA_REFRESH和DBA_REFRESH_CHILDREN

这两个视图我们在之前也已经接触过了,主要是记录了刷新组相关的信息。


MView相关包

在进行MView的维护的时候使用的最多的就是DBMS_MVIEW和DBMS_REFRESH这两个包了,前一个用来进行MView的维护,另外一个进行MView刷新组的维护。

相关的Oracle文档


一些MView维护的相关问题


SNAPSHOT vs. Materialized View

SNAPSHOT == Materialized View (老版本的Oracle中管MView叫SNAPSHOT :) )

  • DBMS_SNAPSHOT == DBMS_MVIEW
  • CREATE SNAPSHOT == CREATE MATERIALIZED VIEW


清理无效的MView Log

1. 查询MV表信息

SELECT  *  FROM   DBA_BASE_TABLE_MVIEWS ;
  • ALL_BASE_TABLE_MVIEWS: All materialized views with log(s) in the database that the user can see

2. 查询已注册的快照信息

col   owner   for   a15
col   name   for   a30
col   snapshot_site   for   a15
col   refresh_method   for   a15
select   owner ,  name ,  snapshot_site ,  refresh_method   from dba_registered_snapshots ;

3. 对比上面两个结果找出很久没有刷新的MV ID,然后进行UNREGISTER_MVIEW操作

EXEC   DBMS_MVIEW . UNREGISTER_MVIEW ( mviewowner ,  mviewname ,  mviewsite ) ;
  • mviewowner: MView的OWNER。
  • mviewname: MView的名字。
  • mviewsite: 这个可以从DBA_REGISTERED_MVIEWS中的MVIEW_SITE中看到。

4. 清理MVLOG记录

SQL >  EXEC   DBMS_MVIEW . PURGE_MVIEW_FROM_LOG ( MVID ) ;


查询MView Log的大小

set   serveroutput   on
 
declare   v_output   number ;
begin
   dbms_output . put_line ( ' Owner                MV Table Name                            MV Log Size    ' ) ;
   dbms_output . put_line ( ' -------------------- ---------------------------------------- -------------- ' ) ;
   for   c_cursor   in   ( select   owner ,  object_name   from   all_objects   where object_name   like   ' MLOG$_% ' )   LOOP
     execute   immediate   ' select count(*) from  '  ||  c_cursor . owner || ' . ' ||  c_cursor . object_name   into   v_output ;
     dbms_output . put_line (
         rpad ( substr ( c_cursor . owner , 0 , 20 ) , 20 , '   ' ) || '   '
        || rpad ( substr ( c_cursor . object_name , 7 , 40 ) , 40 ,  '   ' )
        || '   ' || v_output ) ;
   end   loop ;
end ;
/
 
set   serveroutput   off


检查MV的刷新兼容性

-- build table MV_CAPABILITIES_TABLE
SQL > @?/ rdbms / admin / utlxmv . sql
 
-- explain mv
TRUNCATE   TABLE   MV_CAPABILITIES_TABLE ;
EXECUTE   DBMS_MVIEW . EXPLAIN_MVIEW ( ' mv_t3 ' ) ;
 
-- Or like this
TRUNCATE   TABLE   MV_CAPABILITIES_TABLE ;
BEGIN
   DBMS_MVIEW . EXPLAIN_MVIEW   ( ' SELECT * FROM oe.orders@orc1.world o
  WHERE EXISTS (SELECT * FROM oe.customers@orc1.world c
    WHERE o.customer_id = c.customer_id AND c.credit_limit > 500) ' ) ;
END ;
/
 
-- 查看结果
COL   MVOWNER   FOR   A10
COL   MVNAME   FOR   A20
COL   MSGTXT   FOR   A65
SELECT   MVOWNER , MVNAME , CAPABILITY_NAME , POSSIBLE , MSGTXT   FROM MV_CAPABILITIES_TABLE ;


查询MView刷新延时

set   linesize   130
column   interval   format   999999
column   " rgroup owner "   format   a20
column   " refresh group "   format   a20
column   " minutes behind "   format   9999.99
column   " master link "   format   a20
column   " mview owner "   format   a15
column   next_date   format   a20
 
SELECT
--    int.rowner "rgroup owner",
--    int.rname "refresh group",
     mv . owner   as   " mview owner " ,
     mv . mview_name   as   " mview name " ,
     mv . master_link   as   " master link " ,
     round ( 1440 * ( sysdate  -  mv . last_refresh_date ))   as   " minutes behind " ,
     to_char ( int . next_date ,  ' yyyy-mm-dd hh24:mi:ss ' )   " next date " ,
     round ( int . interval * 1440 )   " interval "
FROM   dba_mviews   mv ,
(
     SELECT   child . owner ,  child . name ,  child . rowner ,  child . rname , job . next_date ,  job . next_date  -  job . last_date   as   interval
     FROM   dba_refresh   ref ,  dba_refresh_children   child ,  dba_jobs   job
     WHERE   ref . rname  =  child . rname   AND   (( upper ( job . what )   LIKE ' % ' || ref . rname || ' % ' )
         OR   ( upper ( job . what )   LIKE   ' % ' || ref . rname || ' % ' ))
)   int
WHERE   mv . owner  =  int . owner ( + )   AND   mv . mview_name  =  int . name ( + )
ORDER   BY   ( sysdate  -  mv . last_refresh_date )  *  1440   DESC ,  mv . owner , mv . mview_name ;


参考文档



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值