ogg oracle 12c 容器,Oracle12Cogg配置

Oracle12C ogg配置

配置 OGG 安装目录的共享:

这里的共享就是把 OGG 安装到一个共享的设备上,把该目录同时挂到不同节点的相同位置上,这样当

一个节点挂了之后,可以在另一个节点启动和维护OGG。

所以我们上面在配置的时候,才会同时在2个节点操作,并且参数名称也一致。 如果不考虑这种冗余

的方案,可以直接在其中一个节点上操作,不用搞的这么麻烦。

我们这里就在一个节点操作,不搞那么复杂了,这里仅说明一下。

上面的配置完成之后,就和我们单实例操作类似了。 不过在参数配置这块会有细微区别。

--此处安装的是Version 12.2.0.1.1 OGGCORE_12.2.0.1.0_PLATFORMS_151211.1401_FBO 可以去oracle官网下载

--目标和原库都要配置

SQL> alter system set enable_goldengate_replication=true;

Source系统设置

解压缩ogg安装包

# su - oracle

解压缩ogg安装包

unzip fbo_ggs_Linux_x64_shiphome.zip

cd fbo_ggs_Linux_x64_shiphome/Disk1/

./runInstaller

在bash_profile中添加OGG_HOME

export OGG_HOME=$ORACLE_BASE/ogg

export PATH=$ORACLE_HOME/bin:$PATH:$OGG_HOME

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$OGG_HOME:/lib:/usr/lib

alias ggsci='rlwrap /u01/app/oracle/ogg/ggsci'

开启数据库级别日志补充

SYS@devdb1 >ALTER DATABASE FORCE LOGGING;

SYS@devdb1 >ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

SYS@devdb1 >ALTER SYSTEM ARCHIVE LOG CURRENT;

System altered.

SYS@devdb1 >col open_mode for a10

SYS@devdb1 >SELECT name,open_mode,force_logging,supplemental_log_data_min FROM v$database;

创建测试用户

SYS@devdb1 >conn new_jk/XH1Q2W3E4R@PDBJK

SNOW@devdb1 >CREATE TABLE t1 (id INT PRIMARY KEY, name VARCHAR2(10));

12csource库需要在root容器中创建OGG管理用户(12c使用intergated extract 需要在cdb创建管理用户)

conn / as sysdba

SQL> conn / as sysdba

Connected.

SQL> create user C##GGADMIN identified by ggadmin;

User created.

SQL> exec dbms_goldengate_auth.grant_admin_privilege('C##GGADMIN',container=>'ALL');

PL/SQL procedure successfully completed.

SQL> grant dba to c##ggadmin container=all;

Grant succeeded.

SQL> connect c##ggadmin/ggadmin

Connected.

设置全局参数

ogg global

GGSCI> EDIT PARAMS ./GLOBALS

GGSCHEMA c##ggadmin

Target系统设置

解压缩ogg安装包

unzip fbo_ggs_Linux_x64_shiphome.zip

cd fbo_ggs_Linux_x64_shiphome/Disk1/

./runInstaller

在bash_profile中添加OGG_HOME

vi /home/oracle/.bash_profile

export OGG_HOME=$ORACLE_BASE/ogg

export PATH=$ORACLE_HOME/bin:$PATH:$OGG_HOME

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$OGG_HOME:/lib:/usr/lib

alias ggsci='rlwrap /u01/app/oracle/ogg/ggsci'

创建测试用户

alter session set container=pdb1;

conn jktmp/jktmp1@jktmp

create table t1 (id int primary key, name varchar2(20));

12c target库需要在pdb 中创建OGG管理用户及其表空间

conn / as sysdba

alter session set container=pdb1;

CREATE TABLESPACE goldengate DATAFILE '/data/oradata/jktmp/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

AUTOSTART EXTRACT *

AUTORESTART EXTRACT *,RETRIES 3, WAITMINUTES 5, RESETMINUTES 10

开启表级别日志补充需要加上PDB,追加对象为用户pdbjk.new_jk下所有表

DBLOGIN USERID c##ggadmin,PASSWORD ggadmin

ADD SCHEMATRANDATA pdbjk.new_jk

ADD TRANDATA pdbjk.new_jk.*

创建初级集成提取组ex1,源端是双节点RAC

ADD EXTRACT ex1,integrated TRANLOG,BEGIN NOW

为初级提取组ex1指定本地trail文件(extract文件量比较大的话,需要足够的磁盘)

ADD EXTTRAIL /u01/app/oracle/ogg/dirdat/ex, EXTRACT ex1 MEGABYTES 5

注册extract ex1

REGISTER EXTRACT ex1 DATABASE CONTAINER (pdbjk)

--配置初级提取组参数文件 enable ddl replicate (ddl include all)

GGSCI> EDIT PARAMS ex1

EXTRACT ex1

SETENV(ORACLE_SID='sidjk1')

USERID c##ggadmin,PASSWORD ggadmin

EXTTRAIL /u01/app/oracle/ogg/dirdat/ex

--ddl include all

--ddloptions report

TABLEpdbjk.new_jk.*;

创建投递组dp1,设置本地trail文件

ADD EXTRACT dp1 EXTTRAILSOURCE /u01/app/oracle/ogg/dirdat/ex

为投递进组dp1设置target端trail文件地址

ADD RMTTRAIL /u01/app/oracle/ogg/dirdat/jk/rt, EXTRACT dp1

配置投递组dp1参数文件

GGSCI> EDIT PARAMS dp1

EXTRACT dp1

SETENV(ORACLE_SID='sidjk1')

USERID c##ggadmin,PASSWORD ggadmin

RMTHOST 10.180.100.9, MGRPORT 7809

RMTTRAIL /u01/app/oracle/ogg/dirdat/jk/rt

TABLE pdbjk.new_jk.*;

Target系统

配置管理进程

GGSCI> EDIT PARAM MGR

PORT 7809

AUTOSTART REPLICAT *

AUTORESTART REPLICAT *, WAITMINUTES 2, RETRIES 5

创建检查点表

DBLOGIN USERID oggadmin@jktmp,PASSWORD oggadmin

ADD CHECKPOINTTABLE oggadmin.checkpointtable

在全局环境中添加检查点表

EDIT PARAMS ./GLOBALS

GGSCHEMA oggadmin

CHECKPOINTTABLE oggadmin.checkpointtable

创建复制组rt1,设置读取trail文件路径以及检查点表加上PDB

ADD REPLICAT rt1, EXTTRAIL /u01/app/oracle/ogg/dirdat/jk/rt, checkpointtable pdb1.oggadmin.checkpointtable

为复制组rt1配置参数文件初始化的时候加上HANDLECOLLISIONS,初始化之后去掉

GGSCL> EDIT PARAM rt1

REPLICAT rt1

SETENV (ORACLE_SID='xhtmp')

USERID oggadmin@jktmp, PASSWORD oggadmin

HANDLECOLLISIONS

ASSUMETARGETDEFS

ddloptions report

DISCARDFILE /u01/app/oracle/ogg/discards.dsc, append, megabytes 1024

TABLEEXCLUDE pdbjk.new_jk.SYS_EXPORT_SCHEMA*

MAP pdbjk.new_jk.*, TARGET jktmp.*;

测试环节

启动source管理进程

GGSCI (node1.localdomain) 1> START MGR

启动target管理进程

GGSCI (oggtarget) 1> START MGR

启动source提取进程

GGSCI (node1.localdomain) 2> START EX1

启动source投递进程

GGSCI (node1.localdomain) 3> START DP1

--初始化数据导出的时候指定flashback_scn

SELECT current_scn FROM v$database

expdp new_jk/XH1Q2W3E4R@pdbjk directory=dump_dir dumpfile=new_jk20160526.dump logfile=new_jk20160526.log encryption_password=12qw3edc flashback_scn=7851588331 compression=all

impdp jktmp/jktmp@jktmp DIRECTORY=dump_dir include=table dumpfile=new_jk20160526.dump logfile=new_jk20160526.log remap_schema=new_jk:jktmp remap_tablespace=new_jk:jktmp,idx_newjk:jktmp,sit_jk:jktmp,JK_MIGR:jktmp encryption_password=12qw3edc TABLE_EXISTS_ACTION=truncate

启动target复制进程

GGSCI (oggtarget) 2>  start replicat rt1,aftercsn 7863029544

确认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本身的配置文件。

---转载于http://blog.csdn.net/cloudsnowe/article/details/51613364---

你可能感兴趣的:(ogg,oracle,12c,容器)