Oracle笔记 物化视图
http://www.wangchao.net.cn/bbsdetail_1776477.html
第 13 章 物化视图
8.1.5企业版/个人版开始支持
需要权限:GRANT CREATE MATERIALIZED VIEW,还必须直接赋予GRANT QUERY REWRITE.为实现查询重写,必须使用CBO.
13.1 物化视图如何工作
设置
COMPATIBLE参数必须高于8.1.0
QUERY_REWRITE_ENABLED = TRUE
QUERY_REWRITE_INTEGRETY =
ENFORCED - 查询仅用Oracle强制与保证的约束、规则重写;
TRUSTED – 查询除用Oracle强制与保证的约束、规则,也可用用户设定的数据间的任何关系来重写;
STALE_TOLERATED – 即便Oracle知道物化视图中数据过期(与事实表等不同步),也重写查询。
创建物化视图的用户必须具有直接赋予的GRANT QUERY REWRITE权限,不能通过角色继续。
内部机制
全文匹配
部分匹配:从from子句开始,优化器比较之后的文本,然后比较SELECT列表
一般重写方法:
数据充分
关联兼容
分组兼容
聚集兼容
13.2 确保使用物化视图
约束
考虑到现实环境的数据量,可以将主键、外键、非空等约束置为NOVALIDATE,并调整QUERY_REWRITE_INTEGRITY为TRUSTED,这样可以达到“欺骗”数据库的目的,但必须注重假如无法保证此类约束的真实有效,查询改写后可能造成结果不精确。
维度
实际就是指明已存在的表中各列的归并关系,从而关联事实表后形成的物化视图可用于向“上”归并(相当于用表中代表更高归并关系的列关联事实表)。标准语法:
CREATE DIMENSION time_hierarchy_dim
LEVEL day IS time_hierarchy.day
LEVEL mmyyyy IS time_hierarchy.mmyyyy
LEVEL yyyy IS time_hierarchy.yyyy
HIERARCHY time_rollup
(day CHILD OF mmyyyy CHILD OF yyyy)
ATTRIBUTE mmyyyy
DETERMINES mon_yyyy;
13.3 DBMS_OLAP
估计(物化视图)大小
DBMS_OLAP.ESTIMATE_SUMMARY_SIZE(视图名, 视图定义, 估计行数, 估计字节数);
其中后两个参数为NUMBER型输出参数。
维度有效性检
相关文档:
oracle的正则表达式(regular expression)简单介绍
目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境。
Oracle 10g正则表达式提高了SQL灵活性。有效的解决了数据有效性, 重复词的辨认, 无关的空白检测,或者分解多个正则组成
的字符串等问题。
Orac ......
DECODE函数相当于一条件语句(IF).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。区别于SQL的其它函数,DECODE函数还能识别和操作空值.
其具体的语法格式如下:
DE ......
在Query Rewrite中大家看到这个技术离不开一样东西, 实体化视图, 简称MVIEW. 这是Oracle在8i中首先推出的技术, MVIEW除了在Query Rewrite中使用外, 还在Master - Slave复制中有很重要的作用, 在这儿我们主要关心Query Rewrite相关的地方, Oracle在Query Rewrite方面越来越强了, 在Oracle 8i中基本上是Text Ma ......
运行了Oracle的Linux服务器更改主机名
假如要把主机名改为oratest。
$表示oracle用户操作;
#表示root用户操作。
DB:oracle10.2
OS:RHEL4.5
第一步,关闭数据库和监听,dbconsole:
$ dbshut
$ lsnrctl stop
第二部:
# hostname oratest
第三步:
# vi /etc/sysconfig/network
更改hostname参数。
第四步 ......
linux下oracle安装:
Oracle公司宣称在Linux下安装Oracle9i数据库至少要有512MB的内存和至少1GB或者两倍
内存大小的交换空间,对于系统内存大于2GB的服务器,交换空间可以介于2GB—4GB之间。
如果是为了在一台仅有256M内存的普通PC机上试用Oracle9 ......