欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Oracle物化視圖管理及重要視圖怎么理解

這篇文章主要講解了“Oracle物化視圖管理及重要視圖怎么理解”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Oracle物化視圖管理及重要視圖怎么理解”吧!

龍灣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

MView重要視圖

Oracle文檔中MView相關(guān)視圖的鏈接Materialized View and Refresh Group Views。


在源數(shù)據(jù)庫端的相關(guān)視圖


DBA_BASE_TABLE_MVIEWS

此視圖與系統(tǒng)視圖SYS.SLOG$相對應(yīng)。

視圖DBA_BASE_TABLE_MVIEWS記錄了使用MView Log訪問基表的相關(guān)刷新的信息。換句話說就是記錄了使用了MView Log并且做過快速刷新的MView的信息,必須同時滿足有MView Log以及做過快速刷新這兩個條件,缺一不可。

列名 描述
OWNER 基表的OWNER
MASTER 基表的名稱
MVIEW_LAST_REFRESH_TIME 基于這個基表的MView最后的快速刷新的時間
MVIEW_ID 基于這個基表的MView在數(shù)據(jù)庫中的ID,這個可以和DBA_REGISTERED_MVIEWS關(guān)聯(lián)找出相應(yīng)的MView的名稱

備注:SYS.SLOG$的作用 SYS.SLOG$記錄了注冊在源數(shù)據(jù)庫端的能進(jìn)行快速刷新的MView的信息。這個信息在進(jìn)行快速刷新的時候會備用到,同時也會用來維護(hù)基表的MView Log信息。


DBA_REGISTERED_MVIEWS

此視圖與系統(tǒng)視圖SYS.REG_SNAP$相對應(yīng)。

視圖DBA_REGISTERED_MVIEWS記錄了所有在主站點(diǎn)上面注冊的MView的相關(guān)的信息,這里保存的東西只是起提供信息性的作用。當(dāng)MView在創(chuàng)建的時候Oracle會自動的將MView的信息寫入到此視圖中,但是也不排除會有失敗的情況,要是失敗了的話需要手動的使用DBMS_MVIEW包中的REGISTER_MVIEW進(jìn)行注冊。

詳細(xì)的列描述就不列了,具體的參看文檔。

備注:SYS.REG_SNAP$的作用 SYS.REG_SNAP$記錄了注冊在源數(shù)據(jù)庫端的MView的信息,這個表只是為了提供信息而用。


DBA_MVIEW_LOGS

此視圖與系統(tǒng)視圖SYS.mlog$相對應(yīng)。

此視圖記錄了源數(shù)據(jù)庫中的所有的MView Log的相關(guān)信息。

詳細(xì)的列描述就不列了,具體的參看文檔。


在MView數(shù)據(jù)庫端的相關(guān)視圖


DBA_MVIEWS

此視圖與系統(tǒng)視圖SYS.SNAP$相對應(yīng)。

此視圖我們在之前已經(jīng)接觸了很多了,視圖里面保存了數(shù)據(jù)庫中所有的MView的信息。我們進(jìn)行的大部分物化視圖的查詢工作都要基于這個視圖來進(jìn)行。

詳細(xì)的列描述見文檔。


DBA_MVIEW_REFRESH_TIMES

此視圖與系統(tǒng)視圖SYS.SNAP_REFTIME$相對應(yīng)。

此視圖記錄了MView最后刷新的時間,這在我們檢查MView是否正常的刷新過時很有用的。

詳細(xì)的列描述見文檔。


DBA_REFRESH和DBA_REFRESH_CHILDREN

這兩個視圖我們在之前也已經(jīng)接觸過了,主要是記錄了刷新組相關(guān)的信息。


MView相關(guān)包

在進(jìn)行MView的維護(hù)的時候使用的最多的就是DBMS_MVIEW和DBMS_REFRESH這兩個包了,前一個用來進(jìn)行MView的維護(hù),另外一個進(jìn)行MView刷新組的維護(hù)。

相關(guān)的Oracle文檔

  • DBMS_MVIES

  • DBMS_REFRESH


一些MView維護(hù)的相關(guān)問題


SNAPSHOT vs. Materialized View

SNAPSHOT == Materialized View (老版本的Oracle中管MView叫SNAPSHOT Oracle物化視圖管理及重要視圖怎么理解 )

  • DBMS_SNAPSHOT == DBMS_MVIEW

  • CREATE SNAPSHOT == CREATE MATERIALIZED VIEW


清理無效的MView Log

1. 查詢MV表信息

SELECT * FROM DBA_BASE_TABLE_MVIEWS;

  • ALL_BASE_TABLE_MVIEWS: All materialized views with log(s) in the database that the user can see

2. 查詢已注冊的快照信息

col owner for a15
col name for a30
col snapshot_site for a15
col refresh_method for a15
select owner, name, snapshot_site, refresh_method fromdba_registered_snapshots;

3. 對比上面兩個結(jié)果找出很久沒有刷新的MV ID,然后進(jìn)行UNREGISTER_MVIEW操作

EXEC DBMS_MVIEW.UNREGISTER_MVIEW(mviewowner, mviewname, mviewsite);

  • mviewowner: MView的OWNER。

  • mviewname: MView的名字。

  • mviewsite: 這個可以從DBA_REGISTERED_MVIEWS中的MVIEW_SITE中看到。

4. 清理MVLOG記錄

SQL> EXEC DBMS_MVIEW.PURGE_MVIEW_FROM_LOG(MVID);


查詢MView Log的大小

set serveroutput on
 
declare v_output number;
begin
  dbms_output.put_line('Owner                MV Table Name                            MV Log Size   ');
  dbms_output.put_line('-------------------- ---------------------------------------- --------------');
  for c_cursor in (select owner, object_name from all_objects whereobject_name like 'MLOG$_%') LOOP
    execute immediate 'select count(*) from ' || c_cursor.owner||'.'|| c_cursor.object_name into v_output;
    dbms_output.put_line(
        rpad(substr(c_cursor.owner,0,20),20,' ')||' '
        ||rpad(substr(c_cursor.object_name,7,40),40, ' ')
        ||' '||v_output);
  end loop;
end;
/
 
set serveroutput off


檢查MV的刷新兼容性

-- build table MV_CAPABILITIES_TABLE
SQL> @?/rdbms/admin/utlxmv.sql
 
-- explain mv
TRUNCATE TABLE MV_CAPABILITIES_TABLE;
EXECUTE DBMS_MVIEW.EXPLAIN_MVIEW('mv_t3');
 
-- Or like this
TRUNCATE TABLE MV_CAPABILITIES_TABLE;
BEGIN
  DBMS_MVIEW.EXPLAIN_MVIEW ('SELECT * FROM oe.orders@orc1.world o
  WHERE EXISTS (SELECT * FROM oe.customers@orc1.world c
    WHERE o.customer_id = c.customer_id AND c.credit_limit > 500)');
END;
/
 
-- 查看結(jié)果
COL MVOWNER FOR A10
COL MVNAME FOR A20
COL MSGTXT FOR A65
SELECT MVOWNER,MVNAME,CAPABILITY_NAME,POSSIBLE,MSGTXT FROMMV_CAPABILITIES_TABLE;


查詢MView刷新延時

set linesize 130
column interval format 999999
column "rgroup owner" format a20
column "refresh group" format a20
column "minutes behind" format 9999.99
column "master link" format a20
column "mview owner" format a15
column next_date format a20
 
SELECT
--    int.rowner "rgroup owner",
--    int.rname "refresh group",
    mv.owner as "mview owner",
    mv.mview_name as "mview name",
    mv.master_link as "master link",
    round(1440*(sysdate - mv.last_refresh_date)) as "minutes behind",
    to_char(int.next_date, 'yyyy-mm-dd hh34:mi:ss') "next date",
    round(int.interval*1440) "interval"
FROM dba_mviews mv,
(
    SELECT child.owner, child.name, child.rowner, child.rname,job.next_date, job.next_date - job.last_date as interval
    FROM dba_refresh ref, dba_refresh_children child, dba_jobs job
    WHERE ref.rname = child.rname AND ((upper(job.what) LIKE'%'||ref.rname||'%')
        OR (upper(job.what) LIKE '%'||ref.rname||'%'))
) int
WHERE mv.owner = int.owner(+) AND mv.mview_name = int.name(+)
ORDER BY (sysdate - mv.last_refresh_date) * 1440 DESC, mv.owner,mv.mview_name;

感謝各位的閱讀,以上就是“Oracle物化視圖管理及重要視圖怎么理解”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Oracle物化視圖管理及重要視圖怎么理解這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

新聞名稱:Oracle物化視圖管理及重要視圖怎么理解
鏈接地址:http://chinadenli.net/article2/ppddic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)網(wǎng)頁設(shè)計公司外貿(mào)網(wǎng)站建設(shè)微信公眾號關(guān)鍵詞優(yōu)化網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司