易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE物化视图 利用维对象来优化数据仓库的高级技巧


http://www.anysql.net/oracle/oracle_olap_dimension.html
在Oracle的数据仓库(OLAP)中, 实体化视图(MVIEW), 查询重写(Query Rewrite)和维(Dimension)是非常重要的优化手段, 对于前两者我不想在这儿重复讲了, 主要来体验一下维的作用. 要发挥维的作用, 还是需要用到前面两者, 下面是我设计的只有一个维表的最简单的例子. 数据库用户除了connect, resource外, 还要给予Query Rewrite, Create Materialized View, Create Dimension权限.
    1, 创建一个维护表.
CREATE TABLE TIME_DIM 
AS
  SELECT TO_CHAR(SYSDATE+ROWNUM,'YYYY') F_YEAR,
         TO_CHAR(SYSDATE+ROWNUM,'YYYY-Q') F_QUATER,
         TO_CHAR(SYSDATE+ROWNUM,'YYYY-MM') F_MONTH,
         TRUNC(SYSDATE+ROWNUM,'DD') F_DAY
  from DBA_OBJECTS
  WHERE ROWNUM < 1000;
ALTER TABLE TIME_DIM MODIFY F_YEAR NOT NULL;
ALTER TABLE TIME_DIM MODIFY F_QUATER NOT NULL;
ALTER TABLE TIME_DIM MODIFY F_MONTH NOT NULL;
ALTER TABLE TIME_DIM MODIFY F_DAY NOT NULL;
ALTER TABLE TIME_DIM ADD PRIMARY KEY (F_DAY);
    2, 创建一个事实表.
CREATE TABLE FACT_SALES 
AS
  SELECT TRUNC(SYSDATE+ROWNUM,'DD') F_DAY,
         TRUNC(DBMS_RANDOM.VALUE * 10000,2)  M_AMOUNT1,
         TRUNC(DBMS_RANDOM.VALUE * 10000,2)  M_AMOUNT2
  from DBA_OBJECTS
  WHERE ROWNUM < 1000;
-- Please execute the following insert multiple times
INSERT INTO FACT_SALES 
  SELECT F_DAY,
         TRUNC(DBMS_RANDOM.VALUE * 10000,2)  M_AMOUNT1,
         TRUNC(DBMS_RANDOM.VALUE * 10000,2)  M_AMOUNT2
  from FACT_SALES
/  
ALTER TABLE FACT_SALES MODIFY F_DAY NOT NULL;
ALTER TABLE FACT_SALES ADD FOREIGN KEY (F_DAY) REFERENCES TIME_DIM(F_DAY);
&


相关文档:

ORACLE ORA 00132 ORA 00214

oracle断电后重启出现的问题已经解决方法
一、ORA-00132 
问题描述 :syntax error or unresolved network name ''
第1步:复制一份pfile参数文件(注意:oracle中的pfile指的就是init<sid>.ora文件)
$sqlplus '/as sysdba';
SQL> create pfile from spfile='/u01/oracle/product/10.2.0/db_1/dbs/spf ......

ORACLE物化视图 Query Rewrite的一般理解之一

http://www.anysql.net/oracle/query_rewrite_01.html
  Query Rewrite 在数据仓库是是一个非常有用的技术, Tom在<<Effective Oracle by Design>>一书中将实体化视图(MView)称为是数据仓库的索引, 这是再贴切不过的了, 在OLTP中当SELECT语句的所有的字段都在索引中时, Oracle可以不从表读数据, 而直 ......

linux oracle 安装

linux下oracle安装:
Oracle公司宣称在Linux下安装Oracle9i数据库至少要有512MB的内存和至少1GB或者两倍     
内存大小的交换空间,对于系统内存大于2GB的服务器,交换空间可以介于2GB—4GB之间。     
如果是为了在一台仅有256M内存的普通PC机上试用Oracle9 ......

Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

原文:http://www.blogjava.net/Unmi/archive/2009/01/05/249956.html
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法:
1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中
2. 建立数据库间的 dblink,然后用 create table B as select * from A ......

oracle向mysql移植

有一些没有使用数据库中间件的软件可能会碰到在不同的应用场景需要用不同的数据库,这样可能就需要将数据库代码做移植,我这里整理了一些从oracle到mysql的移植过程中的注意事项:
1。sequence生成
可以用类似的东西来做,如下:  
  create   table   myseq   ( &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号