ORACLE环境检查
查看是否归档
sqlplus "/ as sysdba"
archive log list
-- 如果不是需要设置归档模式
shutdown immediate
startup mount
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
查看日志附加属性,开启数据库的SUPPLEMENTAL LOG DATA功能
select supplemental_log_data_min,force_logging from v$database;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE FORCE LOGGING;
ALTER SYSTEM SWITCH LOGFILE;
select supplemental_log_data_min,force_logging from v$database;
启用 goldengate
alter system set enable_goldengate_replication = true scope=both;
打开防火墙端口7839-7939
firewall-cmd --permanent --add-port=7839-7939/tcp
firewall-cmd --reload
firewall-cmd --list-all
创建数据默认存储
创建数据表空间默认100G,ORACLE使用磁盘组
create bigfile tablespace mes733 datafile '+DATA/BIGDATACDB/BIGDATAPDB/xxx.dbf' size 100g;
创建存储用户
create user xxx identified by xxx#123 default tablespace xxx;
grant connect,resource to xxx
grant unlimited tablespace to xxx;
grant restricted session to xxx;
创建ogg存储
创建ogg表空间
sqlplus "/ as sysdba"
-- CDB表空间
create tablespace goldengate datafile '+DATA/BIGDATACDB/BIGDATAPDB/cdbgoldengate.dbf' size 100m;
-- PDB表空间
alter session set container=BIGDATAPDB;
create tablespace goldengate datafile '+DATA/BIGDATACDB/BIGDATAPDB/pdbgoldengate.dbf' size 100m;
创建ogg用户
-- 创建CDB用户,公共用户需以 c## 开头
alter session set container= CDB$ROOT;
create user c##ogg identified by ogg default tablespace goldengate;
-- 赋权
grant dba to c##ogg;
exec dbms_goldengate_auth.grant_admin_privilege('c##ogg');
--b 切换PDB赋权
alter session set container= BIGDATAPDB;
grant dba to c##ogg;
exec dbms_goldengate_auth.grant_admin_privilege('c##ogg');
OGG目标端复制配置
创建ogg子目录
ggsci
create subdirs
上传源端表结构定义文件到dirdef目录,r001.def
全局配置
edit params ./GLOBALS
GGSCHEMA c##ogg
Checkpointtable c##ogg.CT
添加检查点
dblogin userid c##ogg,password ogg
add checkpointtable BIGDATAPDB.c##ogg.CT
配置参数文件
管理进程配置文件
edit params mgr
port 7839
dynamicportlist 7840-7939
autorestart extract *,waitminutes 3,retries 8
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
复制进程配置文件
edit params rep001
replicat rep001
SETENV(NLS_LANG=AMERICAN_AMERICA.zhs16gbk)
userid c##ogg@BIGDATAPDB,password ogg
--assumetargetdefs
sourcedefs ./dirdef/t001.def
discardfile ./dirrpt/rep001.dsc,purge
ALLOWNOOPUPDATES
DYNAMICRESOLUTION
GETUPDATEBEFORES
NOCOMPRESSDELETES
HANDLECOLLISIONS
map dbo.*,target xxx.*;
定义进程
add replicat rep001, exttrail ./dirdat/t, checkpointtable c##ogg.CT
启动进程
-- 初始化后启动
start mgr
start rep001