日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下同步库的创建

發布時間:2024/4/15 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下同步库的创建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

A. 安裝需求

1)內存要求

GoldenGate對操作系統內存的需求主要取決于ExtractReplicat進程數,一般建議>2G

2DISK空間需求

  由于要數據庫必須設置為歸檔模式,所以要求至少保存7天以上的日志,建議剩余空間在10G~100G之間。

3)對于RAC環境

GoldenGate的相關軟件和工作目錄需要配置在shared disk環境中,從而保證對所有node都是可用的,從任何一個node都可以啟動GoldenGate的進程,當其中一個node出現異常時,可以在剩余的node啟動而無須修改任何配置參數。否則如果運行在單個node上的話,需要將剩余node中的歸檔日志通過一定的技術共享出來并加載到GoldenGate運行節點。

對于RAC環境,GoldenGate要求所有node必須保持時鐘同步,同時必須保持所有RAC node和運行extract進程的node節點保持時鐘同步。因為GoldenGate會比較本地的系統時間和commit時間戳。所以不能忽略這個設置。否則可能導致數據復制的紊亂


本次測試環境:

環境:RHEL5U464

Oracle10.2.0.1.0-64,全部都開啟了歸檔,字符集一致

用戶:scott,表結構都在,target表沒有數據,源表有數據

Ogg也是64位的最新版本;



B. 安裝過程

1、 oracle用戶登錄

#su - oracle

2、 /u01目錄下創建oraclegoldengate目錄

$ cd ?/u01/app/oracle

$ mkdir ?/u01/app/oracle/ogg11

3、 將解壓好的goldengate文件解壓到ogg11目錄中

$ cd ?/u01/app/oracle/ogg11

$ tar ?xvf ?/soft/fbo_ggs_Linux_x64_ora10g_64bit.tar ? //將其它目錄下的壓縮包中的文件,解壓到當前目錄下

-------------------------------------------------------------------------------------------

上述操作可以概括為,圖形化取得,解壓的最終ogg安裝文件夾,放到一個位置,改變文件夾的擁有者為oracle.oinstall 就可以了。 這樣oracle用戶就可以操作了。。。

-------------------------------------------------------------------------------------------


4、 配置oracle用戶的環境變量.Bash_profile文件

TMP=/tmp;export TMP

TMPDIR=$TMP;export TMPDIR

ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;export ORACLE_HOME

ORACLE_SID=ogg1;export ORACLE_SID

LD_LIBRARY_PATH=/ogg:$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

PATH=/ogg:$ORACLE_HOME/bin:$PATH; export PATH


注意:

除了紅字字體,皆為oracle用戶的原先環境變量,紅色字體是后加的,給ogg使用的環境變量。

紫色的為數據庫的sid ,這里是源端的數據庫SID,為了方便識別數據庫source端和target端。



5、 執行ggsci命令(通常是在OGG11文件夾下執行)

$ ggsci

GGSCI (localhost.localdomain) 1>create subdirs ? ?//創建初始化文件

GGSCI (localhost.localdomain) 1>quit ? ? ?//退出,安裝完成


C. 配置數據庫(2個數據庫都要配)

1、 創建ogg數據庫用戶(2個數據庫)

這里我們使用默認的SCOTT用戶所以不用創建用戶;

2、 Sql> @demo_ora_create ? 創建試驗表(在兩個scott用戶下執行這腳本,各生成2個空表)

3、 Sql> @demo_ora_insert ? ?在源端導入數據(目標端不用執行此腳本)


先進入/ogg目錄 ,然后再sqlplus,否則要在腳本前加上@/ogg/xxx.sql


4、 數據庫開啟redo額外信息功能(源端配置)

sys> alter database add supplemental log data; 將額外的信息(除了rowid之外的日志信息)添加到redo日志里面。

sys> alter system switch logfile; ?切換日志文件

sys> select supplemental_log_data_min from v$database; 檢查是否開啟(ogg必須開啟,ogg依靠這個額外信息來進行工作)

sys>exit

5、 Ogg配置(源)

Ggsci> dblogin userid system,password oracle ?登陸到oracle數據庫

*Ggsci> add trandatascott.tcustmer指定scott用戶schematcustmer表的額外信息添加到redo日志中,這樣ogg就能捕獲分析傳到遠端,否則數據庫開啟的附加信息也沒有意義,下同;

*Ggsci> add trandata scott.tcustord ? 指定scott用戶schematcustord表的額外信息添加到redo日志中


小提示: 如果所有表都要同步,可以使用SCOTT.*來表示哦^.^


添加完成之后可以看到完成狀態

GGSCI (ogg1) 4> info trandata scott.*


Logging of supplemental redo log data is disabled for table SCOTT.BONUS.


Logging of supplemental redo log data is disabled for table SCOTT.DEPT.


Logging of supplemental redo log data is disabled for table SCOTT.EMP.


Logging of supplemental redo log data is disabled for table SCOTT.SALGRADE.


Logging of supplemental redo log data is enabled for table SCOTT.TCUSTMER


Logging of supplemental redo log data is enabled for table SCOTT.TCUSTORD


a、配置ogg管理進程(2個端都要執行)

Ggsci> edit params mgr ?à ?

port 7809 ? ?編輯端口7809(默認)

GGSCI> START MGR ? ? ? ? ? ? ? ? ? ? ?啟動管理進程

GGSCI> INFO MGR ? ? ? ? ? ? ? ? ? ? ? 查看管理進程


b、增加extract進程(source端,初始化進程)

Ggsci> add extract einikk, sourceistable ?

增加抽取進程einixx,eini為規定格式XX隨便寫,sourceistable表示一次全部抽取出來,是初始化操作


c、編輯extract進程

?GGSCI> edit params einikk ?為這個抽取組增加一個配置文件(大小寫皆可)

extract einikk

userid system, password "111111"

rmthost 192.168.1.31, mgrport 7809

rmttask replicat,group rinikk

table scott.*;


d、 增加replicat進程(target端配置,接收進程)

Ggsci> add replicat rinikk, specialrun


e、 編輯replication進程(target)

Ggsci> edit params rinikk

replicat rinikk

assumetargetdefs

userid system, password 111111

discardfile ./dirrpt/rinikk.dsc, purge

map scott.*, target scott.*;


f、 啟動replication進程(target)

Ggsci> start replicat rinikk


g、 啟動extract進程(source端)

Ggsci> start extract einikk


注意:初始化進程,在info all里面是看不到進程狀態的,可以使用view report einikk來觀察初始化進程的執行情況。當然了,這個是需要等待一會的,立刻看是沒有東西的。



1、 新增extract進程(source端)

Ggsci>add extract eorakk, ?tranlog, ?begin now, ?threads 1

--ora表示聯機,tranlog表示 從日志抓取,begin now 現在就抓取,threads 1 表示只有1個實例源


2、 編輯extract進程參數文件(source端)

Ggsci> edit params eorakk

extract ?eorakk

userid system, password 111111

rmthost 192.168.1.31, mgrport 7809

rmttrail ./dirdat/kk這個是遠端的trail位置,不是本地

table scott.*;


3、 新增遠程trail文件(source端)

Ggsci> add rmttrail ./dirdat/kk, ?extract eorakk, ?megabytes 5 ?

./dirdat/kk遠程的trail文件路徑(需要執行命令的時候,在/ogg目錄下)

extract eorakk 代表遠程trail文件對應的本地extract進程

megabytes 5 代表每個文件大小為5M,不指定就是10M


4、 Start extract eorakk process(source node)

Ggsci> start extract eorakk


Tips: when start eorakk extract process ,wait a moment, you will see the rmttrail file from rmt_computer(command: ls /ogg/dirdat/). And there is not anything before start extract eorakk process ^.^


5、 Edit global params(target node)

Ggsci> edit ?params ?./GLOBALS ? ? ? ? ? ? ? ? ? 全局英文一定要大寫,否則必定出錯!

checkpointtable system.scottchkpttable如果權限足夠,最好放在對應的用戶下


6、 Connect oracle from ggsci(target node)

Ggsci> dblogin userid system, password 111111連接數據庫

Ggsci> add checkpointtable增加專用檢查點表


7、 Add replicat rorakk process(target node)

Ggsci> add replicat rorakk, ?exttrail ?./dirdat/kk

exttrail ?./dirdat/kk指定本進程的本地的接收trail文件為 ./dirdat/kk


8、 Edit replicat rorakk params(target node)

Ggsci> edit params rorakk

replicat rorakk

userid system, password 111111

handlecollisions當目標端已有數據時,略過重復數據錯誤

assumetargetdefs說明源和目標的表結構完全相同

discardfile ./dirrpt/rorakk.dsc, purge

map scott.*, target scott.*;


9、 Start replicat rorakk process(target node)

Ggsci> start replicat rorakk


至此,ogg單向DML復制配置完成,去源端數據庫修改一下,再提交,然后再來target端看看數據庫里面的數據是不是被同步了,很簡單吧^o^



進階設置:

1、 Source端配置

配置MGR

Ggsci> edit params mgr ? ? ? ? ? ? ?source端和target端都要配置

port 7809

dynamicportlist 7800-8000當端口無效的時候,自動切換其他端口。

purgeoldextracts./dirdat/*, usecheckpoints, minkeepdays 7自動清理過期(7)trail文件

autorestart extract *, waitminutes 2, retries 5

-- 指定Extract/Replicat進程的自動重啟(每次嘗試時間間隔為2秒,最多嘗試5)

--會有警告出現,但是沒有關系,以上設置正常可用;


啟動MGR

Ggsci> start mgr


新增extract進程

Ggsci> add extract eorakk, ?tranlog, ?begin now, ?threads 1


編輯Extract文件

Ggsci> edit extract eorakk

extract ?eorakk

userid system, password 111111

exttrail ./dirdat/dd

table scott.*;


增加本地trail文件

ggsci> add extrail ./dirdat/dd, extract eorakk ? ?本地trail文件名和遠程的不要一致,可能會導致異常


增加PUMP進程

Ggsci>add extract pumpkk, exttrailsource ./dirdat/dd, begin now


增加指定遠程trail文件位置

Ggsci> add rmttrail ./dirdat/kk, extract pumpkk


編輯pump進程參數

Ggsci> edit params pumpkk

extract pumpkk

userid system, password 111111

rmthost 192.168.1.31, mgrport 7809遠程主機信息

rmttrail ./dirdat/kk遠程trail

table scott.*; ? ? ? ? ? ? ? ? ? ? ? ? ? ?遠程scheme及對象


2、 Target端配置

配置MGR

Ggsci> edit params mgr ? ? ? ? ? ? ?source端和target端都要配置

port 7809

dynamicportlist 7800-8000當端口無效的時候,自動切換其他端口。

purgeoldextracts./dirdat/*, usecheckpoints, minkeepdays 7自動清理過期(7)trail文件autorestart extract *, waitminutes 2, retries 5

-- 指定Extract/Replicat進程的自動重啟(每次嘗試時間間隔為2秒,最多嘗試5)

--會有警告出現,但是沒有關系,以上設置正常可用;


啟動MGR

Ggsci> start mgr


Edit global params(target node)

Ggsci> edit ?params ?./GLOBALS ? ? ? ? ? ? ? ? ? 全局英文一定要大寫,否則必定出錯!

checkpointtable ?system.scottchkpttable如果權限足夠,最好放在對應的用戶下


Connect oracle from ggsci(target node)

Ggsci> dblogin userid system, password 111111連接數據庫

Ggsci> add checkpointtable增加專用檢查點表


Add replicat rorakk process(target node)

Ggsci> add replicat rorakk, ?exttrail ?./dirdat/kk ,begin now, checkpointtable ?system.checkpoint

exttrail ?./dirdat/kk ?指定本進程的本地的接收trail文件為 ./dirdat/kk


編輯參數文件

Ggsci> edit params rorakk

replicat rorakk

userid system, password 111111

handlecollisions當目標端已有數據時,略過重復數據錯誤

assumetargetdefs說明源和目標的表結構完全相同

discardfile ./dirrpt/rorakk.dsc, purge

map scott.*, target scott.*;


啟動接收進程

Ggsci> start replicat rorakk


轉載于:https://blog.51cto.com/lfansh/1332084

總結

以上是生活随笔為你收集整理的linux下同步库的创建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。