ORACLEÎﻯÊÓͼ ¶¨Î»µ¼ÖÂÎﻯÊÓͼÎÞ·¨¿ìËÙˢеÄÔÒò
ÎﻯÊÓͼµÄ¿ìËÙˢвÉÓÃÁËÔöÁ¿µÄ»úÖÆ£¬ÔÚË¢ÐÂʱ£¬Ö»Õë¶Ô»ù±íÉÏ·¢Éú±ä»¯µÄÊý¾Ý½øÐÐˢС£Òò´Ë¿ìËÙË¢ÐÂÊÇÎﻯÊÓͼˢз½Ê½µÄÊ×Ñ¡¡£
µ«ÊÇ¿ìËÙˢоßÓн϶àµÄÔ¼Êø£¬¶øÇÒ¶ÔÓÚ²ÉÓÃON COMMITģʽ½øÐпìËÙˢеÄÎﻯÊÓͼ¸üÊÇÈç´Ë¡£¶ÔÓÚ°üº¬¾Û¼¯ºÍ°üº¬Á¬½ÓµÄÎﻯÊÓͼµÄ¿ìËÙˢлúÖÆ²¢²»Ïàͬ£¬¶øÇÒ¶ÔÓÚ¶à²ãǶÌ×µÄÎﻯÊÓͼµÄ¿ìËÙˢиüÊÇÓжîÍâµÄÒªÇó¡£
Èç´Ë¶àµÄÏÞÖÆÒ»°ãºÜÄѼÇÈ«£¬µ±½¨Á¢ÎﻯÊÓͼʧ°Üʱ£¬Oracle¸ø³öµÄ´íÎóÐÅÏ¢ÓÖ¹ýÓÚ¼òµ¥£¬ÓÐʱÎÞ·¨Ê¹Äã׼ȷ¶¨Î»µ½ÎÊÌâµÄÔÒò¡£
OracleÌṩµÄDBMS_MVIEW.EXPLAIN_MVIEW¹ý³Ì¿ÉÒÔ°ïÖúÄã¿ìËÙ¶¨Î»ÎÊÌâµÄÔÒò¡£ÏÂÃæÍ¨¹ýÒ»¸öÀý×ÓÀ´ËµÃ÷£¬Èç¹ûͨ¹ýÕâ¸ö¹ý³ÌÀ´½â¾öÎÊÌâ¡£
½¨Á¢Ò»¸ö¿ìËÙˢеÄǶÌ×ÎﻯÊÓͼ£º
SQL> CREATE TABLE B (ID NUMBER PRIMARY KEY, NAME VARCHAR2(30));
±íÒÑ´´½¨¡£
SQL> CREATE TABLE C (ID NUMBER PRIMARY KEY, NAME VARCHAR2(30));
±íÒÑ´´½¨¡£
SQL> CREATE TABLE A (ID NUMBER, BID NUMBER, CID NUMBER, NUM NUMBER,
2 CONSTRAINT FK_A_B_BID FOREIGN KEY (BID) REFERENCES B(ID),
3 CONSTRAINT FK_A_C_BID FOREIGN KEY (CID) REFERENCES C(ID));
±íÒÑ´´½¨¡£
SQL> INSERT INTO B SELECT ROWNUM, 'B'||ROWNUM from USER_TABLES WHERE ROWNUM <= 6;
ÒÑ´´½¨6ÐС£
SQL> INSERT INTO C SELECT ROWNUM, 'C'||ROWNUM from USER_TABLES WHERE ROWNUM <= 4;
ÒÑ´´½¨4ÐС£
SQL> INSERT INTO A SELECT ROWNUM, TRUNC((ROWNUM - 1)/2) + 1, TRUNC((ROWNUM - 1)/3) + 1, ROWNUM
2 from USER_TABLES
3 WHERE ROWNUM <= 12;
ÒÑ´´½¨12ÐС£
SQL> COMMIT;
Ìá½»Íê³É¡£
ÉÏÃæ½¨Á¢ºÃ»ù±í£¬ÏÂÃæ½¨Á¢µÚÒ»²ãÎﻯÊÓͼ¡£
SQL> CREATE MATERIALIZED VIEW LOG ON A WITH ROWID;
ʵÌ廯ÊÓͼÈÕÖ¾ÒÑ´´½¨¡£
SQL> CREATE MATERIALIZED VIEW LOG ON B WITH ROWID;
ʵÌ廯ÊÓͼÈÕÖ¾ÒÑ´´½¨¡£
SQL> CREATE MATERIALIZED VIEW LOG ON C WITH ROWID;
ʵÌ廯ÊÓͼÈÕÖ¾ÒÑ´´½¨¡£
SQL> CREATE MATERIALIZED VIEW MV_ABC REFRESH FAST ON COMMIT ENABLE QUERY REWRITE AS
2 SELECT C.ID CID, C.NAME CNAME, B.ID BID, B.NAME BNAME, A.NUM,
3 A.ROWID AROWID, B.ROWID BROWID, C.ROWID CROWID
4 from A, B, C WHERE A.BID = B.ID A
Ïà¹ØÎĵµ£º
oracleȨÏÞÌåϵÖÐÓиödefault role£¬±È½ÏÄÑÒÔÀí½â¡£ÏÂÃæÓÃʵÀý˵Ã÷Ò»ÏÂ×÷Óá£
ÎÒÃÇ¿ÉÒÔ¸øÄ³¸öÓû§·ÖÅäһЩ½ÇÉ«£¬±ÈÈçrole r1,r2,r3,r4£¬¶øÆäÖпÉÒÔ½«Ä³Ð©½ÇÉ«±ÈÈçr1ÉèÖÃΪdefault role£¬ÆäËûµÄ²»ÉèÖóÉdefault role£¬ÕâÑù£¬µ±¸ÃÓû§µÇ¼ʱ£¬×Ô¶¯¾ßÓÐdefault roleÖÐËù°üº¬µÄȨÏÞ£¬ÆäËûµÄ½ÇÉ«Ëù¾ßÓеÄȨÏÞҪͨ¹ýset role ½ÇÉ ......
Oracle Flashback Technology
Oracle Flashback Technology reduces recovery time from hours to minutes.
from: http://www.oracle.com/technology/deploy/availability/htdocs/Flashback_Overview.htm
According to many studies, 40% of application outages are caused by operator or user errors. Part of be ......
http://blog.csdn.net/XIAOHUI_LIAO/archive/2007/08/27/1759990.aspx
create materialized view [view_name]
refresh [fast|complete|force]
[
on [commit|demand] |
start with (start_time) next (next_time)
]
as
{´´½¨ÎﻯÊÓͼÓõIJéѯÓï¾ä}
ÒÔÉÏÊÇ ......