goldengate的原理:
簡單單向配置:
2.解壓檔案到乙個目錄下,在檔案目錄下開啟ggsci.exe,介面如下,輸入help,可看到各種命令提示
3.建立需要的目錄:我這裡已經建立過了
建立後再目錄下多出一下目錄
4. goldengate通過抓取源端資料庫重做日誌進行分析,將獲取的資料應用到目標端,實現資料同步。因此,源資料庫需要必須處於歸檔模式,並啟用附加日誌和強制日誌。
sql> select log_mode,supplemental_log_data_min,force_logging from v$database;
log_mode suppleme for
------------ -------- ---
archivelog yes yes
如果為no,需要新增,命令如下
1)archivelog
sql>shutdown immediate
sql>startup mount
sql>alter database archivelog;
sql>alter database open;
(2) force logging
sql>alterdatabase force logging;
(3)supplemental log data
sql>alterdatabase add supplemental log data
如果啟用ddl 支援,必須關閉recycle bin。官網的解釋如下:
if the recyclebin is enabled, the oracle goldengate ddl
trigger session receives implicitrecycle bin ddl operations that cause the
trigger to fail.
oracle 11g:
sql> alter system set recyclebin=offscope=spfile;
system altered.
如果資料庫是10g,需要關閉recyclebin並重啟;或者手工purge
recyclebin。
5.建立存放ddl資訊的user並賦權
sql>create user ggate identified by ggate default tablespace users
sql>grant connect,tesource to ggate;
sql>grant execute on utl_file to ggate;
在source db上建立測試使用者
sql>create user ggs identified by ggs
default tablespace users
sql>grant dba to ggs;
在target db上建立測試使用者
sql>create user ggt identified by ggt
default tablespace users
sql>grant dba to ggt;
6. 退出所有使用oracle 的session,然後使用sysdba許可權的使用者執行如下指令碼:
d:\>cd
d:\studysoftware\goldengate
d:\studysoftware\goldengate>sqlplus
/ as sysdba
sql>@marker_setup.sql; --提示過程中輸入使用者:ggate
sql>@ddl_setup.sql; --提示過程中輸入使用者:ggate;initialsetup
sql>@role_setup.sql; --提示過程中輸入使用者:ggate
sql>grant ggs_ggsuser_role to ggate;
sql>@ddl_enable.sql;
7. 在source 和target 上配置manager
ggsci (gg1) 1> info all
program status group lag time
since chkpt
manager stopped
ggsci (gg1) 2> edit params mgr
輸入如下內容:
port 7809
ggsci (gg1) 3> start manager
manager started.
配置sourcedb的複製佇列
連線到資料庫,測連線
ggsci (win-e1a8fkujlvs) 4> dblogin userid
ggate,password ggate
successfully logged into database.
增加乙個抽取
ggsci (win-e1a8fkujlvs) 5> add extract
ext1,tranlog,begin now
ggsci (win-e1a8fkujlvs) 6> add exttrail
d:\studysoftware\goldengate\dirdat\lt,ex
tract ext1 ---該路徑是goldengate的路徑
編輯抽取程序ext1引數
ggsci (win-e1a8fkujlvs) 8> edit params
ext1
extract ext1
userid ggate,password ggate
rmthost 127.0.0.1,mgrport 7809
rmttrail d:\studysoftware\goldengate\dirdat\lt
dynamicresolution
table ggs.*; --ggs為源資料庫,即要備份的資料庫,*表示所有表
ggsci (win-e1a8fkujlvs) 9> start ext1
sending start request to manager ...
extract ext1 starting
9.配置targetdb同步佇列
(1)在target端新增checkpoint表
ggsci (win-e1a8fkujlvs) 1> edit params
./global
ggschema ggate
checkpointtable ggate.checkpoint
新增以上2條資料
ggsci (win-e1a8fkujlvs) 2> dblogin
userid ggate,password ggate
successfully logged into database.
--說明,這個使用者是在source庫啟用ddl建立的,我在target庫也建立了這個使用者
ggsci (win-e1a8fkujlvs) 3> add
checkpointtable ggate.checkpoint
successfully created checkpoint table ggate.checkpoint.
建立同步佇列
ggsci (win-e1a8fkujlvs) 4> add replicat rep1,exttrail
d:\studysoftware\goldenga
e\dirdat\lt,checkpointtable ggate.checkpoint
replicat added.
ggsci (win-e1a8fkujlvs) 5> edit params rep1
開啟同步佇列
ggsci (win-e1a8fkujlvs) 6> start ext1
extract ext1 is already running.
ggsci (win-e1a8fkujlvs) 7> start rep1
sending start request to manager ...
replicat rep1 starting
測試data 複製
1.在source db端和target db上都建立測試表
sql> conn ggs/ggs
connected.
sql> @d:\studysoftware\goldengate\demo_ora_create.sql;
sql> conn ggt/ggt
connected.
sql> @d:\studysoftware\goldengate\demo_ora_create.sql;
在sourcedb端插入資料
sql> @d:\studysoftware\goldengate\demo_ora_insert.sql
在target端就能看到資料了
單點登入原理與簡單實現
sso認證中心發現使用者未登入,將使用者引導至登入頁面 使用者輸入使用者名稱密碼提交登入申請 sso認證中心校驗使用者資訊,建立使用者與sso認證中心之間的會話,稱為全域性會話,同時建立授權令牌 sso認證中心帶著令牌跳轉會最初的請求位址 系統1 系統1拿到令牌,去sso認證中心校驗令牌是否有效 s...
單點登入原理與簡單實現
應該是原汁原味的原文 一 假設有三個系統,分別是a.com b.com和sso.com,各自代表a系統,b系統和認證中心 疑問 若a.com系統已登入,當使用者進入b系統時,跳轉到sso後是怎麼判斷使用者已經登入的 1 在a.com系統在sso.com登入認證後 登入時是跳到sso.com登入的,因...
sso單點登入原理與簡單實現
原理如下 使用者訪問系統1的受保護資源,系統1發現使用者未登入,跳轉至sso認證中心,並將自己的位址作為引數 sso認證中心發現使用者未登入,將使用者引導至登入頁面 使用者輸入使用者名稱密碼提交登入申請 sso認證中心校驗使用者資訊,建立使用者與sso認證中心之間的會話,稱為全域性會話,同時建立授權...