欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
使用物化視圖來(lái)同步數據on prebuilt table
  一、怎么樣刷新

mv可以用來(lái)同步數據,一般采用主鍵同步或者是ROWID同步,我們這里只討論主鍵同步(Rowid同步其實(shí)是為Rowid在目標表上創(chuàng )建了一個(gè)隱含索引,原理跟主鍵同步一樣)。mv的主要原理就是記錄更改的日志,并同步到遠程。

一個(gè)簡(jiǎn)單的例子:
  1. SQL>create materialized view log on table_name;  
  2. SQL>create materialized view table_name [on prebuilt table] refresh fast as  
  3.    select * from table_name@lnk_db_master;  
  4. SQL>exec dbms_mview.refresh('table_name',method => 'Complete');  
  5. SQL>exec dbms_mview.refresh('table_name');  
  6. SQL> declare jobid number;  
  7.  begin  
  8.  sys.dbms_job.submit(job => jobid,  
  9.  what => 'dbms_mview.refresh(''table_name'');',  
  10.  next_date => sysdate,  
  11.  interval => 'sysdate+5/1440');  
  12.  commit;  
  13.  end;  
  14.   /  


其中

第1步是在需要復制的主表(master table)上創(chuàng )建mv log。

第2步是在遠程站點(diǎn)(想復制到的那個(gè)站點(diǎn))上創(chuàng )建mv,注意,如果選擇了選項on prebuild table的話(huà),表示在已經(jīng)存在的表上創(chuàng )建mv,需要已經(jīng)存在的表的字段與select的字段必須要對應,這個(gè)已經(jīng)存在的表中可以沒(méi)有數據。

第3步是全同步,如果沒(méi)有選擇on prebuild table,這一步可以省略,因為默認創(chuàng )建mv的時(shí)候,就會(huì )全刷新

第4步是增量刷新,在完成全刷新以后的情況下,一般都只需要做增量刷新即可。

第5步是創(chuàng )建一個(gè)自動(dòng)刷新的作業(yè)來(lái)進(jìn)行刷新,如每5分鐘刷新一次,這個(gè)操作也可以同crontab來(lái)代替。

二、相關(guān)視圖與基表信息

dba_mviews記錄了遠程站點(diǎn)上mv的數目與屬性,需要在創(chuàng )建MV的站點(diǎn)上查詢(xún)。

sys.mlog$則記錄了主站點(diǎn)上的mv的log數目,如果一個(gè)master對應到多個(gè)站點(diǎn),也只有一條記錄,對應到dba_mview_logs視圖,需要在主站點(diǎn)查詢(xún)。

sys.slog$記錄了主站點(diǎn)上已經(jīng)注冊成功的主表信息,如果一個(gè)主表被復制到多個(gè)站點(diǎn),則對應多條記錄,在主站點(diǎn)查詢(xún)。

dba_snapshot_logs存放了mv的log日志,如果對應到多個(gè)站點(diǎn),則每個(gè)站點(diǎn)都對應一條記錄,因為遠程站點(diǎn)的snapshot_id是不一樣的。其實(shí)sys.mlog$與sys.slog$的關(guān)聯(lián)就是組成dba_snapshot_logs的一個(gè)部分,通過(guò)查詢(xún)dba_views可以看到其腳本。

dba_registered_snapshots記錄了遠程站點(diǎn)的注冊信息,只記錄注冊成功的遠程站點(diǎn),通過(guò)snapshot_id可以與dba_snapshot_logs關(guān)聯(lián)。如
  1. SQL>select t.log_owner,t.master,t.log_table,t.current_snapshots,  
  2.    r.owner,r.name,r.snapshot_site  
  3.    from dba_snapshot_logs t,dba_registered_snapshots r  
  4.    where t.snapshot_id= r.snapshot_id(+);  
刪除mv的時(shí)候,需要先刪除mv,再刪除mv日志

遠程MV站點(diǎn):
  1. SQL>drop materialized view table_name;  
主站點(diǎn):
  1. SQL>drop materialized view log on table_name;  
注意,刪除mv的時(shí)候,如果主站點(diǎn)需要分發(fā)到多個(gè)遠程站點(diǎn),只有當所有遠程站點(diǎn)的MV刪除完成后,才可以刪除MV日志。

刪除遠程站點(diǎn)的MV的時(shí)候,要保證與主站點(diǎn)的通信順暢,如果網(wǎng)絡(luò )不通,則主站點(diǎn)無(wú)法正常Unregister MV,而主站點(diǎn)的mv log又因為不知道這個(gè)站點(diǎn)已經(jīng)沒(méi)有MV,而不刪除mv日志,將可能引起主站點(diǎn)mlog表的膨脹。這個(gè)時(shí)候,可以手工強行解除注冊。
  1. SQL>exec DBMS_SNAPSHOT.PURGE_SNAPSHOT_FROM_LOG (snapshot_id);  
三、故障處理與維護

如果mlog因為日志曾經(jīng)很多而變得很大的時(shí)候,對mlog的操作如日志刪除將變得很慢,因為mlog上沒(méi)有任何索引,走的都是全表掃描,這個(gè)時(shí)候,我們可以move該日志表或者是等日志表沒(méi)有記錄的時(shí)候truncate該表。
  1. SQL>alter table mlog$_table_name move;  
如果要對有mv復制的表增加字段,最好在停機情況下進(jìn)行,因為這樣不會(huì )產(chǎn)生mv log,而且最好采用prebuild模式,因為這種模式下,刪除mv的定義將保留表(也就是不刪除表與相關(guān)數據)。相關(guān)步驟:

停機模式,并且在使用prebuild的情況下:

1、遠程站點(diǎn):
  1. SQL>drop materialized view mv_table; --這里刪除mv,保留原表  

2、主站點(diǎn):

  1. SQL>alter table master_table add new_field number;  

3、遠程站點(diǎn):

  1. SQL>alter table mv_table add new_field number;  
4、遠程站點(diǎn):
  1. SQL>create materialized view mv_table on prebuilt table  
  2.    refresh fast as  
  3.    select * from master_table@lnk_db;  
5、建立快速刷新的作業(yè),這個(gè)時(shí)候不需要全刷新了,因為數據都在

為什么要停機操作,是因為創(chuàng )建快速刷新的mv的時(shí)候,將刪除主站點(diǎn)上創(chuàng )建mv時(shí)間點(diǎn)之前的相關(guān)log,所以在刪除mv與重新創(chuàng )建mv之前,不能對主表有任何dml產(chǎn)生新的日志,否則將可能引發(fā)數據的不一致。



本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
物化視圖日志的維護
物化視圖與數據遷移
Oracle物化視圖日志與快速刷新說(shuō)明
物化視圖刪除的順序
物化視圖日志結構
oracle物化視圖詳解
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久