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安裝(一)OracleGo
- Oracle GoldenGate安裝(二)OracleGo
- Oracle GoldenGate安裝(三)OracleGo
- goldengate + asm + racGoASM
- 在Oracle Linux 7.1上安裝DockerOracleLinuxDocker
- Oracle 11G RAC叢集安裝(3)——安裝OracleOracle
- Oracle GoldenGate Veridata 12.2.1.4安裝配置使用全手冊OracleGo
- oracle rac資料庫的安裝Oracle資料庫
- vgant 安裝oracle資料庫racOracle資料庫
- centos7 安裝ORACLE 11.2.0.4.0 RACCentOSOracle
- Solaris下Oracle RAC 11.2.0.4 安裝方法Oracle
- Typecho在Ubuntu 22.04上的安裝部署Ubuntu
- 在FC5上安裝oracle 9204Oracle
- RedHat Advance Server上安裝Oracle 9204 RAC參考手冊(轉)RedhatServerOracle
- Oracle RAC叢集解除安裝步驟Oracle
- Linux下Oracle 11.2.0.1 RAC安裝筆記LinuxOracle筆記
- Oracle Linux 7.1 靜默安裝Oracle 18c RACOracleLinux
- redhat7.6安裝Oracle11G RACRedhatOracle
- Oracle 11G RAC叢集安裝(2)——安裝gridOracle
- Oracle:Redhat 7 + Oracle RAC 11g 安裝 bug 總結OracleRedhat
- Oracle RAC一鍵部署大綱Oracle
- Oracle RAC一鍵部署004(RAC引數校驗)Oracle
- Oracle 19c RAC on Linux 7.6安裝手冊OracleLinux
- 通過ORACLE VM virtualbox環境安裝oracle 11G RAC(ASM)OracleASM
- 【BUILD_ORACLE】Oracle 19c RAC搭建(五)DB軟體安裝UIOracle
- 【BUILD_ORACLE】Oracle 19c RAC搭建(四)Grid軟體安裝UIOracle
- 【DBA Part03】國產Linux上Oracle RAC安裝-升級-ADG-遷移LinuxOracle
- oracle 11g RAC 安裝前準備指令碼Oracle指令碼
- Oracle 11G RAC叢集安裝(1)——安裝前的準備Oracle
- ORACLE GoldenGate Initial LoadOracleGo
- About the Oracle GoldenGate TrailOracleGoAI
- 【BUILD_ORACLE】Oracle 19c RAC搭建(一)安裝資源規劃UIOracle
- 在青雲上部署oracle rac全過程Oracle
- 【RAC】Oracle RAC上線測試場景介紹Oracle
- 【靜默】在RHEL 6.5上靜默安裝Oracle 18cOracle
- 在Centos 上安裝oracle-database-preinstall-19c軟體包CentOSOracleDatabase
- rac靜默安裝
- azkaban在centos下的部署安裝CentOS
- 在CentOS上安裝dockerCentOSDocker