1. 程式人生 > >oracle快照原理及如何實現生成快照

oracle快照原理及如何實現生成快照

oracle資料庫的快照是一個表,它包含有對一個本地或遠端資料庫上一個或多個表或檢視的查詢的結果。也就是說快照根本的原理就是將本地或遠端資料庫上的一個查詢結果儲存在一個表中。

   以下是建立的Snapshot,目的是從業務資料庫上將資料Copy到處理資料庫上,是不同的兩個伺服器之間對資料copy。

  第一步:在處理伺服器上的Oracle終端,建立database link,業務資料庫伺服器SID為TEST

   create database link TEST_DBLINK.US.ORACLE.COM
   connect to AMICOS identified by AMICOS
    using 'test';

   第二步:在業務資料庫上對應的表建立快照日誌 (如果建立的是快速重新整理,則需要這步)

  Create snapshot log on A_Table;

   第三步:建立Snapshot   快照名稱為:Test_SnapShot

   Create snapshot  Test_SnapShot
   REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/24
   as select * from
[email protected]
_DBLINK

   說明:REFRESH 是重新整理方法

  重新整理方式有:COMPLETE 和FAST和force三種:
     fast        快速重新整理,用snapshot log,只更新時間段變動部分 
     complete    完全重新整理,執行SQL語句 
     force       自動判斷重新整理,介於fast和complete之間
  

  而START WITH 是說明開始執行的時間。

  Next是下次執行的時間

   而AS以後是構成快照的查詢方法。

   相關的方法:

  更改快照
ALTER SNAPSHOT Test_SnapShot
REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/2;

    手動重新整理快照 在命令介面執行:
EXEC DBMS_SNAPSHOT.REFRESH('Test_SnapShot ','C');
第一個引數是要重新整理的快照名
第二個引數是重新整理的方式,F----FAST, C---COMPLETE

    檢視快照最後重新整理的日期
SELECT NAME,LAST_REFRESH
  FROM ALL_SNAPSHOT_REFRESH_TIMES;


   最後非常的方案:

  1:為需要做Snapshot的表建立Snapshot日誌

  create snapshot log on t1 with rowid;    這裡使用ROWID建立日記的引數

  2:採用Fast的方式建立快照,使用rowid做為參考引數

  create snapshot fb_test_b refresh fast with rowid start with sysdate next sysdate+1/1440  as  select * from
[email protected]
_dblink;  

  最好能按照rowid來建立快照。要不然就必須要為表建立Primary Key。


Oracle 快照及 dblink使用 (兩臺伺服器資料同步)
--名詞說明:源——被同步的資料庫
--          目的——要同步到的資料庫

/*一、建立dblink:*/
--1、在目的資料庫上,建立dblin
drop database link dblink_anson;
Create public
database link dblink_anson
Connect to lg identified by lg using 'SDLGDB';
--源資料庫的使用者名稱、密碼、伺服器名k


/*二、建立快照:*/
--1、在源和目的資料庫上同時執行一下語句,建立要被同步的表
drop table tb_anson;
create table tb_anson(c1 varchar2(12));
alter table tb_anson add constraint pk_anson primary key (C1);

--2、在目的資料庫上,測試dblink
select * from
[email protected]
_anson;
select * from tb_anson;

--3、在源資料庫上,建立要同步表的快照日誌
Create snapshot log on tb_anson;

--4、建立快照,快照(被同步(源)資料庫服務必須啟動)
Create snapshot sn_anson as select * from [email protected]_anson;

--5、設定快照重新整理時間
Alter snapshot anson  refresh fast Start with sysdate+1/24*60 next sysdate+10/24*60;
--oracle自動在1分鐘後進行第一次快速重新整理,以後每隔10分鐘快速重新整理一次
Alter snapshot anson  refresh complete Start with sysdate+30/24*60*60 next sysdate+1;
--oracle自動在30鈔後進行第一次完全重新整理,以後每隔1天完全重新整理一次

--6、手動重新整理快照
begin
dbms_refresh.refresh('"CS"."SN_ANSON"');
end;

相關推薦

oracle快照原理如何實現生成快照

oracle資料庫的快照是一個表,它包含有對一個本地或遠端資料庫上一個或多個表或檢視的查詢的結果。也就是說快照根本的原理就是將本地或遠端資料庫上的一個查詢結果儲存在一個表中。    以下是建立的Snapshot,目的是從業務資料庫上將資料Copy到處理資料庫上,是不同的兩個伺服器之間對資料copy。  

區塊鏈Oracle原理實現

區塊鏈本身是封閉的。區塊鏈的確定性模型基於這樣一個事實:在交易執行時區塊鏈不能執行任何來自外部的邏輯,所有的外部資料只能通過交易進

關於base64編碼的原理實現

一個 replace 編碼範圍 func nco 都是 style bit 如果 我們的圖片大部分都是可以轉換成base64編碼的data:image。 這個在將canvas保存為img的時候尤其有用。雖然除ie外,大部分現代瀏覽器都已經支持原生的基於base64的enco

HDFS的快照原理和Hbase基於快照的表修復

才會 vertical 根據 註意 efault 失敗 機制 soft hot 前一篇文章《HDFS和Hbase誤刪數據恢復》主要講了hdfs的回收站機制和Hbase的刪除策略。根據hbase的刪除策略進行hbase的數據表恢復。本文主要介紹了hdfs的快照原理和根據快照進

java設計模式singleton原理實現

最新 不必要 -- 不同 適合 所有 引用 ati cnblogs 題外話:我要變強,要變強,變強,強。 1、 Singleton的應用場景以及為什麽要使用singleSingleton是一生只能有一個實例的對象。只能由singleton自身創建一個實例。外人是無法創建實例

決策樹原理實現

方式 -1 變化 log nbsp 導致 結點 以及 重要 1、決策樹原理 1.1、定義 分類決策樹模型是一種描述對實例進行分類的樹形結構。決策樹由結點和有向邊組成。結點有兩種類型:內部節點和葉節點,內部節點表示一個特征或屬性,葉節點表示一個類。

RPC原理實現

.get 版本 pcs 連接方式 正常 zookeepe list 接口 分布式計算 1 簡介 RPC 的主要功能目標是讓構建分布式計算(應用)更容易,在提供強大的遠程調用能力時不損失本地調用的語義簡潔性。為實現該目標,RPC 框架需提供一種透明調用機制讓使用者不必顯式的

SSO單點登錄原理實現

response dem nbsp boolean 配置文件 實現 有效 ucc ons 1.SSO分類   根據實現的域不同,可以把SSO分為同域SSO、同父域SSO、跨域SSO三種類型。 2.SSO實現原理 a.打開統一的登錄界面 b.登錄,同時向服務器寫入Cookie

線程池的原理實現

execute inter void date() 超過 緩沖 線程池大小 exceptio 調整 1、線程池簡介: 多線程技術主要解決處理器單元內多個線程執行的問題,它可以顯著減少處理器單元的閑置時間,增加處理器單元的吞吐能力。 假設一個服務器完成一項任務所需時間為:T1

線程池原理實現

任務隊列 批量 not alt con 成了 代碼 pla extends 1、線程池簡介: 多線程技術主要解決處理器單元內多個線程執行的問題,它可以顯著減少處理器單元的閑置時間,增加處理器單元的吞吐能力。 假設一個服務器完成一項任務所需時間為:T1

四.HashSet原理實現學習總結

throw map 所有 cti con name 保持 nts equal 在上一篇博文(HashMap原理及實現學習總結)詳細總結了HashMap的實現過程,對於HashSet而言,它是基於HashMap來實現的,底層采用HashMap來保存元素。所以如果對HashMa

五.HashTable原理實現學習總結

容量 區別 存儲 們的 如果 isn cte ash ref 有兩個類都提供了一個多種用途的hashTable機制,他們都可以將可以key和value結合起來構成鍵值對通過put(key,value)方法保存起來,然後通過get(key)方法獲取相對應的value值。一個是

CGLib動態代理原理實現

aop object col 子類 doc pos 輸出 intercept pub JDK實現動態代理需要實現類通過接口定義業務方法,對於沒有接口的類,如何實現動態代理呢,這就需要CGLib了。CGLib采用了非常底層的字節碼技術,其原理是通過字節碼技術為一個類創建子類,

sso簡單原理實現

登錄用戶 會話 例子 www 哪些 java類 pad adb 應對 轉自:http://www.cnblogs.com/ywlaker/ 一、單系統登錄機制 1、http無狀態協議   web應用采用browser/server架構,http作為通信協議。http是無

網站統計中的數據收集原理實現

fun 美的 置配 客戶 etc 分析 獲取 固定 open 網站統計中的數據收集原理及實現 網站數據統計分析工具是網站站長和運營人員經常使用的一種工具,比較常用的有谷歌分析、百度統計和騰訊分析等等。所有這些統計分析工具的第一步都是網站訪問數據的收集。目前主流的數據收

智能指針原理實現(1)- shared_ptr

red ++ 直接 初始 targe -- div urn 記錄 C++沒有內存回收機制,每次程序員new出來的對象需要手動delete,流程復雜時可能會漏掉delete,導致內存泄漏。於是C++引入智能指針,可用於動態資源管理,資源即對象的管理策略。 一、智能指針類別 智

智能指針原理實現(2)- unique_ptr

unique clas 結束 基礎 無法 body 智能指針 周期 文件 只允許基礎指針的一個所有者。 可以移到新所有者(具有移動語義),但不會復制或共享(即我們無法得到指向同一個對象的兩個unique_ptr)。 替換已棄用的 auto_ptr。 相較於 boost::s

分布式鎖原理實現方式

ack 常用 ima 個數 tar 刪除 不能 cap lock 本文轉自:http://www.hollischuang.com/archives/1716 目前幾乎很多大型網站及應用都是分布式部署的,分布式場景中的數據一致性問題一直是一個比較重要的

【數據結構】ArrayList原理實現學習總結(2)

!= 需要 但是 object count def 原理 arrays 位置 ArrayList是一個基於數組實現的鏈表(List),這一點可以從源碼中看出: transient Object[] elementData; // non-private to si

【數據結構】ArrayList原理實現學習總結

sset bsp perm arraylist 節點 article cell public arr 關於Java集合的小抄中是這樣描述的: 以數組實現。節約空間,但數組有容量限制。超出限制時會增加50%容量,用System.arraycopy()復制到新的數組,因此最好能