暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OGG部署

原创 超越无限D 2022-06-11
1001

环境检查

1.检查是否开启归档

SQL> archive log list;

Database log mode No Archive Mode

Automatic archival Disabled

Archive destination /oracle/db/dbs/arch

Oldest online log sequence 810

Current log sequence 812

  1. 查看日志的存档方式,并修改为存档模式

SQL> show parameter log_archive_start;

NAME TYPE VALUE

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

log_archive_start boolean FALSE

SQL> alter system set log_archive_start=true scope=spfile;

System altered.

  1. 开启归档

先一致性关闭数据库

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

启动数据库到mount

SQL> startup mount

ORACLE instance started.

Total System Global Area 9787547648 bytes

Fixed Size 2261568 bytes

Variable Size 3892317632 bytes

Database Buffers 5872025600 bytes

Redo Buffers 20942848 bytes

Database mounted.

开启归档

SQL> alter database archivelog;

Database altered.

启动数据库到open,并检查数据库归档是否开启

SQL> alter database open;

Database altered.

SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /oracle/db/dbs/arch

Oldest online log sequence 810

Next log sequence to archive 812

Current log sequence 812

查看源端数据库是否开启附加日志

SQL> select supplemental_log_data_min from v$database;

SUPPLEME

--------

NO

  • 缺省情况下Oracle只在日志中记录Update对应的rowid,在OGG复制的目标端同一行的rowid会与源端不同,无法实现记录的一一对应;
  • OGG使用主键/唯一索引(或者全部列)作为行标识进行对应;
  • 需要通过附加日志在数据库日志中加入这些额外的标识信息;

打开数据库的附加日志:

SQL> alter database add supplemental log data;

Database altered.

切换日志,使附加日志生效

SQL> Alter system switch logfile;

System altered.

上传OGG软件并解压

创建OGG目录

[SID:qdswzmk]@its-zmxt-predb[/oradata]$mkdir ogg

[SID:qdswzmk]@its-zmxt-predb[/oradata/ogg]$ls

fbo_ggs_Linux_x64_ora11g_64bit.tar

[SID:qdswzmk]@its-zmxt-predb[/oradata/ogg]$tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar

bcpfmt.tpl

bcrypt.txt

cachefiledump

cfg/

cfg/Config.properties

cfg/mpmetadata.xml

cfg/MPMetadataSchema.xsd

......

配置环境变量(.bash_profile)

Linux下执行vi /home/oracle/.bash_profile

AIX下执行vi /home/oracle/.profile

修改环境变量,添加PATH、LD_LIBARY_PATH

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

#三期数据库字符集,OGG进程也必须指定该字符集

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH:/goldengate

#/goldengate为OGG安装目录

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/home/oracle

export ORACLE_SID=bjscgshx1

源端配置操作

创建ogg用户

SQL> create user ggs identified by grsds1234;

User created.

SQL> grant connect,resource,dba to ggs;

Grant succeeded.

创建目录

GGSCI (its-zmxt-predb) 5> create subdirs

Creating subdirectories under current directory /oradata/ogg

Parameter files /oradata/ogg/dirprm: already exists

Report files /oradata/ogg/dirrpt: created

Checkpoint files /oradata/ogg/dirchk: created

Process status files /oradata/ogg/dirpcs: created

SQL script files /oradata/ogg/dirsql: created

Database definitions files /oradata/ogg/dirdef: created

Extract data files /oradata/ogg/dirdat: created

Temporary files /oradata/ogg/dirtmp: created

Stdout files /oradata/ogg/dirout: created

GGSCI (its-zmxt-predb) 6> edit param ./GLOBALS

插入

GGSCHEMA ggsj1

CHECKPOINTTABLE ggs.checkpoint

添加checkpoint table

GGSCI (its-zmxt-predb) 7> ADD checkpointtable ggs.checkpoint

Successfully created checkpoint table ggs.checkpoint.

创建OGG进程

  1. 创建mgr

GGSCI (its-zmxt-predb) 3> edit params mgr

port 7809

dynamicportlist 7810-8000

autorestart er *, retries 5, waitminutes 3

purgeoldextracts ./dirdat/*,usecheckpoints, minkeepdays 7

--purgeoldextracts ./dirdat/*,usecheckpoints, minkeepdays 7

LAGREPORTHOURS 5

LAGINFOMINUTES 10

LAGCRITICALMINUTES 15

  1. 创建E进程(抽取进程)

如果是RAC模式

GGSCI> add extract ej1_kjgs, tranlog, threads 2, begin now

GGSCI> add exttrail ./dirdat/gc, extract ej1_kjgs, megabytes 1024

单机模式

GGSCI (its-zmxt-predb) 8> add extract ej1_kjgs, tranlog, begin now

EXTRACT added.

GGSCI (its-zmxt-predb) 9> add exttrail ./dirdat/gc, extract ej1_kjgs, megabytes 1024

EXTTRAIL added.

执行后查看

GGSCI (its-zmxt-predb) 13> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER STOPPED

EXTRACT STOPPED EJ1_KJGS 00:00:00 00:15:07

EXTRACT STOPPED PJ1_KJGS 00:00:00 00:04:54

GGSCI (its-zmxt-predb) 2> edit params ej1_kjgs

extract ej1_kjgs

SETENV (ORACLE_SID="qdswzmk")

SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

Userid ggs,PASSWORD grsds1234

REPORT AT 01:59

REPORTROLLOVER AT 02:00

CACHEMGR, CACHESIZE 256MB

EXTTRAIL ./dirdat/gc

NUMFILES 3000

EOFDELAYCSECS 30

--GETTRUNCATES

TRANLOGOPTIONS DBLOGREADER

DYNAMICRESOLUTION

BR BRINTERVAL 2H , BRDIR BR

GETUPDATEBEFORES

NOCOMPRESSDELETES

WARNLONGTRANS 3H, CHECKINTERVAL 3M

table gszm_yw.ZMXT_SB_SBXX;

table gszm_yw.ZMXT_SB_JMFB_HS_SSXD;

table gszm_yw.ZMXT_SB_JMFB_HS_JMSX;

  1. 创建P进程(投递进程)

GGSCI (its-zmxt-predb) 11> add extract pj1_kjgs ,exttrailsource ./dirdat/gc

EXTRACT added.

GGSCI (its-zmxt-predb) 12> add rmttrail ./dirdat/cg, extract pj1_kjgs ,megabytes 1024

RMTTRAIL added.

执行后查看

GGSCI (its-zmxt-predb) 13> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER STOPPED

EXTRACT STOPPED EJ1_KJGS 00:00:00 00:15:07

EXTRACT STOPPED PJ1_KJGS 00:00:00 00:04:54

GGSCI (its-zmxt-predb) 14> edit params PJ1_KJGS

extract PJ1_KJGS

SETENV (ORACLE_SID="qdswzmk")

SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

Userid ggs,PASSWORD grsds1234

REPORT AT 01:59

REPORTROLLOVER AT 02:00

CACHEMGR, CACHESIZE 256MB

FLUSHCSECS 30

NUMFILES 3000

EOFDELAYCSECS 30

RMTHOST 76.27.75.168,MGRPORT 7829, TCPBUFSIZE 100000, TCPFLUSHBYTES 300000

RMTTRAIL ./dirdat/cg

GETTRUNCATES

PASSTHRU

DYNAMICRESOLUTION

GETUPDATEBEFORES

NOCOMPRESSDELETES

TABLEEXCLUDE *.DBMS_TABCOMP_TEMP*;

table gszm_yw.*;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论