1、环境变量
确保数据库server上设置了ORACLE_HOME和ORACLE_SID环境变量,后面配置goldengate进程时需要使用到这些变量。当然,
如果不在环境变量里配置的话,我们也可以在配置goldengate时使用参数SETENV来设置;
比如:
SETENV (ORACLE_HOME = “/app/oracle/product/11.2.0/dbhome_1”)
SETENV (ORACLE_SID = “test101”)

设置PATH和LD_LIBRARY_PATH环境变量:
将goldengate的安装目录加入到PATH变量里,同时将该安装目录也加入到LD_LIBRARY_PATH变量中。
这里有一点需要注意,在编辑LD_LIBRARY_PATH环境变量之前,需要确保oracle数据库库库文件目录已经存在于该环境变量中,如果没有则需要将该目录加上,如:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

2、安装
mkdir -p /u01/ggs

cd /usr/local/src/压缩包
./runInstall....

cd /u01/ggs
./ggsci
create subdirs


3.主库的配置:
#####配置Extract
按顺序执行以下操作:
alter database add supplemental log data;数据库级别的

开启归档模式
alter database force logging;强制记录日志

创建用户
SQL> create tablespace ggs datafile '+DATA/db/datafile/ggs01.dbf' size 1024M;
SQL> create user ogg identified by ogg_test default tablespace ggs_data;
SQL> grant dba to ogg;
SQL> conn ogg/ogg
SQL> create table bap.wakaka(id number primary key,name varchar2(30));

 

--MGR
PORT 7809
DYNAMICPORTLIST 7809-9279
AUTOSTART EXTRACT *
--AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 2
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 1
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45


--添加抽取进程
add extract ext_ts,tranlog, begin now, THREADS 2
add exttrail ./dirdat/ts, extract ext_ts

--这里会在本地/u01/ogg/dirdat/ 目录下生成bt*的文件,如果不使用PUMP,则add exttrail 和 rmttail 指定的一样,
建立的trail都是目标端的,http://blog.csdn.net/q947817003/article/details/13294433

edit params ext_ts

在打开的编辑窗口写入以下:
extract ext_ts
userid ogg, password ogg_test
exttrail ./dirdat/ts,FORMAT RELEASE 11.2
table bap.wakaka;


alter database add supplemental log data;


#####配置PUMP ---使用数据泵时需要配置PUMP,比不使用多出这一步。
执行以下命令
add extract pmp_ts,exttrailsource ./dirdat/ts
add rmttrail ./dirdat/ts, extract pmp_ts

 

edit param pmp_ts

在打开的编辑窗口写入以下--注意所使用的文件的路径
extract pmp_ts
USERID ogg, PASSWORD ogg_test
PASSTHRU
RMTHOST 1.1.1.1, MGRPORT 7809, compress
RMTTRAIL ./dirdat/ts , format release 11.2
table bap.wakaka;


2.目标库设置
edit params ./GLOBAL
在编辑窗口输入以下两行:
GGSCHEMA ogg
CHECKPOINT ogg.checkpoint

这里使用前面为OGG创建的用户来登陆,同时要注意路径和OGG安装路径的对照。
--添加应用进程
dblogin userid ogg,password ogg_test
add checkpointtable ogg.checkpoint
add replicat rep_ts,exttrail ./dirdat/ts, checkpointtable ogg.checkpoint

edit params rep_ts

在弹出编辑窗口输入以:---我这里只设置了同步 bap用户的wakaka表--这里的用户和表名在下一步的测试中再建立。
replicat rep_ts
handlecollisions
ASSUMETARGETDEFS
userid ogg,password ogg_test
discardfile ./dirdat/rep3_discard.txt,append, megabytes 10
map bap.wakaka,target HDRC.wakaka_test;
启动时先启动目标库的应用进程,再启动主库的PUMP及抽取进程。

 

select to_char(current_scn) from v$database;
1111111


expdp \'/ as sysdba\' dumpfile=expfk.dmp logfile=fkexp.log directory=exp_shengchan flashback_scn=1111111
tables=bap.wakaka


impdp \'/ as sysdba\' dumpfile=expfk.dmp directory=exp_shengchan logfile=newpay.log \
remap_tablespace=BAP_IDX:HDRC_IDX \
remap_schema=BAP:HDRC \
remap_table=BAP.wakaka:HDRC.wakaka_test

 

 

---常用SQL 

select 'MAP ' || a.OWNER || '.' || a.TABLE_NAME || ' TARGET ' || a.owner || '.' ||
a.TABLE_NAME || ',FILTER (@GETENV (' || '''' || 'TRANSACTION' || '''' || ',' || '''' ||
'CSN' || '''' || ') > 1111111);'
from dba_tables a
where a.TABLE_NAME in ('WAKAKA')
and a.OWNER in ('BAP')
order by a.TABLE_NAME;

select a.TABLE_NAME, a.owner
from dba_tables a
where a.TABLE_NAME in in ('WAKAKA')
and a.OWNER in ('BAP');

select 'add trandata ' || a.OWNER || '.' || a.TABLE_NAME
from dba_tables a
where a.TABLE_NAME in in ('WAKAKA')
order by a.TABLE_NAME;

select ' table ' || a.OWNER || '.' || a.TABLE_NAME || ';'
from dba_tables a
where a.TABLE_NAME in ('WAKAKA')
order by a.TABLE_NAME;

select a.OWNER || '.' || a.TABLE_NAME || ',\'
from dba_tables a
where a.TABLE_NAME in ('WAKAKA', 'WAKAKA_1', 'WAKAKA_1')
order by a.TABLE_NAME;

select sum(bytes / 1024 / 1024) mg, segment_name
from dba_segments aa
where aa.segment_name in ('WAKAKA', 'WAKAKA_1', 'WAKAKA_1')
group by segment_name;

 

 


扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄