原文:https://www.cnblogs.com/ZHUJIBlogs/p/8202951.html
shutdown immediate startup mount alter database archivelog; alter database open; alter pluggable database all open; archive log list;

2.开启数据库级别日志补充:
SQL> ALTER DATABASE FORCE LOGGING; --强制日志 SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; --追加日志 SQL> col open_mode for a10 SQL> SELECT name,open_mode,force_logging,supplemental_log_data_min FROM v$database;
3.目标和原库都要配置
SQL> alter system set enable_goldengate_replication=true;
二、配置ogg
source端:
PS F:\ogg> sqlplus / as sysdba SQL> create user CGGADMIN identified by ggadmin; SQL> exec dbms_goldengate_auth.grant_admin_privilege('CGGADMIN',container=>'ALL'); SQL> grant dba to cggadmin container=all; SQL> connect cggadmin/ggadmin
2、设置全局参数ogg global
GGSCI (WIN-GRANHIGH6KV) 13> view params ./GLOBALS GGSCHEMA cggadmin
3、配置管理进程
GGSCI (WIN-GRANHIGH6KV) 11> view params mgr PORT 7809 AUTOSTART EXTRACT * AUTORESTART EXTRACT *,RETRIES 3, WAITMINUTES 5, RESETMINUTES 10
4、开启表级别日志补充需要加上PDB,追加对象为用户diss2.dissuser下所有表
ADD SCHEMATRANDATA diss2.dissuser ADD TRANDATA diss2.dissuser.*
5、创建初级 集成 提取组ex8271
ADD EXTRACT ex8271,integrated TRANLOG,BEGIN NOW
6、注册extract ex8271
REGISTER EXTRACT ex8271 DATABASE CONTAINER (diss2) 注:注册可能报错无法注册:检查 ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; 最好重新执行一边。
7、抽取进程配置:

GGSCI (WIN-GRANHIGH6KV) 14> view params ext8271 extract ext8271 SETENV(ORACLE_SID='orcl') userid cggadmin,password ggadmin EXTTRAIL F:\ogg\dirdat\ex TABLE diss2.dissuser.sys_log;

8、创建投递组p8271,设置本地trail文件
ADD EXTRACT p8271 EXTTRAILSOURCE F:\ogg\dirdat\ex
9、配置投递进程:

GGSCI (WIN-GRANHIGH6KV) 15> view params p8271 extract p8271 SETENV(ORACLE_SID='orcl') userid cggadmin,password ggadmin rmthost 192.168.2.171, mgrport 7809 rmttrail /home/oracle/ogg/dirdat/ep table diss2.dissuser.sys_log;

由于source端是Windows,所以需要将ogg添加为系统服务。
先停止所有进程: GGSCI (WIN-GRANHIGH6KV) 15> stop mgr
然后退出来,在oog目录下,运行下面代码:
./install addservice

启动进程: GGSCI (WIN-GRANHIGH6KV) 15> start mgr
target端:
1、12c target库需要在pdb 中创建OGG管理用户及其表空间
[oracle@Node1 ogg]$ sqlplus / as sysdba SQL> alter session set container=diss2; SQL> CREATE TABLESPACE goldengate DATAFILE '/home/oracle/DISS/diss2ogg01.dbf' SIZE 100m AUTOEXTEND ON; SQL> CREATE USER oggadmin IDENTIFIED BY oggadmin DEFAULT TABLESPACE goldengate; SQL> GRANT dba to oggadmin;
2、设置全局参数
|
1 2 |
|
3、配置管理进程:
GGSCI (Node1) 2> view params mgr PORT 7809 AUTOSTART EXTRACT * AUTORESTART EXTRACT *,RETRIES 3, WAITMINUTES 5, RESETMINUTES 10
4、创建检查点表
DBLOGIN USERID oggadmin@diss2,PASSWORD oggadmin ADD CHECKPOINTTABLE oggadmin.checkpointtable
5、在全局环境中添加检查点表
EDIT PARAMS ./GLOBALS GGSCHEMA oggadmin CHECKPOINTTABLE oggadmin.checkpointtable
6、创建复制组rep8271,设置读取trail文件路径以及检查点表加上PDB
ADD REPLICAT rep8271, EXTTRAIL /home/oracle/ogg/dirdat/ep, checkpointtable diss2.oggadmin.checkpointtable
为复制组rep8271配置参数文件初始化的时候加上HANDLECOLLISIONS,初始化之后去掉.
7、配置复制进程:

GGSCI (Node1) 3> view params rep8271 REPLICAT rep8271 SETENV (ORACLE_SID='orcl') USERID oggadmin@diss2, PASSWORD oggadmin HANDLECOLLISIONS ASSUMETARGETDEFS ddloptions report DISCARDFILE /home/oracle/ogg/discards.dsc, append, megabytes 1024 MAP diss2.dissuser.sys_log, TARGET diss2.dissuser.sys_log;

8、测试
先启动source端: strat mgr start ext8271 start p8271
9、初始化数据
–初始化数据导出的时候指定flashback_scn
SELECT current_scn FROM v$database; --
–导出:
[oracle@Node1 ogg]$ expdp dissuser/disspass@diss2 directory=dump dumpfile=diss2_scn__0105.dmp logfile=0105.log flashback_scn= compression=all --encryption_password= 可加密
–导入:
[oracle@Node1 ogg]$ impdp dissuser/disspass@diss2 directory=dump dumpfile=DISS2_SCN__0105.DMP logfile=0105impdp.log remap_schema=dissuser:dissuser TABLE_EXISTS_ACTION=replace include=table
启动target端: start replicat rep8271,aftercsn
10、检验。
如果对您有帮助,轻轻点个赞!
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217735.html原文链接:https://javaforall.net
