数据字典

来源:互联网 发布:国产psp4000淘宝 编辑:程序博客网 时间:2024/05/24 02:59


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重要视图
在源数据库端的相关视图
DBA_BASE_TABLE_MVIEWS
DBA_REGISTERED_MVIEWS
DBA_MVIEW_LOGS
在MView数据库端的相关视图
DBA_MVIEWS
DBA_MVIEW_REFRESH_TIMES
DBA_REFRESH和DBA_REFRESH_CHILDREN
MView相关包
一些MView维护的相关问题
SNAPSHOT vs. Materialized View
清理无效的MView Log
查询MView Log的大小
检查MV的刷新兼容性
查询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基表的OWNERMASTER基表的名称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文档

  • DBMS_MVIES
  • DBMS_REFRESH


一些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 ownernamesnapshot_siterefresh_method fromdba_registered_snapshots;

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

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

4. 清理MVLOG记录

SQLEXEC 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 ownerobject_name from all_objects whereobject_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 FROMMV_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.ownerchild.namechild.rownerchild.rname,job.next_datejob.next_date - job.last_date as interval
    
FROM dba_refresh refdba_refresh_children childdba_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 DESCmv.owner,mv.mview_name;


参考文档

  • Note:236233.1 Materialized View Refresh : Log Population and Purge
  • Note 258634.1 Materialized View registration at Master Site
  • Note 236292.1 Scripts to Report Information about Materialized View Logs at the Master Site.
  • 8 Managing a Materialized View Replication Environment 
    来自Advanced Replication Management API Reference,很有用的MView管理实例



0 0