程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 使用OGG,兩個Oracle庫之間單向同步數據

使用OGG,兩個Oracle庫之間單向同步數據

編輯:Oracle教程

使用OGG,兩個Oracle庫之間單向同步數據


配置:源數據庫100.100.100.21 實例名dbsid2

目標數據庫100.100.100.41 實例名db1

實驗目標:源數據庫中的 scott用戶 emp表同步到目標數據庫 scott中的test表

安裝包為文件ogg112101_fbo_ggs_Linux_x64_ora10g_64bit.zip

解壓之後,然後再tar解壓tar -xvf fbo_ggs_Linux_x64_ora10g_64bit.tar -C /oracle/ogg/

1. 源數據庫(dbsid2)配置:

(1) 用戶權限:grant dba to scott

(2) 打開歸檔模式

(3)附加日志:
alter database add supplemental log data;

alter database force logging;

(4)將目標數據庫db1信息添加到 tnsnames.ora中

2. 目標數據庫(db1)配置:

(1) scott用戶建立空表test,表結構和emp相同

(2) 打開歸檔模式

(3) 附加日志:

alter database add supplemental log data;

alter database force logging;

(4) 將源數據庫(dbsid2)的信息添加到 tnsnames.ora中

3. 源數據庫服務器 goldengate安裝

(1) 解壓到/oracle/ogg目標下面

(2) 運行./ggsci

(3) 新建子目錄: GGSCI (host2) 1> create subdirs

Creating subdirectories under current directory /oracle/ogg

Parameter files /oracle/ogg/dirprm: already exists

Report files /oracle/ogg/dirrpt: created

Checkpoint files /oracle/ogg/dirchk: created

Process status files /oracle/ogg/dirpcs: created

SQL script files /oracle/ogg/dirsql: created

Database definitions files /oracle/ogg/dirdef: created

Extract data files /oracle/ogg/dirdat: created

(4) 配置字符管理的Port參數

GGSCI (host2) 6> edit params mgr

輸入: PORT 7809 然後保存

檢查輸入情況:

GGSCI (host2) 7> view params mgr

PORT 7809

(5) 啟動Start mgr:

GGSCI (host2) 8> start mgr

MGR is already running.

GGSCI (host2) 9> info mgr

Manager is running (IP port host2.7809).

4. 目標數據庫服務器 goldengate安裝(和源目標服務器相同)

(1) 解壓到/oracle/ogg目標下面

(2) 運行./ggsci

(3) 新建子目錄: GGSCI (host2) 1> create subdirs

Creating subdirectories under current directory /oracle/ogg

Parameter files /oracle/ogg/dirprm: already exists

Report files /oracle/ogg/dirrpt: created

Checkpoint files /oracle/ogg/dirchk: created

Process status files /oracle/ogg/dirpcs: created

SQL script files /oracle/ogg/dirsql: created

Database definitions files /oracle/ogg/dirdef: created

Extract data files /oracle/ogg/dirdat: created

(4) 配置字符管理的Port參數

GGSCI (host2) 6> edit params mgr

輸入: PORT 7809 然後保存

檢查輸入情況:

GGSCI (host2) 7> view params mgr

PORT 7809

(4) 啟動Start mgr:

GGSCI (host2) 8> start mgr

MGR is already running.

GGSCI (host2) 9> info mgr

Manager is running (IP port host2.7809).

5. 配置源數據庫服務器(dbsid2)傳輸進程extract

(1)添加名字為source1的進程

GGSCI (host2) 19> add extract source1,sourceistable

EXTRACT added.

(3) 修改source1參數

GGSCI (host2) 20> edit params source1

添加如下,並且保存

extract source1

setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

userid scott,password tiger

rmthost 100.100.100.41,mgrport 7809

rmttask replicat,group target1

table scott.emp;

注:1、需要復制表的用戶名為scott,密碼tiger

2、目標數據庫(db1)的IP為100.100.100.41,端口為7809

3. 目標數據庫(db1)的接收進程名字為 target1

4. 需要復制的table為: scott.emp表。

查看修改的參數

GGSCI (host2) 21> view params source1

6. 配置目標數據庫db1 replicat接收進程

(1) 添加replicat進程,名字為source1

GGSCI (host2) 9> add replicat target1,specialrun

REPLICAT added.

(2) 添加修改參數:GGSCI (host2) 13> edit params target1

replicat target1

setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

assumetargetdefs

userid scott,password tiger

discardfile ./dirrpt/target1.dsc,purge

map scott.emp,target scott.test;

注:1. 目標數據庫賬號為scott,tiger

2. 將源數據庫的表scott.emp同步到scott.test表中

查看修改之後

GGSCI (host2) 1> view params target1

7. 源數據庫(dbsid2)開始同步

(1) 開始同步

GGSCI (host2) 11> start extract source1

Sending START request to MANAGER ...

EXTRACT SOURCE1 starting

(2) 監控同步過程

GGSCI (host2) 12> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING

(3) 源數據庫查看同步日志

GGSCI (host2) 13> view report source1

8. 目標數據庫(db1)查看同步情況

SQL> select * from test;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved