[terry笔记]GoldenGate_迁移同步_主库零停机

ogg根据scn同步数据,源库零停机时间

本次实验与上次的区别:更加注重细节,几乎包含所有步骤,把我越到的坑都作出了说明。并且同步是由10g向11g进行同步,更加符合升级迁移需求。

如下是主要步骤:

1. 配置好ogg源端的mgr、抓取和传送进程,并启动。

2. 配置好ogg目标端的mgr、复制进程,仅启动mgr。

3. 源端可自由进行交易,此时观察源与目标的trail文件是否都正常。

4. 查询源端此时的scn,并按照参数flashbask_scn进行expdp。

5. 目标端impdp导入。

6. 目标端start replicat xxx,aftercsn xxxxx

 

GoldenGate重要进程介绍:

1、Manager管理进程在两端开启,监控和重启其他进程;分配数据存储和报告错误及事件;

2、Extract进程从日志中抓取并传输到target端事务数据;

3、Server Collector进程在target(接受)端接受数据并写入trail文件;

4、Replicat进程读取trail文件,并应用到traget数据库;

5、trail文件时gg自己抓捕信息的文件,是一个OS文件,存放在./dirdat/下,以X00000命名,N顺序1,2,3…此文件用完可配置参数自动删除。


一、环境准备并安装GoldenGate

1. 数据库准备情况

1) 源服务器

hostname:ogg1

IP地址:192.168.100.133

数据库:10.2.0.5.0 64 bit

SID: super

操作系统版本:redhat5.5 64 bit

ogg版本:ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip

2) 目标服务器

hostname:ogg2

IP地址:192.168.100.130

数据库:11.2.0.4.0 64 bit

SID: test

操作系统版本:redhat5.5 64 bit

ogg版本:ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip

2. 创建用户、下载OGG软件并解压安装

ogg1

[[email protected] ~]# mkdir /ogg
[[email protected] ~]# useradd -g oinstall -G dba ggs
[[email protected] ~]# passwd ggs
[[email protected] ~]# su - ggs
[[email protected] ~]$ id
uid=1001(ggs) gid=1000(oinstall) groups=1000(oinstall),1001(dba)
[[email protected] ~]$ exit
logout
[[email protected] ~]# chown -R ggs:oinstall /ogg

[[email protected] ogg]# unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
[[email protected] ogg]# tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C /ogg
[[email protected] ogg]# chown -R ggs:oinstall /ogg

ogg2

[[email protected] ~]# useradd -g oinstall -G dba ggs
[[email protected] ~]# passwd ggs
[[email protected] ~]# mkdir /ogg
[[email protected] ~]# chown -R ggs:oinstall /ogg

[[email protected] ogg]# unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
[[email protected] ogg]# tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C /ogg
[[email protected] ogg]# chown -R ggs:oinstall /ogg

3. 准备OGG环境变量

#源服务器、与目标服务器都要配置

$ vi /home/ggs/.bash_profile

#源端ggs增加如下行:

export PATH
export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0
export ORACLE_SID=super
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/ogg:/usr/local/lib:/usr/X11R6/lib
export LD_LIBRARY_PATH_64=$ORACLE_HOME/lib

$ vi /home/ggs/.bash_profile

#目标端ggs增加如下行:

export PATH
export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=test
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/ogg

4. 配置日志模式

#目标服务器不用配置(非双向)

1) 查看规档与日志模式

sqlplus / as sysdba

select log_mode,supplemental_log_data_min,force_logging from v$database;

LOG_MODE     SUPPLEME FOR
------------ -------- ---
NOARCHIVELOG NO       NO

2) 配置为规档模式

shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
alter system set log_archive_dest_1=‘location=/u01/archive‘ scope=both;

3) 配置日志模式(打开强制规档与补充日志模式)

alter database add supplemental log data;
alter database force logging; 

4)查看配置结果:

SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;

LOG_MODE     SUPPLEME FOR
------------ -------- ---
ARCHIVELOG   YES      YES

5. 创建GoldenGate用户帐号

1) 源服务器

su - oracle
sqlplus /nolog
conn / as sysdba;
create tablespace ogg datafile ‘/u01/oradata/super/ogg.dbf‘ size 10m autoextend on next 10m;
create user ggs identified by ggs default tablespace ogg temporary tablespace TEMP quota unlimited on ogg;
grant connect,resource to ggs;
grant create session,alter session to ggs;
grant select any dictionary,select any table to ggs;
grant alter any table to ggs;
grant flashback any table to ggs;
grant execute on dbms_flashback to ggs;
或直接grant dba to ggs;

2) 目标服务器

su - oracle
sqlplus /nolog
conn / as sysdba;
create tablespace ogg datafile ‘/u01/oradata/test/ogg.dbf‘ size 10m autoextend on next 10m;
create user ggs identified by ggs default tablespace ogg temporary tablespace TEMP quota unlimited on ogg;
grant connect,resource to ggs;
grant create session,alter session to ggs;
grant select any dictionary,select any table to ggs;
grant alter any table to ggs;
grant flashback any table to ggs;
grant execute on dbms_flashback to ggs;
grant insert any table to ggs;
grant delete any table to ggs;
grant update any table to ggs;
或直接grant dba to ggs;

6. 安装GoldenGate软件

(1) 源服务器、与目标服务器都要配置

源服务器因为是10g,ogg存在依赖包的问题:

[[email protected] ogg]$ su - ggs
[[email protected] ogg]$ cd /ogg
[[email protected] ogg]$ ./ggsci #发现ggsci进不去
./ggsci: error while loading shared libraries: libnnz11.so: cannot open shared object file: No such file or directory 

[[email protected] ogg]$ ldd ggsci #检查依赖包,发现缺少两个11g的包
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003d9b600000)
        libgglog.so => /ogg/libgglog.so (0x00002b8bd05ca000)
        libggrepo.so => /ogg/libggrepo.so (0x00002b8bd07ff000)
        libdb-5.2.so => /ogg/libdb-5.2.so (0x00002b8bd0954000)
        libicui18n.so.38 => /ogg/libicui18n.so.38 (0x00002b8bd0bf5000)
        libicuuc.so.38 => /ogg/libicuuc.so.38 (0x00002b8bd0f55000)
        libicudata.so.38 => /ogg/libicudata.so.38 (0x00002b8bd128f000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003d9ba00000)
        libxerces-c.so.28 => /ogg/libxerces-c.so.28 (0x00002b8bd226b000)
        libantlr3c.so => /ogg/libantlr3c.so (0x00002b8bd2783000)
        libnnz11.so => not found
        libclntsh.so.11.1 => not found
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003dad400000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003d9b200000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003daa400000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003d9ae00000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003d9aa00000)

在服务器中找不到11g的包:
[[email protected] ogg]# find / -name libnnz11.so
[[email protected] ogg]# find / -name libnnz10.so
/u01/product/10.2.0/lib/libnnz10.so
/u01/product/10.2.0/lib32/libnnz10.so

[[email protected] ogg]# find / -name libclntsh.so.11.1
[[email protected] ogg]# find / -name libclntsh.so.10.1
/u01/product/10.2.0/lib/libclntsh.so.10.1
/u01/product/10.2.0/lib32/libclntsh.so.10.1

此时需要做两个软连接:
[[email protected] lib]$ ln -s /u01/product/10.2.0/lib/libnnz10.so libnnz11.so
[[email protected] lib]$ ln -s /u01/product/10.2.0/lib/libclntsh.so.10.1 libclntsh.so.11.1

此时可以源端进入ggsci:

[[email protected] ogg]# su - ggs
[[email protected] ~]$ cd /ogg
[[email protected] ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

GGSCI (ogg1) 1> create subdirs

Creating subdirectories under current directory /ogg
Parameter files                /ogg/dirprm: already exists
Report files                   /ogg/dirrpt: created
Checkpoint files               /ogg/dirchk: created
Process status files           /ogg/dirpcs: created
SQL script files               /ogg/dirsql: created
Database definitions files     /ogg/dirdef: created
Extract data files             /ogg/dirdat: created
Temporary files                /ogg/dirtmp: created
Stdout files                   /ogg/dirout: created

(2) 目标服务器都要配置

[[email protected] ogg]# su - ggs
[[email protected] ~]$ cd /ogg
[[email protected] ogg]$ ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

GGSCI (ogg2) 1> create subdirs

Creating subdirectories under current directory /ogg
Parameter files                /ogg/dirprm: already exists
Report files                   /ogg/dirrpt: created
Checkpoint files               /ogg/dirchk: created
Process status files           /ogg/dirpcs: created
SQL script files               /ogg/dirsql: created
Database definitions files     /ogg/dirdef: created
Extract data files             /ogg/dirdat: created
Temporary files                /ogg/dirtmp: created
Stdout files                   /ogg/dirout: created

(3)此时在源端scott下创建了两张测试表test1与test2(必须有主键):

SQL> conn scott/tiger
Connected.

SQL> create table test1 (id number);
Table created.

SQL> create table test2 (name varchar2(20));
Table created.

SQL> insert into test1 values (1);
1 row created.

SQL> insert into test1 values (2);
1 row created.

SQL> insert into test1 values (3);
1 row created.

SQL> commit;
Commit complete.

SQL> alter table test1 add constraints pk_test1 primary key(id);
Table altered.

SQL> alter table test2 add constraints pk_test2 primary key(name);
Table altered.

SQL> insert into test2 values(‘xijinping‘);
1 row created.

SQL> insert into test2 values(‘likeqiang‘);
1 row created.

SQL> insert into test2 values(‘batman‘);
1 row created.

SQL> commit;
Commit complete.

二、 GoldenGate DML同步源端配置

1. 源MGR进程

1) 编辑mgr程组

edit params mgr

port 7809
dynamicportlist 7800-7899
autorestart extract *,retries 5,waitminutes 2
purgeoldextracts ./dirdat/*,usecheckpoints,minkeepdays 7
lagreporthours 1
laginfominutes 30
lagcriticalminutes 45

说明:

port 指定mgr进程通信端口

dynamicportlist 表示mgr进程可以为源与目的端动态通信指定端口

autorestart extract 表示自动重启extract进程组,每2分钟尝试重启所有进程,重试5次。

配置参数后,重启mgr进程生效

purgeoldextracts xxx,usercheckpoints,minkeepdays x表示trail文件会保留7天,ogg会根据checkpoint删除使用过的trail文件。

lagreporthours 1 每隔1小时检查一次extract和replicat的lag。

laginfominutes 30 如果lag超过规定的值(lagcritical),会报错critical。如果没问题,会每30分钟报告信息。

lagcriticalminutes 45 会每隔45分钟报告critical信息。

2) 启动主管理进程

GGSCI (ogg1) 3> start mgr

Manager started.

GGSCI (ogg1) 4> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

2. 配置Extract进程组

1)GGSCI (ogg1) 5> edit params test_ext

GGSCI (ogg1) 6> view param test_ext

extract test_ext
dynamicresolution
setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
userid ggs,password ggs
exttrail /ogg/dirdat/te
table scott.*;

2) 添加抽取进程

GGSCI (ogg1) 7> add extract test_ext,tranlog,begin now

EXTRACT added.

3) 添加本地trail文件,源extract进程负责写这部分文件,pump负责把这部分文件传到目标服务器端。

GGSCI (ogg1) 8> add exttrail /ogg/dirdat/te,extract test_ext

EXTTRAIL added.

GGSCI (ogg1) 9> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     STOPPED

EXTRACT     STOPPED     TEST_EXT    00:00:00      00:00:39

说明:

extract eora定义extract进程名字

dynamicresolution

setenv设置环境变量

userid 登录数据库

exttrail指定本地trail文件地址

table 定义同步的表

4) 启动服务

GGSCI (ogg1) 16> start extract test_ext

Sending START request to MANAGER ...

EXTRACT TEST_EXT starting

GGSCI (ogg1) 17> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     RUNNING     TEST_EXT    00:03:07      00:00:00

此时观察dirdat目录,可以发现抽取的文件:

[[email protected] dirdat]# pwd

/ogg/dirdat

[[email protected] dirdat]# ll

总计 4

-rw-rw-rw- 1 ggs oinstall 988 07-08 21:09 te000000

3. 配置Pump进程组

1) 编辑配置文件

edit params test_p

extract test_p
dynamicresolution
passthru
rmthost 192.168.100.130,mgrport 7809,compress
rmttrail /ogg/dirdat/tp
table scott.*;

2) 添加pump进程

GGSCI (ogg1) 21> add extract test_p,exttrailsource /ogg/dirdat/te

EXTRACT added.

3) 添加远程trail文件

GGSCI (ogg1) 22> add rmttrail /ogg/dirdat/tp,extract test_p

RMTTRAIL added.

4) 启动pump进程

GGSCI (ogg1) 23> start extract test_p

Sending START request to MANAGER ...

EXTRACT TEST_P starting

GGSCI (ogg1) 24> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     RUNNING     TEST_EXT    00:00:00      00:00:02

EXTRACT     RUNNING     TEST_P      00:00:00      00:00:58


三、 GoldenGate DML同步目标端配置

1. 目标端MGR进程

1) 编辑配置文件

GGSCI (ogg2) 1> view param mgr

port 7809
dynamicportlist 7800-7899
purgeoldextracts /ogg/dirdat/*, usecheckpoints, minkeepdays 3

2) 启动

GGSCI (ogg2) 2> start mgr

Manager started.

GGSCI (ogg2) 3> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

GGSCI (ogg2) 4> exit

此时在目标端的dirdat中可以看到由源端传送过来的trail文件(如果没出现,可以在源端做几个事务即可,做完事务还没出现,那么就是配置有问题,好好检查源端pump和目标端mgr)

[[email protected] dirdat]# ll

总计 4

-rw-rw-rw- 1 ggs oinstall 1634 07-08 21:45 tp000000

2. 添加检查表

说明: 当我们在GLOBALS 文件里指定了默认的checkpoint 之后,新的Replicat groups 在创建时会自动使用这个参数,不需要其他指令

1) 目标端编辑全局配置文件

edit params ./GLOBALS

CHECKPOINTTABLE ggs.checkpoint

2)exit #这里需要退出ggsci终端

3) 添加checkpoint表

[[email protected] ogg]$ ./ggsci

GGSCI (ogg2) 1> dblogin userid ggs,password ggs

Successfully logged into database.

GGSCI (ogg2) 2> add checkpointtable ggs.checkpoint

Successfully created checkpoint table ggs.checkpoint.

切换到数据库下,可以看到checkpoint表

SQL> conn ggs/ggs
Connected.

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
CHECKPOINT                     TABLE
CHECKPOINT_LOX                 TABLE

3. 配置目标端replicat进程组

1) 编辑配置文件

edit params test_r

replicat test_r
userid ggs,password ggs
assumetargetdefs
reperror default,discard
discardfile /ogg/dirrpt/test_r.desc
dynamicresolution
map scott.*;target scott.*;

2) 添加复制进程,此时不要启动进程

GGSCI (ogg2) 4> add replicat test_r,exttrail /ogg/dirdat/tp,checkpointtable ggs.checkpoint

REPLICAT added.

GGSCI (ogg2) 5> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    STOPPED     TEST_R      00:00:00      00:00:14


四、查询源scn,将源数据导入目标库

1.源库按照scn导入到目标库

此时源端的数据:

SQL> conn scott/tiger
Connected.

SQL> select * from test1;
        ID
----------
         1
         2
         3

SQL> select * from test2;
NAME
--------------------
batman
likeqiang
superman
xijinping

此时源端的scn
SQL> select current_scn from v$database;

CURRENT_SCN
-----------
     402721

按照scn导出schema:

[[email protected] dump]$ expdp system/oracle directory=dump dumpfile=scott.dmp schemas=scott flashback_scn=402721

Export: Release 10.2.0.5.0 - 64bit Production on Tuesday, 08 July, 2014 21:36:31

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

FLASHBACK automatically enabled to preserve database integrity.

Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01":  system/******** directory=dump dumpfile=scott.dmp schemas=scott flashback_scn=402721

Estimate in progress using BLOCKS method...

Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 320 KB

Processing object type SCHEMA_EXPORT/USER

Processing object type SCHEMA_EXPORT/SYSTEM_GRANT

Processing object type SCHEMA_EXPORT/ROLE_GRANT

Processing object type SCHEMA_EXPORT/DEFAULT_ROLE

Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

Processing object type SCHEMA_EXPORT/TABLE/TABLE

Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX

Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
. . exported "SCOTT"."DEPT"                              5.656 KB       4 rows
. . exported "SCOTT"."EMP"                               7.820 KB      14 rows
. . exported "SCOTT"."SALGRADE"                          5.585 KB       5 rows
. . exported "SCOTT"."TEST1"                             4.929 KB       3 rows
. . exported "SCOTT"."TEST2"                             4.960 KB       4 rows
. . exported "SCOTT"."BONUS"                                 0 KB       0 rows
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
  /dump/scott.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at 21:36:59

源端模拟生产环境做出交易:

SQL> conn scott/tiger
Connected.

SQL> insert into test1 values(4);
1 row created.

SQL> commit;
Commit complete.

SQL> insert into test2 values(‘michael‘);
1 row created.

SQL> commit;
Commit complete.

传送至目标端:

[[email protected] dump]# scp scott.dmp 192.168.100.130:/dump

[email protected]‘s password:

scott.dmp                                                      100%  256KB 256.0KB/s   00:00

目标端倒入:

[[email protected] dump]# su - oracle

[[email protected] ~]$ cd /dump

[[email protected] dump]$ impdp system/oracle directory=dump dumpfile=scott.dmp

Import: Release 11.2.0.4.0 - Production on 星期二 7月 8 21:43:08 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
启动 "SYSTEM"."SYS_IMPORT_FULL_01":  system/******** directory=dump dumpfile=scott.dmp
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 导入了 "SCOTT"."DEPT"                              5.656 KB       4 行
. . 导入了 "SCOTT"."EMP"                               7.820 KB      14 行
. . 导入了 "SCOTT"."SALGRADE"                          5.585 KB       5 行
. . 导入了 "SCOTT"."TEST1"                             4.929 KB       3 行
. . 导入了 "SCOTT"."TEST2"                             4.960 KB       4 行
. . 导入了 "SCOTT"."BONUS"                                 0 KB       0 行
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已于 星期二 7月 8 21:43:26 2014 elapsed 0 00:00:17 成功完成

2.验证目标库数据

此时的倒入的数据是源库scn=402721时刻

SQL> conn scott/tiger
已连接。

SQL> select * from test1;
        ID
----------
         1
         2
         3

SQL> select * from test2;
NAME
------------------------------------------------------------
batman
likeqiang
superman
xijinping

3.源库再次做出交易

SQL> insert into test1 values(5);
1 row created.

SQL> commit;
Commit complete.

SQL> insert into test2 values(‘jackson‘);
1 row created.

SQL> commit;
Commit complete.

此时原库的trail文件te和目标库的trail文件tp应当都出现了赠长:

[[email protected] dirdat]# ll

总计 4

-rw-rw-rw- 1 ggs oinstall 1611 07-08 21:44 te000000

[[email protected] dirdat]# ll

总计 4

-rw-rw-rw- 1 ggs oinstall 1634 07-08 21:45 tp000000

4.启动replicat(aftercsn)

GGSCI (ogg2) 9> start replicat test_r,aftercsn 402721

Sending START request to MANAGER ...

REPLICAT TEST_R starting

GGSCI (ogg2) 10> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    RUNNING     TEST_R      00:00:00      00:00:00

5.验证目标库数据

SQL> conn scott/tiger
已连接。

SQL> select * from test1;

        ID
----------
         1
         2
         3
         4
         5

SQL> select * from test2;
NAME
------------------------------------------------------------
batman
jackson
likeqiang
michael
superman
xijinping

已选择6行。

[terry笔记]GoldenGate_迁移同步_主库零停机,布布扣,bubuko.com

时间: 2024-11-10 01:02:42

[terry笔记]GoldenGate_迁移同步_主库零停机的相关文章

[terry笔记]ogg_迁移同步实验_零停机

oracle golden gate我最近正在琢磨,这个软件我觉得约等于dataguard的逻辑模式,我认为其最大的优势是更可控制,比如可以细化到某个schema.某个table的同步. 如下实验的主要步骤: ogg根据scn同步数据,源库零停机时间 1. 配置好ogg源端的mgr.抓取和传送进程,并启动. 2. 配置好ogg目标端的mgr.复制进程,仅启动mgr. 3. 源端可自由进行交易,此时观察源与目标的trail文件是否都正常. 4. 查询源端此时的scn,并按照参数flashbask_

[terry笔记]11gR2_DataGuard搭建_拷贝数据文件

11gR2搭建dataguard环境: 自己做的实验,后续按照rman模式搭建.主备切换.模式调整等实验会陆续发上来. primary: OS:oel 6.4 database:11.2.0.4.0 192.168.100.131 hostname=node4 ORACLE_SID=good ORACLE_HOME=/u01/product/11.2.0 db_unique_name=good standby: OS:oel 6.4 database:11.2.0.4.0 192.168.100

[terry笔记]data guard基础知识

如下介绍了data guard的基础知识,整理自网络: Data Gurad 通过冗余数据来提供数据保护,Data Gurad 通过日志同步机制保证冗余数据和主数据之前的同步,这种同步可以是实时,延时,同步,异步多种形式.Data Gurad 常用于异地容灾和小企业的高可用性方案,虽然可以在Standby 机器上执行只读查询,从而分散Primary 苏菊哭的性能压力,但是Data Gurad 决不是性能解决方案. 在Data Gurad 环境中,至少有两个数据库,一个处于Open 状态对外提供服

C++ Primer笔记8_动态内存_智能指针

1.动态内存 C++中,动态内存管理是通过一对运算符完成的:new和delete.C语言中通过malloc与free函数来实现先动态内存的分配与释放.C++中new与delete的实现其实会调用malloc与free. new分配: 分配变量空间: int *a = new int; // 不初始化 int *b = new int(10); //初始化为10 string *str = new string(10, ); 分配数组空间: int *arr = new int[10];//分配的

vmware P2V迁移同步实践

                         作者 :杨 坚 第一部分:P2V迁移 P2V迁移需要使用VMware vCenter Converter Standalone 5.0 ,该软件提供了一种易于使用的解决方案,可以从物理机(运行 Windows 和 Linux).其他虚拟机格式及第三方映像格式自动创建 VMware 虚拟机.通过简单易用的向导驱动界面和集中管理控制台,Converter Standalone 无需任何中断或停机便可快速而可靠地转换多台本地物理机和远程物理机.通过在数

C++ Primer笔记12_运算符重载_递增递减运算符_成员访问运算符

1.递增递减运算符 C++语言并不要求递增递减运算符必须是类的成员.但是因为他们改变的正好是所操作对象的状态,所以建议设定为成员函数. 对于递增与递减运算符来说,有前置与后置两个版本,因此,我们应该为类定义两个版本的递增与递减运算符. 问题来了,程序是如何区分前置和后置呢?因为都是++和-- 为了解决这个问题,后置版本的递增递减运算符接受一个额外的(不被使用)int类型的形参.当我们使用后置运算符时,编译器为这个形参提供一个值为0的实参.这个形参唯一的作用就是区分前置和后置运算符函数. 因为不会

C++ Primer笔记13_运算符重载_总结

总结: 1.不能重载的运算符: . 和 .* 和 ?: 和 ::  和 sizeof 和 typeid 2.重载运算符有两种基本选择: 类的成员函数或者友元函数, 建议规则如下: 运算符 建议使用 所有一元运算符 成员函数 = () [] -> 必须是成员函数 += -= /= *= ^= &= != %= >>= <<= , 似乎带等号的都在这里了. 成员函数 所有其它二元运算符, 例如: –,+,*,/ 友元函数 3.前几篇中的实例,现在汇总Person类的程序:

C++ Primer 学习笔记_108(大结局!!!)_特殊工具与技术 --固有的不可移植的特征[下]

特殊工具与技术[大结局] --固有的不可移植的特征[下] 三.链接指示:extern "C" C++ 程序有时需要调用用其他程序设计语言编写的函数,最常见的一语言是C 语言.像任何名字一样,必须声明用其他语言编写的函数的名字,该声明必须指定返回类型和形参表.编译器按处理普通 C++ 函数一样的方式检查对外部语言函数的调用,但是,编译器一般必须产生不同的代码来调用用其他语言编写的函数.C++ 使用链接指示指出任意非 C++ 函数所用的语言. 1.声明非C++函数 链接指示不能出现在类定义

C++ Primer笔记3_默认实参_类初探_名字查找与类的作用域

1.默认函数实参 在C++中,可以为参数指定默认值,C语言是不支持默认参数的,Java也不支持! 默认参数的语法与使用: (1)在函数声明或定义时,直接对参数赋值.这就是默认参数: (2)在函数调用时,省略部分或全部参数.这时可以用默认参数来代替. 注意事项: (1)函数默认值只能赋值一次,或者是在声明中,或者是在定义中,都可以. (2)默认参数定义的顺序为自右到左.即如果一个参数设定了缺省值时,其右边的参数都要有缺省值.比如int f(int a, int b=1,int c=2,int d=