使用ogg的Oracle-Oracle的雙向複製
不使用資料泵完成Oracle-Oracle的雙向複製。
作業系統: redhat as 4.5
oracle version:10.2.0.1
源端ip: 172.17.61.131 rhel131
目標端ip: 172.17.61.132 rhel132
目標:將scott.test1表從源端可以複製到目標端,並且目標端的資料更改也能同步到源端。
1) 設定源庫和目標庫的ORACLE使用者環境(源庫、目標庫都一樣設定)
[[email protected] ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startupprograms
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10201
ORA_OGG_HOME=$ORACLE_BASE/ogg11
ORACLE_SID=orcl
PATH=$HOME/bin:$ORACLE_HOME/bin:$ORA_OGG_HOM
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$ORA_GG_HOME
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATHLD_LIBRARY_PATHORA_OGG_HOME
unset USERNAME
umask 022
2) 初始化源端資料庫(由於是雙向同步,所以兩臺機器都要設定)
a) 開啟歸檔模式
SQL> alter system setlog_archive_dest_1='location=/u01/app/oracle/oradata/orcl/arch' scope=both;
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
SQL> alter database add supplemental log data;
SQL> altersystem switch logfile;
SQL> selectsupplemental_log_data_min from v$database;
c) 開啟強制日誌模式
SQL>alter database forcelogging;
d) 為goldengate建立使用者並授權
SQL> create tablespace tbs_oggdatafile
2 '/u01/app/oracle/oradata/orcl/tbs_ogg01.dbf' size 100m autoextend on;
SQL> create user ogg identified byogg default tablespace tbs_ogg temporary tablespace temp quota unlimited ontbs_ogg;
SQL> grant connect,resource to ogg;
SQL> grant create session,alter session to ogg;
SQL> grant select any dictionary,select any table to ogg;
SQL> grant alter any table to ogg;
SQL> grant flashback any table to ogg;
SQL> grant execute on dbms_flashback to ogg;
SQL> grant insert any table to ogg;
SQL> grant delete any table to ogg;
SQL> grant update any table to ogg;
3)軟體安裝(源端和目標端相同的操作)
[[email protected] ogg11]$ unzipogg112101_fbo_ggs_Linux_x86_ora10g_32bit.zip
[[email protected] ogg11]$ tar -xvffbo_ggs_Linux_x86_ora10g_32bit.tar
[[email protected] ogg11]$ ggsci
GGSCI (rhel131) 1> create subdirs
4) 源端和目標端都配置好manager程序
在源庫和目標庫上配置 GoldenGate 管理程序(源庫、目標庫都一樣) GGSCI (rhel131) 1>edit params mgr
PORT7809
PURGEOLDEXTRACTS/u01/app/oracle/ogg11/dirdat, USECHECKPOINTS, MINKEEPDAYS 10
GGSCI (rhel131) 1>start mgr
Manager started.
5) 源端配置extract程序
GGSCI(rhel131) 1> add extract ext1,tranlog,begin now
EXTRACTadded.
GGSCI(rhel131) 2> add rmttrail/u01/app/oracle/ogg11/dirdat/lt, extract ext1
EXTTRAILadded.
這裡不能用add exttrail,因為是直接將trail檔案傳輸到目的端。
GGSCI(rhel131) 3> edit params ext1
extractext1
TRANLOGOPTIONS EXCLUDEUSER ogg
--加上這個參加是為了避免雙向複製時目標和源重複複製資料。
setenv(oracle_sid=orcl,nls_lang= AMERICAN_AMERICA.WE8ISO8859P1)
useridogg, password ogg
rmthost172.17.61.132, mgrport 7809
rmttrail/u01/app/oracle/ogg11/dirdat/lt
tablescott.test1;
GGSCI(rhel131) 8> start extract ext1
SendingSTART request to MANAGER ...
EXTRACTEXT1 starting
GGSCI(rhel131) 9> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT1 00:13:28 00:00:01
至此源庫的操作已結束。
6) 目標庫建立checkpoint
GGSCI (rhel132) 1> edit params GLOBALS
GGSCHEMAOGG
CHECKPOINTTABLEogg.checkpoint
GGSCI(rhel132) 2> dblogin userid ogg password ogg
GGSCI(rhel132) 3> add checkpointtable ogg.checkpoint
7) 目標庫建立replicate程序
GGSCI(rhel132) 4> add replicat rep1, exttrail ./dirdat/lt, checkpointtableogg.checkpoint
REPLICATadded.
GGSCI(rhel132) 5> edit params rep1
replicatrep1
setenv(oracle_sid=orcl,nls_lang= AMERICAN_AMERICA.WE8ISO8859P1)
useridogg, password ogg
handlecollisions
assumetargetdefs
discardfile./dirrpt/rora_aa.dsc, purge
mapscott.test1, target scott.test1;
~
GGSCI(rhel132) 6> start replicat rep1
GGSCI(rhel132) 7> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REP1 00:00:00 00:00:02
8) 測試一下是否能同步過來
SQL>insert into scott.test1
2 values (1);
1row created.
SQL>commit;
目標庫同步沒有問題:
SQL> select * from test1;
T1
----------
1
下面要進行雙向同步的操作:
9) 在目標端配置extract程序
GGSCI(rhel132) 8> add extract ext2, tranlog, begin now
EXTRACTadded.
GGSCI(rhel132) 10> add rmttrail /u01/app/oracle/ogg11/dirdat/tl, extract ext2
RMTTRAILadded.
Trail產生的檔名必須要和之前的分開,之前用的是lt,現在是tl
GGSCI(rhel132) 11> edit params ext2
extractext2
TRANLOGOPTIONSEXCLUDEUSER ogg
setenv(oracle_sid=orcl,nls_lang= AMERICAN_AMERICA.WE8ISO8859P1)
useridogg, password ogg
rmthost172.17.61.131, mgrport 7809
rmttrail/u01/app/oracle/ogg11/dirdat/tl
tablescott.test1;
GGSCI(rhel132) 19> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT2 00:00:00 00:00:02
REPLICAT RUNNING REP1 00:00:00 00:00:00
10) 源庫建立checkpoint
GGSCI (rhel131) 1> edit params GLOBALS
GGSCHEMAOGG
CHECKPOINTTABLEogg.checkpoint
GGSCI(rhel131) 2> dblogin userid ogg password ogg
GGSCI(rhel131) 3> add checkpointtable ogg.checkpoint
11) 源庫建立replicate程序
GGSCI(rhel131) 1> add replicat rep2, exttrail ./dirdat/tl, checkpointtableogg.checkpoint
REPLICATadded.
GGSCI(rhel131) 2> edit params rep2
replicatrep2
setenv(oracle_sid=orcl,nls_lang= AMERICAN_AMERICA.WE8ISO8859P1)
useridogg, password ogg
handlecollisions
assumetargetdefs
discardfile./dirrpt/rora_aa.dsc, purge
mapscott.test1, target scott.test1;
GGSCI(rhel131) 3> start replicat rep2
GGSCI(rhel131) 4> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT1 00:00:00 00:00:08
REPLICAT RUNNING REP2 00:00:00 00:00:01
12) 測試一下反向的同步:
目標端:
SQL> insertinto test1 values(4);
1 row created.
SQL> commit;
Commitcomplete.
SQL> select * from test1;
T1
----------
4
4
2
3
1
源端:
SQL>select * from test1;
T1
----------
2
3
1
4
同步成功了!
相關推薦
oracle 11g golden gate(ogg)雙向複製的配置
源端:qht115 目標端:qht131 單向複製已完成qht115到qht131的複製,現在的目的是將qht131的資料同步複製到qht115 昨天完成了og的配置,不過是單向的複製,而ogg更多的應用是雙向複製 下面完成雙向的複製 : 在安裝單向複製的時
搭建一個Oracle到Oracle的GoldenGate雙向複製環境
目標:搭建一個Oracle到Oracle的Goldengate雙向複製環境(支援DDL+DML)。 環境: OS:Red Hat Enterprise Linux Server release 5.5 (Tikanga) DB:Oracle Database 1
使用ogg的Oracle-Oracle的雙向複製
不使用資料泵完成Oracle-Oracle的雙向複製。 作業系統: redhat as 4.5 oracle version:10.2.0.1 源端ip: 172.17.61.131 rhel131 目標端ip: 172.17.6
Oracle EBS 複製使用者職責
DECLARE l_new_user_name VARCHAR2(100) := 'HAND_HYL'; l_new_password VARCHAR2(100) := '54321'; l_new_user_id NUMBER; l_user_name_copy_from VA
OGG配置sqlserver2005到oracle單向複製
一、概述 實現SQLServer庫到Oracle庫的資料實時同步功能; 源端資料庫型別:sqlserver 2005 目標端資料庫型別:oracle 11gR2 二、OGG實現原理圖 三、源端配置 1、環境準備 作業系統管理許可權使用者登入,安裝vcredist
如何在Oracle中複製表結構和表資料
1. 複製表結構及其資料: create table table_name_new as select * from table_name_old 2. 只複製表結構: create table table_name_new as select * from table_n
Oracle流複製配置最佳實踐
一、通用配置1. 使用Oracle 10.2.0.4版本,並且安裝所有關鍵補訂包2. 下游捕獲需要源和目標庫執行在相同平臺上3. 準備源和目標資料庫的redo logs(1) 配置源和目標庫的archivelog模式(2) 配置本地歸檔目標路徑,log_archive_des
oraclevirtual的ubuntu18下的雙向複製貼上
設定虛擬機器為“雙向”共享貼上給虛擬機器安裝一下增強功能。需要啟動虛擬機器,安裝選單項“裝置”中的最後一項。常規高階裡共享貼上板已經選中雙向,但還是不能複製貼上,這時到虛擬機器設定-儲存-控制器SATA-勾選"使用主機輸入輸出(I/O)快取",再同樣在儲存-控制器SATA-點
Oracle中複製表結構和表資料
1. 複製表結構及其資料: create table table_name_new as select * from table_name_old 2. 只複製表結構: create table
oracle中複製一個使用者
現場人員需要將USRDB使用者複製出來,弄個USRDB1使用者,在這個使用者上匯入資料做測試。 複製方案的思路: 1.查USRDB的預設表空間,PROFILE,系統許可權,物件許可權,角色, 2.建新使用者,授權, 3.匯出USRDB方案 4.匯入方案 步驟如下: [sql] view pla
Oracle DB 複製資料庫
• 列出建立副本資料庫的目的 • 選擇用於複製資料庫的方法 • 使用RMAN 複製資料庫 • 使用RMAN 備份複製資料庫 • 基於正在執行的例項複製資料庫 使用副本資料庫 • 使用副本資料庫可執行以下任務: – 測試備份和恢復過程 – 測試升級到新版本的Oracle資
MySQL雙向主從複製
作為Master伺服器apenglinux-001.cn的配置/ -- 建庫,表,備份庫,將備份傳給另一臺機器-- /[[email protected] ~]# mysql -uroot -p123456 -e "create database db1;use db1;create table t
在Oracle資料庫中複製表結構和表資料
1. 複製表結構及其資料: create table new_table as select * from old_table 2. 只複製表結構: create table new_tableas select * from old_tablewhere 1=2; 或者:
兩個Oracle資料庫中的表的結構和資料的複製方法
1. 複製表結構及其資料: create table table_name_new as select * from table_name_old 2. 只複製表結構: create table table_name_new as select * from table_name_old
SELECT INTO 和 INSERT INTO SELECT 兩種表複製語句詳解(SQL資料庫和Oracle資料庫的區別)
https://www.cnblogs.com/mq0036/p/4155136.html 我們經常會遇到需要表複製的情況,如將一個table1的資料的部分欄位複製到table2中,或者將整個table1複製到table2中,這時候我們就要使用SELECT INTO 和 INSER
oracle 完整性約束的禁用啟用以及對錶的影響,表的修改和複製
primary key ----表的唯一性約束,不能為空,且不能有重複值 foreign key ----倆表之間的約束,啟用之時,在刪除資料時需要先刪除父表資料,再刪除子表資料 禁用方式為:alter table table_name disable constraint FK_name
Oracle主從同步、雙向同步的配置[轉]
Oracle主從同步、雙向同步的配置 (把主資料庫obpm 和從資料庫orcl 用實際的資料庫名給替換掉) (配置主從同步後,再配置雙向同步,可能會有表資料重疊,建議在配置雙向同完成後,再匯入表資料!) 備註:主、從資料庫都用淡藍色標記了,方便查詢替換。 1.環境
Windows下Oracle Golden gate12的單向複製 Oracle-Oracle
1.首先,先來了解下Golden gate吧,ogg概念與機制 2.這裡記錄Oracle和Oracle的windows下的同步,那麼到官網下這個安裝包吧,Ogg For Oracle 3.安裝好了Oracle的機器上,解壓安裝包,然後安裝,點選setup,如圖(源端和目標端都要安裝喲):
ORACLE 資料同步 容災備份恢復 主從架構 讀寫分離 (OGG,ADG,DSG,高階複製,流複製,logmnr)
ORACLE 幾種同步災備手段(OGG,ADG,DSG,高階複製,流複製,logmnr) 2017年07月14日 13:45:47 小學生湯米 閱讀數:11073 目前所接觸的Oracle 的災備以及同步手段主要有ADG,OGG,DSG,高階複製,流複製以及自主開發的基於
Oracle新增一列,並複製資料,批量修改。
新增一列: alter table dt_ck_czry add( jszh varchar2(20) ) 給新增列新增資料: update dt_ck_czry set jszh = czy_dm; 將新增列中是字母的資料修改為空: update( select *