自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle物化視圖創(chuàng)建全過程

數(shù)據(jù)庫 Oracle
物化視圖,從名字上面來開,它應(yīng)該是屬于視圖,但是確實(shí)物化,下文將為您介紹Oracle物化視圖創(chuàng)建的全過程,供您參考學(xué)習(xí)。

我們?nèi)绻龅叫枰獜钠渌到y(tǒng)的數(shù)據(jù)庫中取數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析的問題,可疑選擇使用ORACLE的ODI工具進(jìn)行抽數(shù),但是對(duì)方提供的數(shù)據(jù)庫用戶下沒有任何對(duì)象,只是有查詢所有表的權(quán)限,因此無法做數(shù)據(jù)反向。

于是決定使用物化視圖,把對(duì)方數(shù)據(jù)庫中的數(shù)據(jù)拿過來,雖然數(shù)據(jù)量比較大,但是每月只拿一次,而且如果設(shè)置成增量更新,也不會(huì)太慢?,F(xiàn)在記錄下物化視圖的創(chuàng)建過程(以一張表為例)。

一、準(zhǔn)備條件以及備注

假設(shè)雙方數(shù)據(jù)庫都是ORACLE10g,需要同步過來的表名叫:GG_ZLX_ZHU,對(duì)方數(shù)據(jù)庫用戶名:username,密碼:password,SID:CPEES。

二、開始干活

1、首先要?jiǎng)?chuàng)建DB_LINK

  1. CREATE DATABASE LINK to_cpees  
  2.  
  3. CONNECT TO "username" identified by "password"  
  4.  
  5. using "CPEES"  

其中CPEES為新建的到對(duì)方數(shù)據(jù)庫的TNS。執(zhí)行,現(xiàn)在我們就已經(jīng)創(chuàng)建了到對(duì)方數(shù)據(jù)庫的DB_LINK TO_CPEES。

2、創(chuàng)建Oracle物化視圖快速刷新日志

因?yàn)樯厦嬲f過,以后視圖的刷新將采用增量刷新的方式,因此,為配合增量刷新,ORACLE要求要在住表上建立物化視圖日志。

  1. CREATE MATERIALIZED VIEW LOG ON GG_ZLX_ZHU  
  2.  
  3. WITH PRIMARY KEY  
  4.  
  5. INCLUDING NEW VALUES;  
  6.  

(上面的SQL要在遠(yuǎn)程數(shù)據(jù)庫上執(zhí)行,不能在本地執(zhí)行)

3、創(chuàng)建Oracle物化視圖

Oracle物化視圖,從名字上面來開,它應(yīng)該是屬于視圖,但是確實(shí)物化。其物化是針對(duì)普通視圖并沒有真正的物理存儲(chǔ)而言,其實(shí)可以簡(jiǎn)單的把物化視圖看做一個(gè)物理表(不再做具體解釋)。

  1. CREATE MATERIALIZED VIEW GG_ZLX_ZHU --創(chuàng)建物化視圖  
  2.  
  3. BUILD IMMEDIATE  --在視圖編寫好后創(chuàng)建  
  4.  
  5. REFRESH FAST WITH PRIMARY KEY  --根據(jù)主表主鍵增量刷新(FAST,增量)  
  6.  
  7. ON DEMAND  -- 在用戶需要時(shí),由用戶刷新  
  8.  
  9. ENABLE QUERY REWRITE  --可讀寫  
  10.  
  11. AS  
  12.  
  13. SELECT * FROM GG_ZLX_ZHU@TO_CPEES; --查詢語句  

4、視圖刷新

根據(jù)業(yè)務(wù)需要,每月不定時(shí)刷新,所以不能是JOB,而且數(shù)量多,所以也不能一個(gè)一個(gè)刷新。根據(jù)以上條件,選擇使用ORACLE自帶工具DBMS_MVIEW工具包中REFRESH方法對(duì)物化視圖進(jìn)行刷新。該方法有兩個(gè)參數(shù),***個(gè)參數(shù)是需要刷新的物化視圖名稱,第二個(gè)參數(shù)是刷新方式。我們可以寫存儲(chǔ)過來,對(duì)每個(gè)物化視圖調(diào)用一次REFRESH方法,也可以使用“,”把物化視圖連接以來,一次刷新。如下:

  1. CREATE OR REPLACE PROCDURE P_MVIEW_REFRESH AS  
  2.  
  3. BEGIN  
  4.  
  5. DBMS_MVIEW.REFRESH('GG_ZLX_ZHU','f');  
  6.  
  7. END P_MVIEW_REFRESH;  
  8.  

或者使用

  1. CREATE OR REPLACE PROCDURE P_MVIEW_REFRESH AS  
  2.  
  3. BEGIN  
  4.  
  5. DBMS_MVIEW.REFRESH('GG_ZLX_ZHU,GG_ZLX_FU','ff');  
  6.  
  7. END P_MVIEW_REFRESH;  
  8.  

注意:

1、如果需要同時(shí)刷新多個(gè)物化視圖,必須用逗號(hào)把各個(gè)物化視圖名稱連接起來,并對(duì)

每個(gè)視圖都要指明刷新方式(f、增量刷新,c、完全刷新,?、強(qiáng)制刷新)。

2、當(dāng)日志和物化視圖創(chuàng)建好后,刪除日志,則需要重新創(chuàng)建物化視圖,否則無法增量

刷新。

3、因?yàn)樯厦鎸懙奈锘晥D時(shí)根據(jù)主鍵進(jìn)行更新,因此,主表必須有主鍵。

4、以上文章中紅色是為可替換的,大家可以根據(jù)自己項(xiàng)目需求來修改。

希望上面的內(nèi)容對(duì)大家能有幫助。

忘了寫刪除方法了,日志和物化視圖要分開刪除

  1. DROP MATERIALIZED VIEW LOG ON GG_ZLX_ZHU@TOCPEES;  
  2.  
  3. DROP MATERIALIZED VIEW GG_ZLX_ZHU;  
  4.  

 

 

 

【編輯推薦】

ORACLE創(chuàng)建實(shí)例的過程

oracle時(shí)間加減的語句寫法

Oracle死鎖的處理

Oracle分頁查詢語句的寫法

Oracle條件分支語句示例

 

責(zé)任編輯:段燃 來源: CSDN
相關(guān)推薦

2009-11-02 14:53:30

Oracle創(chuàng)建用戶權(quán)

2011-02-22 10:46:02

Samba配置

2009-07-03 10:33:07

C#創(chuàng)建COM組件

2011-04-18 15:56:10

軟件測(cè)試

2009-12-08 17:56:16

WCF配置

2009-11-17 15:59:25

Oracle物化視圖

2011-09-06 15:38:20

QT安裝

2011-01-21 17:51:52

2009-04-13 12:37:18

2009-06-10 16:55:42

cygwin netb安裝

2010-03-01 17:01:03

Python編程技巧

2010-03-10 13:24:45

Zend Debugg

2010-06-17 13:10:09

Linux Grub修

2012-11-06 10:19:18

Java自定義加載Java類

2011-03-11 10:39:02

YUM安裝LAMP

2010-07-21 14:51:19

telnet-serv

2019-05-14 15:27:31

MongoDB自動(dòng)備份數(shù)據(jù)庫

2010-06-12 10:03:20

Ubuntu Grub

2009-05-06 11:09:10

Oracle物化視圖數(shù)據(jù)庫

2009-11-17 16:47:09

Oracle物化視圖日
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)