Oracle 10g R2特性之数据仓库和集成特性(二)

 
   | |

导读:本文主要介绍Oracle 10g R2特性之数据仓库和集成特性并列举了一些相关实例。

关键词:Oracle 10g R2 数据仓库 集成特性

正在加载数据...

   刷新完成后,再次检查表 ACcountS 的段统计信息。结果如下所示:

  SUBOBJECT_NAME                      VALUE
  ------------------------------ ----------
  P1                                   8320
  P10                                  8624
  P2                                  12112
  P3                                  14656
  P4                                   8800
  P5                                   7904
  P6                                   8256
  P7                                   8016
  P8                                   8272
  P9                                   7840
  PMAX                                  256

  这些段统计信息显示了在一个逻辑读取过程中选择的段。由于这些统计信息是累积的,因此您必须查看值(而非绝对值)中的更改。如果仔细查看以上值,您便会发现只有分区 P3 的值发生了变化。因此,在刷新过程中只选择了分区 P3 而非整个表,确认 PCT 能否在表即使没有 MV 日志的情况下工作。

一个强大而有用的特性,从而允许您可以在已分区的 MV 中执行快速刷新而不会增加性能开销。我认为,该特性是 Oracle 数据库 10g 第 2 版中最有用的数据仓库增强功能。

    区更改跟踪:不需要MV日志

  要了解此增强功能,首先必须了解物化视图 (MV) 刷新过程中的分区修整概念。

  假设基于列 ACC_MGR_ID 对表 ACcountS 进行了分区,每个 ACC_MGR_ID 值一个分区。您根据 ACcountS 创建了一个名为 ACC_VIEW 的 MV,该 MV 也根据列 ACC_MGR_ID 进行了分区,每个 ACC_MGR_ID 一个分区,如下图所示:

   Oracle 10g R2特性之数据仓库和集成特性图2
  假设已经更新了表 ACcountS 中的记录,但只在分区 P1 中进行了此更新。要快速刷新此 MV,您只需刷新分区 P1 而非整个表,这里正是与 ACC_MGR_ID 相关的数据所在的分区。Oracle 自动执行此任务,通过一个名为分区更改跟踪 (PCT) 的特性跟踪对分区的更改。但有一个问题需稍加注意:要在快速刷新的过程中启用 PCT,必须创建 MV 日志,当表中的行发生变化会填充这些日志。发出刷新命令后,刷新进程将读取 MV 日志以识别这些更改。

  不用说,该要求增加了操作的总执行时间。此外,附加的插入操作将消耗 CPU 周期和 I/O 带宽。

  幸好,在 Oracle 数据库10g第2版中,PCT不需要MV日志即可工作。让我们看一看它的作用方式。首先,确认表 ACcountS中没有MV日志。

  SQL> select *
  2  from dba_mview_logs
  3  where master = ’ACcountS’;

  no rows selected

  现在,更新该表中的某个记录。

  update accounts set last_name = ’...’
  where acc_mgr_id = 3;

  该记录位于分区 P3 中。

  现在,您就可以刷新此 MV 了。但首先记录表 ACcountS 所有段的段级统计信息。稍后,您将使用这些统计信息了解使用了哪些段。

  select SUBOBJECT_NAME, value from v$segment_statistics
  where owner = ’ARUP’
  and OBJECT_NAME = ’ACcountS’
  and STATISTIC_NAME = ’logical reads’
  order by SUBOBJECT_NAME
  /

  SUBOBJECT_NAME                      VALUE
  ------------------------------ ----------
  P1                                   8320
  P10                                  8624
  P2                                  12112
  P3                                  11856
  P4                                   8800
  P5                                   7904
  P6                                   8256
  P7                                   8016
  P8                                   8272
  P9                                   7840
  PMAX                                  256

  11 rows selected. 

  使用快速刷新刷新物化视图 ACC_VIEW。

  execute dbms_mview.refresh(’ACC_VIEW’,’F’)

  ’F’ 参数指示快速刷新。但如果表没有 MV 日志,它是否可以起作用?

  刷新完成后,再次检查表 ACcountS 的段统计信息。结果如下所示:

  SUBOBJECT_NAME                      VALUE
  ------------------------------ ----------
  P1                                   8320
  P10                                  8624
  P2                                  12112
  P3                                  14656
  P4                                   8800
  P5                                   7904
  P6                                   8256
  P7                                   8016
  P8                                   8272
  P9                                   7840
  PMAX                                  256

  这些段统计信息显示了在一个逻辑读取过程中选择的段。由于这些统计信息是累积的,因此您必须查看值(而非绝对值)中的更改。如果仔细查看以上值,您便会发现只有分区 P3 的值发生了变化。因此,在刷新过程中只选择了分区 P3 而非整个表,确认 PCT 能否在表即使没有 MV 日志的情况下工作。

  即使在基表没有 MV 日志的情况下也可以快速刷新 MV 的能力是一个强大而有用的特性,从而允许您可以在已分区的 MV 中执行快速刷新而不会增加性能开销。我认为,该特性是 Oracle 数据库 10g 第 2 版中最有用的数据仓库增强功能。


Oracle 10g R2特性之数据仓库和集成特性
 Oracle 10g R2特性之数据仓库和集成特性(五)
 Oracle 10g R2特性之数据仓库和集成特性(四)
 Oracle 10g R2特性之数据仓库和集成特性(三)
 Oracle 10g R2特性之数据仓库和集成特性(二)
 Oracle 10g R2特性之数据仓库和集成特性(一)

 
来源:iTbulo    
 
 
 
 
 

Oracle数据仓储与商业智能

 
距甲骨文顺利收购Sun微系统已经有一个多月的时间了,但貌似到现在为止,最新的数据仓库策略还是很不明朗。
 
还需要更多的理由来证明数据仓库市场中的竞争还像原来一样激烈吗?这个观点怎样呢:很多厂家正在免费开放他们的分析型数据库,虽然有一些附加条件。
 
云计算和相关的“数据云”适合分布式数据和分布式企业。创业和那些喜欢研究样机的人也将受益于云模型。
 
面向列的分析型数据库越来越引起人们的注意。简明扼要地说,面向列的数据库将行分解成多个数据元素,并且储存的数据库元素对应于所有的行。
 
OBIEE使得构造流感监控仪表盘变得更加容易。Kaleida从Oracle的Discoverer产品转向OBIEE,前者可以生成一个比较仪表盘,但是不易于使用。

热门技术手册排行

 

在本次的技术手册中,我们为您提供了PL/SQL的基础知识以及专家指导,包括了PL/SQL中的数据类型简介、PL/SQL函数与触发器以及PL/SQL中的存储过程等,相信您无论是高手还是菜鸟都可以获得有帮助的信息。

 

本系列文章由三部分组成,为Oracle数据库管理员(DBA)面试成功的必备手册。本专题内容囊括从DBA最初的面试开始,从写“杀手简历”到求职信、到面试过程到Oracle认证再到上升到公司高层最后到你成为公司里的明星DBA。专家为你一一指点迷津,最终让你登上成功的宝座。

 

要成为一名DBA,你需要具备哪些素质?DBA的薪酬待遇如何?DBA的职业道路究竟可以走向何方?我们将在本次的技术手册中为您一一解答。

 

在本次技术手册中,我们将对SQL Server存储过程的调试进行详细的介绍,包括了基础的调试方法和在调试过程中出现的T-SQL性能问题和解决方法。

 

本技术专题主要围绕sql server设计这个话题展开,侧重介绍了sql server集簇索引的设计、如何创建sql server索引、如何优化索引、索引的能与不能、处理sql server 2000索引碎片技巧以及维护sql server索引以实现查询优化等等。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录