ORACLEÎﻯÊÓͼ ÀûÓÃά¶ÔÏóÀ´ÓÅ»¯Êý¾Ý²Ö¿âµÄ¸ß¼¶¼¼ÇÉ
http://www.anysql.net/oracle/oracle_olap_dimension.html
ÔÚOracleµÄÊý¾Ý²Ö¿â(OLAP)ÖÐ, ʵÌ廯ÊÓͼ(MVIEW), ²éÑ¯ÖØÐ´(Query Rewrite)ºÍά(Dimension)ÊǷdz£ÖØÒªµÄÓÅ»¯ÊÖ¶Î, ¶ÔÓÚǰÁ½ÕßÎÒ²»ÏëÔÚÕâ¶ùÖØ¸´½²ÁË, Ö÷ÒªÀ´ÌåÑéÒ»ÏÂάµÄ×÷ÓÃ. Òª·¢»ÓάµÄ×÷ÓÃ, »¹ÊÇÐèÒªÓõ½Ç°ÃæÁ½Õß, ÏÂÃæÊÇÎÒÉè¼ÆµÄÖ»ÓÐÒ»¸öά±íµÄ×î¼òµ¥µÄÀý×Ó. Êý¾Ý¿âÓû§³ýÁË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);
&
Ïà¹ØÎĵµ£º
ÔÚQuery RewriteÖдó¼Ò¿´µ½Õâ¸ö¼¼ÊõÀë²»¿ªÒ»Ñù¶«Î÷, ʵÌ廯ÊÓͼ, ¼ò³ÆMVIEW. ÕâÊÇOracleÔÚ8iÖÐÊ×ÏÈÍÆ³öµÄ¼¼Êõ, MVIEW³ýÁËÔÚQuery RewriteÖÐʹÓÃÍâ, »¹ÔÚMaster - Slave¸´ÖÆÖÐÓкÜÖØÒªµÄ×÷ÓÃ, ÔÚÕâ¶ùÎÒÃÇÖ÷Òª¹ØÐÄQuery RewriteÏà¹ØµÄµØ·½, OracleÔÚQuery Rewrite·½ÃæÔ½À´Ô½Ç¿ÁË, ÔÚOracle 8iÖлù±¾ÉÏÊÇText Ma ......
// ½¨Á¢±í¿Õ¼ä£¨Ö¸¶¨Îļþ·¾¶£©¡£
create TABLESPACE EAS_D_sptcc0_STANDARD DATAFILE 'F:\oracledb\EAS_D_sptcc0_STANDARD.dbf' size 10000M EXTENT MANAGEMENT local;
// ɾ³ý±í¿Õ¼ä£¨Ö¸¶¨Îļþ·¾¶£©¡£
DROP TABLESPACE temp_data INCLUDING CONTENTS AND DATAFILES;
// ½¨Á¢ÁÙʱ±í¿Õ¼ä¡£
CREATE TEMPORARY TABLESPA ......
ÏîÄ¿ÖÐÓÐһЩ±¨±í£¬±¾ÉíËٶȾͲ»Ì«¿ì£¬Óöµ½Êý¾ÝÁ¿´óµÄÇé¿ö£¬¸üÊÇÈÃÈË×¥¿ñ£¬Óû§Ò²Ìá³öÁ˱¨±íËÙ¶ÈÂýµÄÎÊÌ⣬ÓÚÊÇÏë×ÅÈçºÎʵÏÖ±¨±íµÄÊý¾ÝÒÀÀµ»º´æ£¬¼´½«±¨±íÊý¾Ý»º´æ£¬µ±Êý¾Ý·¢Éú¸Ä±äʱ£¬ÔÙÖØÐ»ñÈ¡Êý¾Ý¡£
×î¼òµ¥µÄ·½·¨£¬ÊÇÔÚÏÔʾ±¨±íµÄaspxÒ³ÃæµÚÒ»ÐмÓÉÏÐÎÈç<%@ OutputCache Duration="600" VaryByParam="some_par ......
´ó¼Ò¶¼ÖªµÀ£¬ÓÃPL/SQLÁ¬½ÓOracle£¬ÊÇÐèÒª°²×°Oracle¿Í»§¶ËÈí¼þµÄ¡£ÓÐûҪÏë¹ý²»°²×°Oracle¿Í»§¶ËÖ±½ÓÁ¬½ÓOracleÄØ£¿
ÆäʵÎÒÒ»Ö±ÏëÕâÑù×ö£¬ÒòΪÕâ¸ö¿Í»§¶ËʵÔÚÌ«ÈÃÈËÌÖÑáÁË£¡£¡£¡²»µ«»á°²×°Ò»¸öJDK£¬¶øÇÒ»¹»á°Ñ×Ô¼º·ÅÔÚ»·¾³±äÁ¿µÄ×îÇ°Ãæ£¬»áÔì³É²»Ð ......
1¡¢²é¿´±í¿Õ¼äµÄÃû³Æ¼°´óС
¡¡¡¡select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
¡¡¡¡from dba_tablespaces t, dba_data_files d
¡¡¡¡where t.tablespace_name = d.tablespace_name
¡¡¡¡group by t.tablespace_name;
¡¡¡¡
¡¡¡¡2¡¢²é¿´±í¿Õ¼äÎïÀíÎļþµÄÃû³Æ¼°´óС
¡¡¡¡select tablespace_ ......