標籤:oracle goldendate;ogg
oracle旗下的GOLDENDATE是用來做資料容災的一個軟體俗稱OGG,當然也可以用來支援熱備份資料庫,和跨平台跨資料庫的資料移轉,具體的瞭解可以通過自行百度。他的概念不是我要在這寫的。
下載OGG介質並且解壓縮安裝,修改oracle使用者環境變數(因為比較簡單就不在這贅述了,如果不會,可自行百度)。
因為它主要是基於資料庫日誌的,所以建議最好開啟資料庫的歸檔。並且開啟資料庫的附加日誌,以便更準確的捕獲資料庫的DML操作。
源端資料庫和目標端資料庫都要建立關於OGG同步的使用者。
1.配置mgr進程,mgr為ogg的守護進程
用oracle使用者執行ggsci命令,進入OGG
然後執行如下編輯
GGSCI (oracle1) 2> edit params mgr
PORT 7809
dynamicportlist 7800-8000 (動態連接埠設定,OGG可以定製最大256個連接埠,當指定的連接埠不可用,管理進程將從列表中選擇一個連接埠,源端和目標的發送接受進程都會使用這些連接埠)
autorestart extract *,retries 2,waitminutes 2,resetminutes 5
(這個代表一共嘗試啟動兩次,以後5分鐘清零,然後在按照2分鐘嘗試,一共啟動2次)
啟動 mgr進程
GGSCI (oracle1) 3>start mgr
2.配置Extract(抽取進程)
抽取進程組是在源端運行,負責抓取需要傳輸的資料
GGSCI (oracle1) 5>edit params eora (建立一個名為eora的抽取進程)
extract eora
dynamicresolution
userid ogg,password ogg (OGG使用者名稱和密碼)
exttrail /u01/app/OGG_11C/dirdat/et (trail檔案的存放路徑)
table scott.*; (要同步的表,*代表該模式下所有的表)
在源端添加剛才配置好的抽取進程
GGSCI (oracle1) 8> add extract eora,tranlog,begin now
在源端添加tail檔案的路徑
GGSCI (oracle1) 3>add exttrail /u01/app/OGG_11G/dirdat/et,extract eora
EXTTRAIL added.
啟動 extract
GGSCI (oracle1) 4> start extract eora
3、配置源端Pump進程(發送進程)
GGSCI (oracle1) 5> edit params pump_so
extract pump_so
dynamicresoulution
passthru
rmhost 192.168.230.129,mgrport 7809,compress (遠端ip和管理連接埠)
rmttrail /u01/app/ogg_11G/dirdat/pt (遠程tail檔案的路徑)
table scott.*;
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />
GGSCI (oracle1) 6> add extract pump_so,exttrailsource /u01/app/OGG_11G/dirdat/et
EXTRACT added.
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />
GGSCI (oracle1) 7> add rmttrail /u01/app/ogg_11G/dirdat/pt,extract pump_so
RMTTRAIL added.
啟動發送進程
GGSCI (oracle1)8>start pump_so
4、可以通過 info all 來查看剛才配置的情況,以及是否都在工作
1、配置目標的MRG(管理進程)
[[email protected] OGG]$ ggsci
GGSCI (oracle2) 2> edit params mgr (名字為mgr)
PORT 7809
dynamicportlist 7800-8000 (動態連接埠設定,OGG可以定製最大256個連接埠,當指定的連接埠不可用,管理進程將從列表中選擇一個連接埠,源端和目標的發送接受進程都會使用這些連接埠)
autostart er *
autostart extract *,waitminutes 2,retries 5 (這個代表一共嘗試啟動兩次,以後5分鐘清零,然後在按照2分鐘嘗試,一共啟動2次)
lagreporthours 1 (MGR每隔1小時檢查一次extract延遲情況)
laginfominutes 3 (如果超過三分鐘就把他作為延遲資訊記錄到錯誤記錄檔中)
lagcriticalminutes 5 (如果超過5分鐘,則把他作為警告寫到錯誤記錄檔中)
purgeoldextracts /u01/app/ogg_11g/rt*,usecheckpotints,minkeepdays 3 (自動清理tail檔案,只保留三天)
啟動 mgr進程
GGSCI (oracle2) 3>start mgr
2. 添加檢查表
說明: 當我們在GLOBALS 檔案裡指定了預設的checkpoint 之後,新的Replicat groups 在建立時會自動使用這個參數,不需要其他指令
1) 編輯全域設定檔
edit params ./GLOBALS
CHECKPOINTTABLE ogg.checkpoint
2)exit # 這裡需要退出ggsci終端
3) 添加checkpoint表
./ggsci
GGSCI (slave) 1> dblogin userid ogg,password ogg
Successfully logged into database.
GGSCI (slave) 2> add checkpointtable ogg.checkpoint
Successfully created checkpoint table OGG.CHECKPOINT.
添加完成後,可以在資料裡看到兩個CHECK開頭的表
SQL> select tname from tab;
TNAME
-------------------------------------
CHECKPOINT TABLE
CHECKPOINT_LOX TABLE
select * from checkpoint;
注1:ogg_11.1.1.1.2隻有CHECKPOINT一張表。
注2:ogg_11.2.x.x.1有CHECKPOINT,CHECKPOINT_LOX兩張表。
3、配置目標的Replicat(裝載進程)
GGSCI (oracle2) 3> edit params repl
replicat repl
userid ogg,password ogg
assumtargetdefs
reperror default,discard
discardrdfile /u01/app/ogg_11g/dirrpt/rep1.dsc, append, megabytes 50
dynamicresolution
map scott.*,target scott.*;
在目標端添加一個 replicat進程
GGSCI (oracle2 as [email protected]) 6> add replicat relp,exttrail /u01/app/OGG/dirdat/pt,checkpointtable ogg.CHECKPOINT
REPLICAT added.
啟動 裝載進程
GGSCI (oracle2 as [email protected]) 7>start repl
四、 正常資料測試
隨便修改一個scott表裡的資料,然後看目標資料庫與之對應的資料即可。
可以通過 view report 進程名 命令和stats 進程名 兩個命令來查看資料同步情況。
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />
本文出自 “學者” 部落格,請務必保留此出處http://huanming.blog.51cto.com/10214925/1671761
初探ORACLE GOLDENDATE 配置