Oracle GoldenGate在RAC上部署安裝
很多使用者都採用了OGG作為生產環境的災備複製軟體,生產端通常是雙節點的RAC,災備端可能是同樣環境也可能是單例項環境。生產端在安裝OGG時會從儲存上劃分一個獨立的共享磁碟,將其做成檔案系統,然後將OGG軟體和目錄都放在該磁碟上,包括本地trail檔案。下面的實驗我們在虛擬機器上來簡單的建立一個上述災備架構。
環境介紹:
Target
os:Enterprise Linux Enterprise Linux Server release 5.7
oracle 11.2.0.3 RAC 雙節點
192.168.1.191 node1.localdomain node1
192.168.1.192 node2.localdomain node2
ogg:11.2.1.0.1
Source
os:Enterprise Linux Enterprise Linux Server release 5.7
oracle 11.2.0.3 單例項
192.168.1.21 oggtarget
ogg:11.2.1.0.1
Source系統設定
為Source端分配磁碟建立OGG,該磁碟為共享型別
劃分磁碟
[root@node1 dev]# fdisk /dev/sdj
格式化磁碟
[root@node1 dev]# mkfs -t ext3 /dev/sdj1
建立掛載點
[root@node1 dev]# mkdir /goldengate
[root@node1 /]# chown oracle:oinstall /goldengate
載入掛載點
[root@node1 dev]# mount /dev/sdj1 /goldengate
開機自動載入
[root@node1 dev]# vi /etc/fstab
/dev/sdj1 /goldengate ext3 defaults 1 2
解壓縮ogg安裝包
# su - oracle
[oracle@node1 ~]$ cd /goldengate/
[oracle@node1 goldengate]$ unzip /tmp/ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
[oracle@node1 goldengate]$ tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
在bash_profile中新增OGG_HOME
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=node1.localdomain
export ORACLE_SID=devdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_UNQNAME=devdb
export OGG_HOME=/goldengate
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH:$OGG_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.AL32UTF8
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
建立OGG應用目錄
cd $OGG_HOME
[oracle@node1 goldengate]$ ggsci
GGSCI (node1.localdomain) 1> CREATE SUBDIRS
開啟資料庫級別日誌補充
SYS@devdb1 >ALTER DATABASE FORCE LOGGING;
SYS@devdb1 >ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SYS@devdb1 >ALTER SYSTEM ARCHIVE LOG CURRENT;
SYS@devdb1 >col open_mode for a10
SYS@devdb1 >SELECT name,open_mode,force_logging,supplemental_log_data_min FROM v$database;
建立測試使用者
SYS@devdb1 >CREATE USER snow IDENTIFIED BY snow DEFAULT TABLESPACE USERS;
SYS@devdb1 >GRANT CONNECT, RESOURCE TO snow;
SYS@devdb1 >conn snow/snow
SNOW@devdb1 >CREATE TABLE t1 (id INT PRIMARY KEY, name VARCHAR2(10));
建立OGG管理使用者及其表空間
conn / as sysdba
SYS@devdb1 >select name from v$datafile;
SYS@devdb1 >CREATE TABLESPACE goldengate DATAFILE '+DATA/devdb/datafile/goldengate.dbf' SIZE 100M AUTOEXTEND ON;
SYS@devdb1 >CREATE USER oggadmin IDENTIFIED BY oggadmin DEFAULT TABLESPACE goldengate;
SYS@devdb1 >GRANT dba TO oggadmin;
新增角色
SYS@devdb1 >@/goldengate/role_setup
Enter GoldenGate schema name:oggadmin
GRANT GGS_GGSUSER_ROLE TO oggadmin;
設定全域性引數
ogg global
GGSCI> EDIT PARAMS ./GLOBALS
GGSCHEMA oggadmin
Target系統設定
解壓縮ogg安裝包
cd /u01/app/oracle
mkdir gg
cd gg
unzip /tmp/ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
在bash_profile中新增OGG_HOME
vi /home/oracle/.bash_profile
export ORACLE_SID=oggtarget
export ORACLE_BASE=/u01/app/oracle
export OGG_HOME=$ORACLE_BASE/gg
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH:$OGG_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.AL32UTF8
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
umask 022
alias s="sqlplus / as sysdba"
stty erase ^h
建立OGG應用目錄
[oracle@oggtarget ~]$ cd $OGG_HOME
[oracle@oggtarget gg]$ ggsci
GGSCI (oggtarget) 1> CREATE SUBDIRS
建立測試使用者
create user snow identified by snow default tablespace users;
grant connect, resource to snow;
conn snow/snow
create table t1 (id int primary key, name varchar2(20));
建立OGG管理使用者及其表空間
conn / as sysdba
CREATE TABLESPACE goldengate
DATAFILE '/u01/app/oracle/oradata/oggtarget/goldengate01.dbf' SIZE 100m AUTOEXTEND ON;
CREATE USER oggadmin IDENTIFIED BY oggadmin DEFAULT TABLESPACE goldengate;
GRANT dba TO oggadmin;
設定全域性引數
GGSCI> EDIT PARAMS ./GLOBALS
GGSCHEMA oggadmin
Source系統設定
配置管理程式
GGSCI> EDIT PARAM MGR
PORT 7809
開啟表級別日誌補充,追加物件為使用者snow下所有表
DBLOGIN USERID oggadmin,PASSWORD oggadmin
ADD TRANDATA snow.t1
建立初級提取組ex1,源端是雙節點RAC,此處設定引數THREADS 2
ADD EXTRACT ex1,TRANLOG,BEGIN NOW,THREADS 2
為初級提取組ex1指定本地trail檔案
ADD EXTTRAIL /goldengate/dirdat/ex, EXTRACT ex1 MEGABYTES 5
配置初級提取組引數檔案,源端是雙節點RAC,此處設定引數TRANLOGOPTIONS DBLOGREADER
GGSCI> EDIT PARAMS ex1
EXTRACT ex1
USERID oggadmin, PASSWORD oggadmin
TRANLOGOPTIONS DBLOGREADER
EXTTRAIL /goldengate/dirdat/ex
TABLE snow.*;
建立投遞組dp1,設定本地trail檔案
ADD EXTRACT dp1 EXTTRAILSOURCE /goldengate/dirdat/ex
為投遞進組dp1設定target端trail檔案地址
ADD RMTTRAIL /u01/app/oracle/gg/dirdat/rt, EXTRACT dp1
配置投遞組dp1引數檔案
GGSCI> EDIT PARAMS dp1
EXTRACT dp1
USERID oggadmin, PASSWORD oggadmin
RMTHOST 192.168.1.21, MGRPORT 7809
RMTTRAIL /u01/app/oracle/gg/dirdat/rt
TABLE snow.*;
Target系統
配置管理程式
GGSCI> EDIT PARAM MGR
PORT 7809
建立檢查點表
DBLOGIN USERID oggadmin,PASSWORD oggadmin
ADD CHECKPOINTTABLE oggadmin.checkpointtable
在全域性環境中新增檢查點表
EDIT PARAMS ./GLOBALS
GGSCHEMA oggadmin
CHECKPOINTTABLE oggadmin.checkpointtable
建立複製組rt1,設定讀取trail檔案路徑以及檢查點表
ADD REPLICAT rt1, EXTTRAIL /u01/app/oracle/gg/dirdat/rt, checkpointtable oggadmin.checkpointtable
為複製組rt1配置引數檔案
GGSCL> EDIT PARAM rt1
REPLICAT rt1
USERID oggadmin, PASSWORD oggadmin
ASSUMETARGETDEFS
DISCARDFILE /u01/app/oracle/discards.dsc, PURGE
MAP snow.*, TARGET snow.*;
測試環節
啟動source管理程式
GGSCI (node1.localdomain) 1> START MGR
啟動target管理程式
GGSCI (oggtarget) 1> START MGR
啟動source提取程式
GGSCI (node1.localdomain) 2> START EX1
啟動target複製程式
GGSCI (oggtarget) 2> START RT1
啟動source投遞程式
GGSCI (node1.localdomain) 3> START DP1
確認source程式狀態
GGSCI (node1.localdomain) 4> INFO ALL
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING DP1 00:00:00 00:00:08
EXTRACT RUNNING EX1 00:00:00 00:00:03
確認target程式狀態
GGSCI (oggtarget) 3> INFO ALL
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING RT1 00:00:00 00:00:02
源端節點node1插入資料
SNOW@devdb1 >insert into t1 values(1,'SNOW’);
SNOW@devdb1 >commit;
源端節點node2插入資料
SNOW@devdb2 >insert into t1 values(2,'LILY');
SNOW@devdb2 >commit;
複製端驗證
SNOW@oggtarget >select * from t1;
ID NAME
---------- ------------------------------
1 SNOW
2 LILY
實驗結束。
Oracle GoldenGate是一個輕量級軟體,在Oracle資料庫上安裝配置是一種松耦合的狀態,這點非常理想。無論是在單例項環境還是多例項的RAC環境只需要做少量的配置就可以生效,軟體的啟動和關閉也不需要資料庫做任何設定。從安裝的角度來說,比DataGuard要輕便的多。DataGuard是一種“侵入式”配置。需要修改Oracle本身的配置檔案。
環境介紹:
Target
os:Enterprise Linux Enterprise Linux Server release 5.7
oracle 11.2.0.3 RAC 雙節點
192.168.1.191 node1.localdomain node1
192.168.1.192 node2.localdomain node2
ogg:11.2.1.0.1
Source
os:Enterprise Linux Enterprise Linux Server release 5.7
oracle 11.2.0.3 單例項
192.168.1.21 oggtarget
ogg:11.2.1.0.1
Source系統設定
為Source端分配磁碟建立OGG,該磁碟為共享型別
劃分磁碟
[root@node1 dev]# fdisk /dev/sdj
格式化磁碟
[root@node1 dev]# mkfs -t ext3 /dev/sdj1
建立掛載點
[root@node1 dev]# mkdir /goldengate
[root@node1 /]# chown oracle:oinstall /goldengate
載入掛載點
[root@node1 dev]# mount /dev/sdj1 /goldengate
開機自動載入
[root@node1 dev]# vi /etc/fstab
/dev/sdj1 /goldengate ext3 defaults 1 2
解壓縮ogg安裝包
# su - oracle
[oracle@node1 ~]$ cd /goldengate/
[oracle@node1 goldengate]$ unzip /tmp/ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
[oracle@node1 goldengate]$ tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
在bash_profile中新增OGG_HOME
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=node1.localdomain
export ORACLE_SID=devdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_UNQNAME=devdb
export OGG_HOME=/goldengate
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH:$OGG_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.AL32UTF8
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
建立OGG應用目錄
cd $OGG_HOME
[oracle@node1 goldengate]$ ggsci
GGSCI (node1.localdomain) 1> CREATE SUBDIRS
開啟資料庫級別日誌補充
SYS@devdb1 >ALTER DATABASE FORCE LOGGING;
SYS@devdb1 >ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SYS@devdb1 >ALTER SYSTEM ARCHIVE LOG CURRENT;
SYS@devdb1 >col open_mode for a10
SYS@devdb1 >SELECT name,open_mode,force_logging,supplemental_log_data_min FROM v$database;
建立測試使用者
SYS@devdb1 >CREATE USER snow IDENTIFIED BY snow DEFAULT TABLESPACE USERS;
SYS@devdb1 >GRANT CONNECT, RESOURCE TO snow;
SYS@devdb1 >conn snow/snow
SNOW@devdb1 >CREATE TABLE t1 (id INT PRIMARY KEY, name VARCHAR2(10));
建立OGG管理使用者及其表空間
conn / as sysdba
SYS@devdb1 >select name from v$datafile;
SYS@devdb1 >CREATE TABLESPACE goldengate DATAFILE '+DATA/devdb/datafile/goldengate.dbf' SIZE 100M AUTOEXTEND ON;
SYS@devdb1 >CREATE USER oggadmin IDENTIFIED BY oggadmin DEFAULT TABLESPACE goldengate;
SYS@devdb1 >GRANT dba TO oggadmin;
新增角色
SYS@devdb1 >@/goldengate/role_setup
Enter GoldenGate schema name:oggadmin
GRANT GGS_GGSUSER_ROLE TO oggadmin;
設定全域性引數
ogg global
GGSCI> EDIT PARAMS ./GLOBALS
GGSCHEMA oggadmin
Target系統設定
解壓縮ogg安裝包
cd /u01/app/oracle
mkdir gg
cd gg
unzip /tmp/ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
在bash_profile中新增OGG_HOME
vi /home/oracle/.bash_profile
export ORACLE_SID=oggtarget
export ORACLE_BASE=/u01/app/oracle
export OGG_HOME=$ORACLE_BASE/gg
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH:$OGG_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.AL32UTF8
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
umask 022
alias s="sqlplus / as sysdba"
stty erase ^h
建立OGG應用目錄
[oracle@oggtarget ~]$ cd $OGG_HOME
[oracle@oggtarget gg]$ ggsci
GGSCI (oggtarget) 1> CREATE SUBDIRS
建立測試使用者
create user snow identified by snow default tablespace users;
grant connect, resource to snow;
conn snow/snow
create table t1 (id int primary key, name varchar2(20));
建立OGG管理使用者及其表空間
conn / as sysdba
CREATE TABLESPACE goldengate
DATAFILE '/u01/app/oracle/oradata/oggtarget/goldengate01.dbf' SIZE 100m AUTOEXTEND ON;
CREATE USER oggadmin IDENTIFIED BY oggadmin DEFAULT TABLESPACE goldengate;
GRANT dba TO oggadmin;
設定全域性引數
GGSCI> EDIT PARAMS ./GLOBALS
GGSCHEMA oggadmin
Source系統設定
配置管理程式
GGSCI> EDIT PARAM MGR
PORT 7809
開啟表級別日誌補充,追加物件為使用者snow下所有表
DBLOGIN USERID oggadmin,PASSWORD oggadmin
ADD TRANDATA snow.t1
建立初級提取組ex1,源端是雙節點RAC,此處設定引數THREADS 2
ADD EXTRACT ex1,TRANLOG,BEGIN NOW,THREADS 2
為初級提取組ex1指定本地trail檔案
ADD EXTTRAIL /goldengate/dirdat/ex, EXTRACT ex1 MEGABYTES 5
配置初級提取組引數檔案,源端是雙節點RAC,此處設定引數TRANLOGOPTIONS DBLOGREADER
GGSCI> EDIT PARAMS ex1
EXTRACT ex1
USERID oggadmin, PASSWORD oggadmin
TRANLOGOPTIONS DBLOGREADER
EXTTRAIL /goldengate/dirdat/ex
TABLE snow.*;
建立投遞組dp1,設定本地trail檔案
ADD EXTRACT dp1 EXTTRAILSOURCE /goldengate/dirdat/ex
為投遞進組dp1設定target端trail檔案地址
ADD RMTTRAIL /u01/app/oracle/gg/dirdat/rt, EXTRACT dp1
配置投遞組dp1引數檔案
GGSCI> EDIT PARAMS dp1
EXTRACT dp1
USERID oggadmin, PASSWORD oggadmin
RMTHOST 192.168.1.21, MGRPORT 7809
RMTTRAIL /u01/app/oracle/gg/dirdat/rt
TABLE snow.*;
Target系統
配置管理程式
GGSCI> EDIT PARAM MGR
PORT 7809
建立檢查點表
DBLOGIN USERID oggadmin,PASSWORD oggadmin
ADD CHECKPOINTTABLE oggadmin.checkpointtable
在全域性環境中新增檢查點表
EDIT PARAMS ./GLOBALS
GGSCHEMA oggadmin
CHECKPOINTTABLE oggadmin.checkpointtable
建立複製組rt1,設定讀取trail檔案路徑以及檢查點表
ADD REPLICAT rt1, EXTTRAIL /u01/app/oracle/gg/dirdat/rt, checkpointtable oggadmin.checkpointtable
為複製組rt1配置引數檔案
GGSCL> EDIT PARAM rt1
REPLICAT rt1
USERID oggadmin, PASSWORD oggadmin
ASSUMETARGETDEFS
DISCARDFILE /u01/app/oracle/discards.dsc, PURGE
MAP snow.*, TARGET snow.*;
測試環節
啟動source管理程式
GGSCI (node1.localdomain) 1> START MGR
啟動target管理程式
GGSCI (oggtarget) 1> START MGR
啟動source提取程式
GGSCI (node1.localdomain) 2> START EX1
啟動target複製程式
GGSCI (oggtarget) 2> START RT1
啟動source投遞程式
GGSCI (node1.localdomain) 3> START DP1
確認source程式狀態
GGSCI (node1.localdomain) 4> INFO ALL
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING DP1 00:00:00 00:00:08
EXTRACT RUNNING EX1 00:00:00 00:00:03
確認target程式狀態
GGSCI (oggtarget) 3> INFO ALL
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING RT1 00:00:00 00:00:02
源端節點node1插入資料
SNOW@devdb1 >insert into t1 values(1,'SNOW’);
SNOW@devdb1 >commit;
源端節點node2插入資料
SNOW@devdb2 >insert into t1 values(2,'LILY');
SNOW@devdb2 >commit;
複製端驗證
SNOW@oggtarget >select * from t1;
ID NAME
---------- ------------------------------
1 SNOW
2 LILY
實驗結束。
Oracle GoldenGate是一個輕量級軟體,在Oracle資料庫上安裝配置是一種松耦合的狀態,這點非常理想。無論是在單例項環境還是多例項的RAC環境只需要做少量的配置就可以生效,軟體的啟動和關閉也不需要資料庫做任何設定。從安裝的角度來說,比DataGuard要輕便的多。DataGuard是一種“侵入式”配置。需要修改Oracle本身的配置檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28389881/viewspace-1708615/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle goldengate for oracle rac 的安裝和切換OracleGo
- 在AIX上安裝配置Oracle10g RACAIOracle
- 在VMware 上安裝配置Oracle10g RACOracle
- 在WINDOWS上安裝ORACLE RAC的注意事項WindowsOracle
- goldengate在linux上的安裝GoLinux
- 在RAC環境下安裝實施GoldenGateGo
- 在oracle linux 5.6上安裝oracle 11g RACOracleLinux
- ZabbixAgent在Windows上安裝部署Windows
- Oracle 12cR1 RAC 在VMware Workstation上安裝(下)—靜默安裝Oracle
- 在AIX上安裝配置Oracle10g RAC2AIOracle
- Oracle11gR2 RAC在Linux上的安裝OracleLinux
- Oracle 12cR1 RAC 在VMware Workstation上安裝(中)—圖形介面安裝Oracle
- 【RAC】在ESX 上安裝asm 共享磁碟ASM
- 在 Linux x86 上安裝 Oracle RAC 10gLinuxOracle
- Oracle GoldenGate安裝(一)OracleGo
- Oracle GoldenGate安裝(二)OracleGo
- Oracle GoldenGate安裝(三)OracleGo
- Oracle goldengate 安裝配置OracleGo
- 解除安裝Oracle GoldenGateOracleGo
- Oracle安裝部署之linux(redhat/centos)快速安裝oracle 11g racOracleLinuxRedhatCentOS
- Oracle 12cR1 RAC 在VMware Workstation上安裝(上)—OS環境配置Oracle
- 上週在Aix上安裝oracle10g rac遇到兩個問題AIOracle
- 圖解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安裝與部署圖解Oracle
- 使用 VMware 在 Oracle Enterprise Linux 上安裝 Oracle RAC 10gOracleLinux
- 在 Red Hat Advanced Server 4 上安裝 Oracle 10.2.0.1 RAC (zt)ServerOracle
- goldengate 在aix 和hp-ux上的安裝要求GoAIUX
- 使用 VMware 在 Oracle Enterprise Linux 上安裝 Oracle RAC 10g (2)OracleLinux
- Typecho在Ubuntu 22.04上的安裝部署Ubuntu
- Oracle10g RAC with ocfs在windows安裝OracleWindows
- 在Centos 6.5上安裝Oracle Database 11g Release 2 (11.2.0.4.0) RACCentOSOracleDatabase
- Oracle在Linux上的安裝OracleLinux
- oracle rac aix 安裝OracleAI
- OGG在RAC上的初始化(上)-- 安裝配置篇
- Oracle GoldenGate安裝初體驗OracleGo
- 在vmware上基於紅旗linux 5.0安裝oracle 10g racLinuxOracle 10g
- 在linux6.4上安裝11g racLinux
- 在sun t2000上安裝rac概要
- 【RAC安裝】 AIX下安裝Oracle 11gR2 RACAIOracle