资讯详情

Linux单机到Linux单机的OGG安装部署步骤(支持DDL)

OGG安装部署步骤

检查

Goldengate通过分析源数据库的重做日志,将获得的数据应用到目标端,实现数据同步。因此,源数据库必须处于归档模式,并使用额外的日志和强制日志。

1.1 检查源端数据库是否打开归档

$ sqlplus / as sysdba  SQL> archive log list;

如果是非归档模式,则需要打开归档模式:

shutdown immediate;  startup mount;  alter database archivelog;  alter database open;  alter system archive log start;

1.2 启用库级补充日志

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;  SQL> ALTER SYSTEM SWITCH LOGFILE;

打开数据库强制日志模式

alter database force logging;

1.3 检查

SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;

2.安装

2.1 安装ogg文件(同时操作源端和目标端)

2.1.1 创建ogg安装目录(使用root用户)

# mkdir /ogg  # chown oracle:oinstall /ogg -R

2.1.2 复制压缩文件ogg在安装路径下,更改为主

# cp /usr/p18683731_1121021_Linux-x86-64.zip /ogg  # chown oracle:oinstall /ogg/p18683731_1121021_Linux-x86-64.zip

2.2 切换路径到ogg安装路径

su - oracle  cd /ogg  unzip p18683731_1121021_Linux-x86-64.zip  tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar

2.3 设置PATH及LD_LIBRARY_PARH

vi .bash_profile  export PATH=/ogg:$ORACLE_HOME/bin:$PATH  export LD_LIBRARY_PATH=/ogg:$ORACLE_HOME/lib

2.4 在ogg安装路径执行:

GGSCI (ogg) 1> ggsci

2.5 在GGSCI中,创建ogg工作目录:

GGSCI (ogg) 1> CREATE SUBDIRS

--创建其他路径

GGSCI (ogg) 1> exit

2.6 安装对sequence的支持FLUSH SEQUENCE:

以下内容需要在源端和目标端实施:

支持DDL用户:goldengate

2.6.1 在SQL*Plus中,以SYSDBA连接到源端和目标端.

sqlplus / as sysdba

2.6.2 创建支持DDL的用户

create tablespace ogg_tbs logging datafile '/u01/ogg_tbs.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;

--首先,创建独立于其他业务的数据表空间

CREATE USER goldengate IDENTIFIED BY goldengate default tablespace ogg_tbs; --必须定义一个表空间  GRANT CONNECT,RESOURCE,DBA TO goldengate;

2.6.3. 在源端和目标端GGSCI执行下列命令:

EDIT PARAMS ./GLOBALS

2.6.4. 在GLOBALS输入以下参数:

GGSCHEMA goldengate

2.6.5. 保存并退出文件

2.6.6. 在SQL*Plus执行以下命令(源端和目标端):

sqlplus / as sysdba  @sequence.sql  输入:goldengate

2.6.7. 源端执行:

GRANT EXECUTE on goldengate.updateSequence TO goldengate;

2.6.8. 目标执行:

GRANT EXECUTE on goldengate.replicateSequence TO goldengate;

2.6.9.源执行: 对sys.seq$添加补充日志

alter table sys.seq$ add supplemental log data (primary key) columns;

2.7 安装DDL对象(源端):

2.7.1.赋权

GRANT EXECUTE ON utl_file to goldengate;

为DDL对象指定表空间。GGS_DDL_HIST 和 GGS_MARKER

2.7.3.切换到ogg安装路径

cd /ogg

2.7.4.停止所有数据库连接,防止新连接

2.7.5.以sysdba身份连接到数据库,用以在sys创建触发器

2.7.6.操作脚本:

sqlplus /as sysdba  @marker_setup.sql  @ddl_setup.sql  @role_setup.sql

2.7.7.授权给ogg抽取用户

GRANT GGS_GGSUSER_ROLE TO goldengate;

---默认role为GGS_GGSUSER_ROLE

2.7.8.启用DDL触发器:

@ddl_enable.sql

2.8 配置源端和目标端ogg:(源端、目标端)

2.8.1.在ogg安装目录:

ggsci

2.8.2.配置参数文件:

EDIT PARAMS mgr

2.8.3 创建manager参数文件(源端、目标端):

2.8.4. 在ogg安装路径,执行ggsci

2.8.5.编辑manager参数文件

EDIT PARAMS MGR

mgr中,只需要port但强烈建议添加参数DYNAMICPORTLIST参数

AUTOSTART和AUTORESTART  PURGEOLDEXTRACTS

保存并退出文件

示例:

PORT 7809  DYNAMICPORTLIST 7810-7820, 7830  AUTOSTART EXTRACT *   AUTORESTART EXTRACT *, RETRIES 4, WAITMINUTES 4  PURGEOLDEXTRACTS /ogg/dirdat/tt*, USECHECKPOINTS, MINKEEPHOURS 2

2.10 配置extract获取数据变更(源端):

2.10.1.在ggsci中添加ext抽取进程

add extract extfull, tranlog,begin now

2.10.2.在ggsci中执行:

EDIT PARAMS extfull

2.10.3.在参数文件中输入参数

EXTRACT extfull  setenv ( NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK" )  ddl iclude mapped

USERID goldengate, PASSWORD goldengate

EXTTRAIL /ogg/dirdat/sr

SEQUENCE test.seq_test;

TABLE test.*;

2.10.4.保存并退出文件

2.10.5.添加trail文件

add exttrail /ogg/dirdat/sr, extract extfull, MEGABYTES 50

2.11 配置extract以传输:(源端)

2.11.1.添加传输进程

add extract dpfull exttrailsource /ogg/dirdat/sr

2.11.2.在GGSCI中执行:

EDIT PARAMS dpfull

2.11.3.参数文件中输入参数:

EXTRACT dpfull

passthru

RMTHOST 127.0. 0.2(目标端IP地址), MGRPORT 7809

RMTTRAIL /ogg/dirdat/tg



SEQUENCE test.seq_test;

TABLE test.*;

2.11.4.保存并退出文件 :wq

2.11.5.添加目标端的trail文件

add rmttrail /ogg/dirdat/tg, extract dpfull, MEGABYTES 50

2.12 配置replicat:(目标端)

2.12.1.创建checkpoint table

在GGSCI中执行:

dblogin userid goldengate password goldengate

ADD CHECKPOINTTABLE goldengate.ckpt

2.12.2.在ogg配置中指定checkpoint table

EDIT PARAMS ./GLOBALS

CHECKPOINTTABLE goldengate.ckpt

2.12.3.添加应用进程

add replicat repfull, exttrail /ogg/dirdat/tg, CHECKPOINTTABLE goldengate.ckpt

2.12.4.编辑rep参数文件

EDIT PARAMS repfull

2.12.5.输入参数

REPLICAT repfull

setenv ( NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK" )

ddl include mapped

USERID goldengate, PASSWORD goldengate

-- SUPPRESSTRIGGERS is for Oracle 10.2.0.5 & later patches, and for Oracle 11.2.0.2 and later 11gR2 versions

DBOPTIONS SUPPRESSTRIGGERS,DEFERREFCONST

ASSUMETARGETDEFS

DISCARDFILE /ogg/dirrpt/repfull.dsc

MAP test.*, TARGET test.*;

2.12.6.保存退出文件

2.13 schema级别补充日志:(源端)

运行 ggsci 在ggsci中执行如下

DBLOGIN USERID goldengate

ADD SCHEMATRANDATA user_name

如果提示以下,请按照如下操作(源端、目标端)

GGSCI (ogga) 2> ADD SCHEMATRANDATA TEST

ERROR: Operation not supported because enable_goldengate_replication is not set to true.

SQL> alter system set enable_goldengate_replication=true;

------------------------------------

表级别补充日志:(源端)

DBLOGIN USERID PASSWORD

ADD TRANDATA schema.table_name

-----基础数据

源端

启动mgr及抓取传输进程

ggsci

start mgr
  1. 从源端取一次scn号
sqlplus / as sysdba

SQL> select current_scn from v$database;



CURRENT_SCN

-----------

1068641
  1. 按照上面查询出的scn导出数据
SQL> create directory exp as '/home/oracle/';

Directory created.

$ expdp sys/****** directory=exp dumpfile=test%U.dmp logfile=test0318.log schemas=test parallel=1 flashback_scn= 1068641

3.将dmp文件传输到目标端:

scp /home/oracle/test01.dmp oracle@186.168.100.222:/home/oracle

目标端:

SQL> create directory exp as '/home/oracle/';

Directory created.

1.导入数据

impdp sys/****** directory=exp dumpfile=test01.dmp exclude=statistics

2.收集统计信息

exec dbms_stats.gather_table_stats(OWNNAME => 'TEST', TABNAME => 'TEST', CASCADE => TRUE);

3.启动应用进程

start mgr

start repfull, aftercsn 1061894 ---源端取到的scn

目标端

执行 ggsci



edit param mgr

注释 --AUTOSTART EXTRACT *

 

标签: 智能电力电容器dpsc620

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司