Oracle GoldenGate OGG管理员手册(较早资料)

第一章 系统实现简述

  1. 前言

编写本手册的目的是为系统管理员以及相关操作人员提供 Oracle  Goldengat  软

件的日常维护和使用的技术参考;

 

 

3

 

ORACLE

第二章 OGG 日常维护操作指南

  1. 启动 Goldenagate
    1.  oracle 用户登录生产数据库主机系统
    2. 进入 OGG 安装目录/ggs,执行./ggsci 进入命令行模式;
    3. 启动源端管理进程

Copyright OGG Software, Inc.   1995-2007

GGSCI > start mgr          //  启动 manager 进程

  1. 启动所有进程

Copyright OGG Software, Inc.   1995-2007

GGSCI > start ext *         //启动所有抽取进程

  1. 查看进程状态是否为 Running(表示已经启动);

Copyright OGG Software, Inc.   1995-2007

 

GGSCI > info ext*//查看所有进程信息
  
SCI > start rep *//启动所有投递进程
  

 

  1. 查看进程状态是否为 Running(表示已经启动);

Copyright OGG Software, Inc.   1995-2007

GGSCI > info er *   //查看所有进程信息

说明:GGSCI > start er *是启动所有进程,如果只启动一个进程命令为 start <

进程名>。例如进程名称为 dpesz,则启动命令为 start dpesz。

  1. 停止 OGG
    1.  oracle 用户登陆主机系统;

 

 

4

 

ORACLE

  1. 进入 OGG 安装目录/ggs,执行./ggsci 进入命令行模式
  2. 验证 OGG 的抽取进程重起所需的日志是否存在,对各个 extXX 进程分别执 行命令:

Copyright OGG Software, Inc.   1995-2007

GGSCI>info extXX,showch       //查询 extXX 进程回滚检查点

Read Checkpoint #1

Recovery Checkpoint (position of oldest unprocessed transaction in the data source): Thread #: 1

Sequence #: 9671                           //在节点 1 上回滚需要的检查点日志序列号

RBA: 239077904

Timestamp: 2008-05-20 11:39:07.000000

SCN: 2195.1048654191

Redo File: Not available

Current Checkpoint (position of last record read in the data source): Thread #: 1

Sequence #: 9671 RBA: 239377476

Timestamp: 2008-05-20 11:39:10.000000

SCN: 2195.1048654339

Redo File: Not Available

Read Checkpoint #2

Recovery Checkpoint (position of oldest unprocessed transaction in the data source):

Thread #: 2

Sequence #: 5287                        //在节点 2 上回滚需要的检查点日志序列号

RBA: 131154160

Timestamp: 2008-05-20 11:37:42.000000

SCN: 2195.1048640151

Redo File: /dev/rredo07

Current Checkpoint (position of last record read in the data source):

Thread #: 2

Sequence #: 5287

 

 

5

 

ORACLE

RBA: 138594492

Timestamp: 2008-05-20 11:39:14.000000

SCN: 2195.1048654739

Redo File: /dev/rredo07

查看 Recovery Checkpoint 所需要读取的最古老日志序列号“9671”“5287”标

明的归档日志以及以后的日志文件在当前的归档目录中是否完全存在;如果存在则

可以停止生产数据库主机上的 ext 进程;

  1. 停止生产中心的相关进程;

Copyright OGG Software, Inc.   1995-2007

1)检查 exthy 进程是否将数据全部抓取出来

进入 OGG 控制台,执行:info all 查看 OGG 进程状态。再执行:lag ext exthy 确

认结果为:At EOF, no more records to process.          再执行 send ext exthy,showtrans 如

果没有查到结果,(关键显示信息如下: not transaction founds)则可进行下一步,执

行:info exthy,detail,记录下显示内容的 remote 部分显示的 seqno 和 extrba 的数值;

再执行 info dpehy ,记录下显示的 seqno 和 extrba 的数值,和上一步执行的结果进

行比较,两个结果相同,表示 exthy 进程处理完所有的数据。

2)  info dpehy,detail,记录下显示内容的 remote 部分显示的 seqno 和 extrba 的数

值,提供给 rephy 来使用。

3)检查 dpe 是否将数据全部传输到目标端

登陆 OGG 控制台执行 info rephy 记录下显示的 seqno 和 extrba 的数值,如果两个

结果相同,表示 dpewf 进程处理完所有数据

4)停止 exthy 和 dpehy 进程

GGSCI>stop exthy

GGSCI>stop dpehy

5)多次执行 Info rephy,检查队列的 rba 的数值是否还在变化,如果无变化 ,表

示数据已经都同步完毕 则可进行下一步

 

 

6

 

ORACLE

6)stop rephy

7)执行 info all,所有进程都是 STOPPED,表示正常

4、执行 info all,所有进程都是 STOPPED,表示正常

说明:只有在需要停止 ext 进程时,才需要如此检测,dpe、rep 进程则不需要;

stop er *表示停止所有进程,只停止一个进程命令为 stop <进程名>。例如进程名称

为 dpesz,则启动命令为 start dpehy;

  1. 查看进程信息

OGG 所有进程状态共有 3 种:

  • Running:正常运行
  • Stopped:正常停止或未能启动
  • Abended:异常中断;

正常的情况下,进程为 Running 或则 Stopped 状态;一旦出现 Abended 状态,需

查询相关的报告文件和 dsc 文件以定位错误;

进入 OGG 安装目录并执行./ggsci 进入命令行模式;

 

3.1 查询所有进程状态    
命令:GGSCI > info all    
   
Copyright OGG Software, Inc.   1995-2007  
GGSCI (P595B_ctaisdb) 2> info all//查询所有进程信息 
ProgramStatusGroupLagTime Since Chkpt
MANAGERRUNNING    
EXTRACTRUNNINGEXTKJ00:00:0000:00:07
EXTRACTRUNNING DPEKJ00:00:0000:00:09
EXTRACTRUNNINGEXTSZ00:00:0000:00:00
       

 

 

7

 

ORACLE

EXTRACT       RUNNING         DPESZ            00:00:00          00:00:00

3.2 查询相关进程状态

命令:GGSCI > info <进程名>,如 repxx/extxx/dpexx 查看单个进程状态;

输出示例如下:

 

Copyright OGG Software, Inc.   1995-2007 
  
GGSCI (P595B_ctaisdb) 2> info extxx//查询进程 extsz 信息
EXTRACTEXTSZLast Started 2008-05-11 14:49Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:01 ago)
Log Read CheckpointFile Not Available 
2008-05-20 11:39:02   Thread 1, Seqno 9671, RBA 238663364
Log Read CheckpointFile /dev/rredo07 

2008-05-20 11:39:03   Thread 2, Seqno 5287, RBA 138279848

3.3 查看进程检查点信息

命令:GGSCI > info <进程名>showch

示例如下:

Copyright OGG Software, Inc.   1995-2007

GGSCI>info extXX,showch       //查询 extXX 进程回滚检查点

Read Checkpoint #1

Recovery Checkpoint (position of oldest unprocessed transaction in the data source): Thread #: 1

Sequence #: 9671                           //在节点 1 上回滚需要的检查点日志序列号

RBA: 239077904

Timestamp: 2008-05-20 11:39:07.000000

SCN: 2195.1048654191

Redo File: Not available

 

 

8

 

ORACLE

Current Checkpoint (position of last record read in the data source): Thread #: 1

Sequence #: 9671 RBA: 239377476

Timestamp: 2008-05-20 11:39:10.000000

SCN: 2195.1048654339

Redo File: Not Available

Read Checkpoint #2

Recovery Checkpoint (position of oldest unprocessed transaction in the data source): Thread #: 2

Sequence #: 5287                        //在节点 2 上回滚需要的检查点日志序列号

RBA: 131154160

Timestamp: 2008-05-20 11:37:42.000000

SCN: 2195.1048640151

Redo File: /dev/rredo07

Current Checkpoint (position of last record read in the data source):   //当前检查点

Thread #: 2 Sequence #: 5287

RBA: 138594492

Timestamp: 2008-05-20 11:39:14.000000

SCN: 2195.1048654739

Redo File: /dev/rredo07

说明:查看单个进程的检查点详细信息,包括读取到什么位置,写到什么位置。

特别需要注意 Recovery Checkpoint,这个检查点记录的是当前最早没有提交的事务

开始的日志,如果下次需要重起则需要读这个日志,要保证其没有被删除

3.4 查看进程报告

命令:GGSCI > view report <进程名>

例如 repsz 查看复制进程报告。一般在进程出现 abended 后可以在报告里面找到

 

 

9

 

ORACLE

错误信息。

示例如下:

Copyright OGG Software, Inc.   1995-2007

GGSCI > view report repsz

***********************************************************************

OGG Delivery for Oracle Version v9.5.1.1 Build 006

AIX 5L (optimized 64-bit), Oracle 9.2.0 on Nov 30 2007 11:47:10 Copyright OGG Software, Inc. 1995-2007

Starting at 2008-04-24 23:10:17

***********************************************************************

Operating System Version:

AIX

Version 5, Release 3

Node: zjzbnhdb03

Machine: 00CE7A8F4C00

 

   soft limithard limit
Address Space Size: unlimitedunlimited
Heap Size :unlimitedunlimited
File Size: unlimitedunlimited
CPU Time :unlimitedunlimited

Process id: 1335310

***********************************************************************

**                     Running with the following parameters                               **

***********************************************************************

replicat repsz     //     进程名

userid OGG, password *************

 

 

10

 

ORACLE

REPORT AT 01:59                 //报告时间

reportrollover at 02:00 –handlecollisions –reperror default,discard

discardfile /oradata/OGG/repxm.dsc,append,megabytes 100m –ddlerror default discard

assumetargetdefs allownoopupdates dynamicresolution numfiles 3000

MAP ctais2.* ,TARGET ctais2.*;

Database Version:

Oracle9i Enterprise Edition Release 9.2.0.7.0 – 64bit Production

PL/SQL Release 9.2.0.7.0 – Production

CORE     9.2.0.7.0 Production

TNS for IBM/AIX RISC System/6000: Version 9.2.0.7.0 – Production

NLSRTL Version 9.2.0.7.0 – Production

Database Language and Character Set:

NLS_LANG = “AMERICAN_AMERICA.US7ASCII”

NLS_LANGUAGE         = “AMERICAN”

NLS_TERRITORY       = “AMERICA”

NLS_CHARACTERSET = “US7ASCII”

For further information on character set settings, please refer to user manual.

***********************************************************************

**                                     Run Time Messages                                                   **

***********************************************************************

Opened trail file /oradata /OGG/dirdat/xm000000 at 2008-04-24 23:10:19

 

 

11

 

ORACLE

Wildcard MAP resolved (entry CTAIS2.*):

MAP CTAIS2.DM_CZRY, TARGET ctais2.DM_CZRY; Using following columns in default map by name:

CZRY_DM, SWJG_DM, CZRY_MC, SWRY_DM, QX_SWJG_DM, XM_NSRSBH, XYBZ, YXBZ

  1. 配置自动删除队列文件
  • 以 oracle 用户登录系统,进入安装目录执行./ggsci;
  • 执行 edit param mgr 编辑管理进程参数,加入或修改以下行

Copyright OGG Software, Inc.   1995-2007

GGSCI>edit param mgr     //编辑 Manager 参数

purgeoldextracts /<OGG 安装目录>/dirdat/*, usecheckpoint, minkeepdays 7

其中,第一个参数为队列位置,*可匹配备份中心所有队列文件;第二个参数表

示是首先要保证满足检查点需要,不能删除未处理队列;第三个参数表示最小保留

多少天,后面的数字为天数。例如,如果希望只保留队列/ggs/dirdat/xm 文件 10 天,

可以配置如下:

purgeoldextracts /oraclelog1/OGG/dirdat/xm, usecheckpoint, minkeepdays 10

3)  停止 MGR 进程,修改好参数后重启该进程

Copyright OGG Software, Inc.   1995-2007

GGSCI > stop mgr

Manager process is required by other GGS processes.

Are you sure you want to stop it (y/n)? y   //输入 y 确认停止 mgr 进程

Sending STOP request to MANAGER …

Request processed.

Manager stopped.

Copyright OGG Software, Inc.   1995-2007

GGSCI > start mgr

 

 

12

 

ORACLE

Manager started.

注:临时停止 mgr 进程并不影响数据复制。

  1. 配置启动 mgr 时自动启动 extract  replicat 进程
    • 以 OGG 用户登录系统,进入安装目录执行./ggsci;
    • 执行 edit param mgr 编辑管理进程参数,加入以下行

AUTOSTART ER *

Copyright OGG Software, Inc.   1995-2007

GGSCI>edit param mgr     //编辑 Manager 参数

3)  停止 MGR 进程,修改好参数后重启该进程

Copyright OGG Software, Inc.   1995-2007

GGSCI > stop mgr     //关闭进程 Manager

Manager process is required by other GGS processes.

Are you sure you want to stop it (y/n)? y   //输入 y 确认停止 mgr 进程

Sending STOP request to MANAGER …

Request processed.

Manager stopped.

GGSCI > start mgr   //启动 Manager

Manager started.

注意:一般建议不用自动启动,而是手工启动,便于观察状态验证启动是否

成功,同时也便于客户自己修改参数。

  1. 配置 mgr 定时自动重启 extract  replicat 进程

OGG 具有自动重起 extract 或者 replicat 进程的功能,能够自动恢复如网络中

断、数据库临时挂起等引起的错误,在系统恢复后自动重起相关进程,无需人工介

入。

1)  以 oracle 用户登录系统,进入安装目录执行 ggsci 进入命令行界面;

 

 

13

 

ORACLE

2)  执行 edit param mgr 编辑管理进程参数,加入以下行

AUTORESTART ER *, RETRIES 3, WAITMINUTES 5, RESETMINUTES 60

Copyright OGG Software, Inc. 1995-2007 GGSCI>edit param mgr //编辑 Manager 参数

以上参数表示每 5 分钟尝试重新启动所有进程,共尝试三次。以后每 60 分钟

清零,再按照每 5 分钟尝试一次共试 3 次。

3)  停止 MGR 进程,修改好参数后重启该进程,使修改后的参数文件生效

GGSCI > stop mgr   //停止进程 Manager

Manager process is required by other GGS processes.

Are you sure you want to stop it (y/n)? y   //输入 y 确认停止 mgr 进程

Sending STOP request to MANAGER …

Request processed.

Manager stopped.

GGSCI > start mgr        //启动进程 Manager

Manager started.

  1. 长交易的管理

在停止抽取进程前需要通过命令检查是否存在长交易,以防止下次启动无法找

到归档日志:

命令格式 gsci> info 进程名, showch

示例如下:

Copyright OGG Software, Inc.   1995-2007

ggsci> info extsz,showch            //查询进程 extsz 未提交长交易检查点位置

Read Checkpoint #1

….

Recovery Checkpoint (position of oldest unprocessed transaction in the data source):

 

 

14

 

ORACLE

Thread #: 1

Sequence #: 9671

RBA: 239077904

Timestamp: 2008-05-20 11:39:07.000000

SCN: 2195.1048654191

Redo File: Not available

Current Checkpoint (position of last record read in the data source):

Thread #: 1

Sequence #: 9671

RBA: 239377476

Timestamp: 2008-05-20 11:39:10.000000

SCN: 2195.1048654339

Redo File: Not Available

Read Checkpoint #2

…..

Recovery Checkpoint (position of oldest unprocessed transaction in the data source): Thread #: 2

Sequence #: 5287 RBA: 131154160

Timestamp: 2008-05-20 11:37:42.000000

SCN: 2195.1048640151

Redo File: /dev/rredo07

Current Checkpoint (position of last record read in the data source):

Thread #: 2

Sequence #: 5287

RBA: 138594492

Timestamp: 2008-05-20 11:39:14.000000

SCN: 2195.1048654739

 

 

15

 

ORACLE

为了方便长交易的管理,OGG 提供了一些命令来帮助客户和应用开发商

查找到对应长交易,并在 OGG 中予以提交或者回滚。

(一)  查看长交易

命令格式:send extract <进程名> , showtrans [thread n] [count n]

其中,<进程名>为所要察看的进程名,如 extsz/extxm/extjx 等;Thread n 是

可选的,表示只查看其中一个节点上的未提交交易;Count n 也是可选的,表示只显

示 n 条记录。例如下面命令:

Copyright OGG Software, Inc.   1995-2007

Ggsci> send extract extsz , showtrans thread 1   count 10   //查询 extsz 进程中节点 1 上最长

的 10 个交易

Sending showtrans request to EXTRACT EXTSZ

No transactions found

Oldest redo log file necessary to restart Extract is:

Redo Log Sequence Number 2, RBA 7890448.

输出结果是以时间降序排列的所有未提交交易列表,通过 xid 可以查找到对应的

事务,请应用开发商和 DBA 帮助可以查找出未提交原因,通过数据库予以提交或者

回滚后 OGG 的 checkpoint 会自动向前滚动。

()   使用 OGG 命令跳过或接受长交易

在 OGG 中强制提交或者回滚指定事务,可以通过以下命令:

跳过交易命令格式

Ggsci> SEND EXTRACT <进程名>, SKIPTRANS <5.17.27634> THREAD <2>

强制认为该交易已经提交命令格式

Ggsci>SEND EXTRACT <进程名>, FORCETRANS <5.17.27634> THREAD <1>

说明:使用这些命令只会让 OGG 进程跳过或者认为该交易已经提交,但

并不改变数据库中的交易,他们依旧存在于数据库中。因此,强烈建议使用数据库

 

 

16

 

ORACLE

中提交或者回滚交易而不是使用 OGG 处理。

()   配置长交易告警

可以在 extract 进程中配置长交易告警,参数设置如下所示:

Copyright OGG Software, Inc.   1995-2007

ggsci> edit param extsz            //编辑进程 extsz 参数

在参数文件中增加如下:

warnlongtrans 12h, checkintervals 10m

exttrail /backup/OGG/dirdat/sz

….

以上表示 OGG 会每隔 10 分钟检查一下长交易,如果有超过 12 个小时的

长交易,OGG  会在根目录下的 ggserr.log  里面加入一条告警信息。可以通过察看

ggserr.log 或者在 ggsci 中执行 view ggsevt 命令查看这些告警信息。以上配置可以有

助于及时发现长交易并予以处理。

  1. 源端和目标端数据库增减复制表

(一)  增加复制表

在当前进程参数中,通过显式列表的来匹配表,增加表后必须要修改配置文件,

还要为新增的表添加附加日志。步骤如下:

源端:

GGSCI 〉STOP EXT*

GGSCI> INFO ALL

目标端:

GGSCI>STOP REP*

GGSCI>INFO ALL

源端:

GGSCI>dblogin userid OGG, password XXXXXXX

GGSCI > info trandata <schema>.<table name>

 

 

17

 

ORACLE

如果不是 enable 则需要手动加入:

GGSCI > add trandata <schema>.<table name>

GGSCI>START EXT*

目标端:

GGSCI>START REP*

另外,当前 OGG 自动复制新增表的增删改等 DML 操作,但不复制 DDL 操作, 所以对于新增表请首先在目标端建立表结构。如果有外键和 trigger,需要在目标

表临时禁止该外键和 trigger。

()   减少复制表

如果有的表不再需要,可以在源端 drop 掉,然后到目标 drop 掉,在 OGG 的

复制参数中把该表排除掉即可。

如果其中几个表依然存在,只是无需 OGG 复制,则可以通过以下步骤排除:

  • 在源端系统上首先根据节2 描述验证所需归档日志存在后通过 stop extXX 停止对应的 extXX 进程;
  • 在目标端系统上 ggsci 中执行 stop repXX 停止目标端的复制进程;
  • 在源端修改 ext 进程的参数文件排除所不复制的表:

Ggsci> edit param extXX

……

tableexclude hxods.TMP_*; tableexclude hxods.BAK_*; tableexclude hxods.MLOG$_*; tableexclude hxods.RUPD$_*; tableexclude hxods.KJ_*;

tableexclude myschema.mytable;

table hxods.*;

…….

在文件定义 table 的行前面加入一行“tableexclude <schema>.<tablename>;” 注

意写全 schema 和表的名称。

4)   在目标端修改 rep 进程参数,同样排除该表:

 

 

18

 

ORACLE

GGSCI>edit param repXX

在 map 前面加入一行:

–mapexclude HXODS.SHOULIXINXI

mapexclude myschema.mytable

MAP HSODS.* ,TARGET HXODS.*;

5)   在目标端系统上启动复制进程 repXX

GGSCI > start   repXX

6)   在源端系统上启动源端的抓取进程 extXX

GGSCI > start   extXX

即可进入正常复制状态。

  1. 修改表结构

当数据库需要复制的表结构有所改变,如增加列,改变某些列的属性如长度等表

结构改变后,可以按照下列步骤执行:

  • 按照本文前面所述操作顺序停止源和目标端各抽取及投递进程(注意停源端 抽取要验证一下归档日志是否存在防止无法重起),无需停止 manager 进程;
  • 修改目标表结构;
  • 修改源表结构;
  • 如果表有主键,并且本次修改未修改主键,则可以直接启动源和目标所有进 程继续复制,完成本次修改;否则,如果表无主键或者本次修改了主键则需

继续执行下列步骤;

Copyright OGG Software, Inc.   1995-2007

ggsci> dblogin userid go mldengate, password XXXXXX   //登陆数据库

Successfully logged into database.

ggsci> delete trandata schema.mytable     //删除表的附加日志

Logging of supplemental redo log data disabled for table schema.mytable ggsci> add trandata schema.mytable //增加表的附加日志

Logging of supplemental redo log data is disabled for table schema.mytable

  • 如果表超过了 32 列则上述操作可能会报错,此时需要手工进行处理,请参 考附录三中如何手动为表删除和增加附加日志。
  • 重新启动源端和目标端的抓取和复制进程。

 

 

19

 

ORACLE

  1. 使用 imp 导入数据的注意事项

使用 imp 工具导入数据时,由于该操作写日志,OGG 支持复制通过 imp 导入的

数据,但不支持创建表的操作,需要在目标端事先创建表然后再在源端导入。

需要注意的是,每次 imp 都是一个 oracle 事务,如果导入的表过大(如超过 10G),

有可能超过 OGG 所配置的最大内存,请首先咨询 OGG 技术支持。

  1. 表的重新再同步

如果是某些表由于各种原因造成两边数据不一致,需要重新进行同步,但实际业

务始终 24 小时可用,不能提供时间窗口,则可以参照以下步骤。(因较为复杂,使

用需谨慎!)

确认 ext/dpe/rep 进程均无较大延迟,否则等待追平再执行操作;

停止目标端的 rep 进程;

注意:步骤 3-5 为将源端数据通过 exp/imp 导入到目标端,客户也可以选择其它

初始化方式,比如 expdp/impdp。

在源端获得当前的 scn 号。例如:

select dbms_flashback.get_system_change_number from dual;

以下以获得的 scn 号为 1176681 为例

在源端使用 exp 导出所需重新初始化的表或者几张表数据,并且指定到刚才记下

的 scn 号。例如:

exp <username>/<password> tables=ctais2.SB_ZSXX grants=n statistics=none triggers=n compress=n FLASHBACK_SCN=1176681

通过 ftp 传输到目标端;

在目标端,使用 imp 导入数据;

nohup imp OGG/XXXXX file=nanhai.dmp fromuser=ctais2 touser=ctais2 ignore=y

&

如果这些表有外键,在目标端检查这些外键并禁止它们(记得维护 dirsql 下的禁

 

 

20

 

ORACLE

止和启用外键的脚本 SQL);

编辑目标端对应的 rep 参数文件,在其 map 里面加入一个过滤条件,只对这些重

新初始化的表应用指定 scn 号之后的记录(一定要注意不要修改本次初始化之外的其

它表,会造成数据丢失!):

map  source.mytab,  target  target.mytab,  filter  (  @GETENV  (“TRANSACTION”,

“CSN”) >          1176681 ) ;

确认参数无误后,启动目标端的 rep 进程;

使用 info repxx 或者 lag repxx 直到该进程追上,停止该进程去掉 filter 即可进入

正常复制。

  1. OGG 复制软件升级

当源端和目标端要进行 OGG 升级时,请首先咨询 OGG 技术支持人员。如升级

后版本无特殊要求,其操作参考如下:

1)   按正常步骤停止当前版本抓取端的进程。

OGG Command Interpreter for Oracle

Version v9.5.1.0 Build 012

Windows (optimized), Oracle 10.1.0 on Oct 29 2007 20:10:55

Copyright OGG Software, Inc.   1995-2007

GGSCI (FILESRV) 1> stop er *   //停止所有的进程

EXTRACT EXTSZ is already stopped.

Sending STOP request to EXTRACT EXTSZ …

Request processed.

GGSCI > info er *                                                          //查询进程信息

EXTRACT       EXTSZ         Last Started 2008-07-03 02:01    Status STOPPED   //进程已经停

Checkpoint Lag            00:00:00 (updated 11:30:25 ago)

 

 

21

 

ORACLE

Log Read Checkpoint   ………….

记录反馈信息

OGG Command Interpreter for Oracle

Version v9.5.1.0 Build 012

Windows (optimized), Oracle 10.1.0 on Oct 29 2007 20:10:55

Copyright OGG Software, Inc.   1995-2007

 

GGSCI (FILESRV) 4> stop mgr//停止进程 Manager
     
Manager is already stopped.    
GGSCI (FILESRV) 5> info all//查询所有进程状态 
ProgramStatusGroupLagTime Since Chkpt
MANAGERSTOPPED   
EXTRACTSTOPPEDEXTT100:00:0011:33:38
EXTRACTSTOPPEDEXTT300:00:0000:05:00
      

 

记录反馈信息

  • 按正常步骤停止目标备份端进程。(同第一步类似)

GGSCI > stop er *

GGSCI > info er *

GGSCI > stop mgr

记录反馈信息

  • 将旧的系统下所有文件打包备份;
  • 将最新版本的软件包 MV 到根目录下解包安装覆盖旧的系统。

 

$ gzip -d XXXXXXX.tar.gz//解压缩安装文件
$ tar xvf XXXXXXX.tar//解压缩安装文件
  

 

5)   按同样步骤升级备份数据库主机 OGG 软件。

 

 

22

 

ORACLE

  • 查看设置信息是否与原版本一致,重新启动源数据库主机的抓取和复制进程。查 看运行状态。

GGSCI > info er *

GGSCI > start mgr;启动源端 ggs 软件

GGSCI > start mgr;启动备份端 ggs 软件

按正常步骤启动源端复制进程。

GGSCI > start er *

GGSCI > info er *

按正常步骤启动目标端复制进程。

GGSCI > start rep *

GGSCI > info rep *

7)   版本升级结束。

  1. 数据库升级

在数据库升级之前应提前通报给 OGG,以便于确定复制软件是否支持最新版本。

如果需要升级 OGG 软件参考前面的升级步骤,如果不需要升级 OGG,则只需停止

OGG 进程进行升级,然后升级完毕重新启动即可。

  1. 操作系统升级

在数据库升级之前应提前通报给 OGG,以便于确定复制软件是否支持最新版本。

如果需要升级 OGG 软件参考前面的升级步骤,如果不需要升级 OGG,则只需停止

OGG 进程进行升级,然后升级完毕重新启动即可。

  1. 数据库用户密码加密
    • OGG 的 dirprm 目录下存放着所有参数文件,其中密码可以使用明文或者加 密方式保存,如果需要使用加密密码,请使用下列步骤:

GGSCI > encrypt password   mypassword   //生成密钥

 

 

23

 

ORACLE

No key specified, using default key..

Encrypted password:   AACAAAAAAAAAAAKAPATACEHBIGQGCFZCCDIGAEMCQFFBZHVC

将参数文件中原来的明文行

userid ggs, password mypassword

改为密文

userid ggs, password   AACAAAAAAAAAAAKAPATACEHBIGQGCFZCCDIGAEMCQFFBZHVC,

encryptkey default

然后重新启动进程即可

附录一 OGG 对数据类型和对的限制

1.OGG 对数据类型和对象的限制

1.1OGG 数据类型支持

  • 支持Numeric(数字类型),包括NUMBER、BINARY FLOAT、BINARY DOUBLE。 暂不支持BINARY_INTEGER和PLS_INTEGER。
  • 支持所有Character(字符类型),包括CHAR、VARCHAR2、LONG、NCHAR、 NVARCHAR2。
  • 支持大对象,包括CLOB、NCLOB、BLOB。但不支持BFILE
  • 支持Binary(二进制类型),包括RAW和LONG RAW。
  • 支持Date及timestamp类型。支持除了TIMEZONE_REGION和TIMEZONE_ABBR 类型的所有TIMESTAMP类型。
  • 暂不支持多字节的XML类型。
  • 支持用户自定义类型(UDT),源端的UDT与目标端的UDT的必须相同。
  • 其它支持的数据类型,包括ROWID、VARRAY、INTERVAL DAY、INTERVAL YEAR。
  • OGG暂不支持的其它数据类型:

ANYDATA and ANYDATASET

ANYTYPE

MLSLABEL

 

 

24

 

ORACLE

URITYPE

UROWID

1.2OGG 特殊对象支持

1.2.1 有条件支持物化视图(Materialized views)

在以下有条件限制中支持:

  • 源表必须有唯一主键
  • OGG不支持物化视图使用”WITH ROWID”来创建,但当物化视图LOG(不是物 化视图自己)用”WITH ROWID”来创建时,OGG是支持的。
  • 物化视图必须是使用单个表,而不能包含joins生成的表。
  • OGG不支持truncates物化视图,但支持使用“DELETE FROM”来替代。
  • 索引组织表(Index organized tables)通过物化视图复制
    • 对于OGG基于LOG的复制方式,IOT表无法直接从日志中抽取,但是可以为 IOT表建立物化视图,通过复制该物化视图的变化实现IOT数据变化的复制。
  • 其它不支持对象
    • Clustered tables。
    • Nested tables。OGG只支持该类表的增加和删除,不支持嵌入对象的更新。
    • 使用压缩(COMPRESS)选项生成或修改的表
    • Views(视图)
    • Synonyms(同义表)
    • REFs

2.OGG 不支持的特殊操作

以下特殊操作由于不写日志,OGG 无法予以复制:

  • Direct-path table loads(由于不进行写 LOG 操作)

Oracle 插入数据有两种方式:

 

 

25

 

ORACLE

a、常规插入:重新使用 table 中的自由空间,在已有数据中插入新数据;

维护引用完整性约束。

b、Direct-Path 插入:在表中已有数据之后插入新数据;数据直接插入数据

文件,绕过 buffer cache;已有数据中的自由空间没有被重新利用;忽略了

引用完整性约束。Direct-Path 可以 disable redo log 和 undo log,导致 OGG

无法通过日志捕捉到数据变化。

常见的 Direct Path Load 包括:

  • insert into table as select….
  • create table xxx as select…

如果遇到上述操作,一般这些表数据不是原生数据,可以在复制中排除掉这

些表并通过定时备份等方式予以复制。

  • /*+ APPEND */ hint。如果在应用中使用该 hint,则不会写日志,OGG 无

法复制。

  • /*+ BUFFER */ hint。如果在应用中使用该 hint,则不会写日志,OGG 无

法复制。

  1. OGG 支持 imp 操作

由于 imp 操作写日志,OGG 能够支持 imp 操作。但由于不复制 DDL 操作,需

要事前在目标端建立表结构。如果 imp 的表过大,有可能引起 OGG 内存不够用,报

出 105 错误。因此,请在使用 imp 前咨询 OGG 技术支持。

  1. 数据库和应用日常维护注意事项

4.1 Oracle 9i 中 redo parallelism 必须设置为 1

OGG基于log的复制方式,在oracle10g上可以将log_parallelism参数最大可以

设置到8,这个参数控制了并行产生REDO LOG的处理数量。但在oracle10g以下的版

本,OGG只支持该参数为1。请不要修改这个参数,否则会造成抽取数据不完整。

4.2 为表设置主键或者唯一索引

OGG使用主键和唯一索引在源和目标定位需要更新或者删除的数据,应用开发新

 

 

26

 

ORACLE

增表应当尽可能带有主键和唯一索引。

同时,增加主键也有利于提高目标端数据投递的速度,减小复制延迟和降低资源

消耗。

4.3 保留 3-7 天归档日志

OGG只复制已经提交的交易,如果不提交则不会复制到目标端。在停止复制并重

新启动时,需要找到以前没有提交交易开始的日志。

因此,为了保证OGG能够重新启动,请保留3-7天归档日志。

4.4 避免使用不写日志的操作

OGG 只复制日志中的交易,应当避免在应用和数据库维护中使用 Direct Path 等

不写日志的操作,这些操作无法复制,会导致两端数据不一致。 OGG  复制的限制

和约束。

转载于:https://www.cnblogs.com/DataArt/p/10018099.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为服务器系统蓝屏,服务器主机蓝屏

服务器主机蓝屏 内容精选换一换云服务器创建后区域固定&#xff0c;不能将云服务器转移到另一个区域&#xff0c;也不能将云服务器转移到另一个帐号。您可以通过镜像迁移方式实现云服务器的跨帐号跨区域迁移。服务器迁移的常见场景与常用的迁移方式请参考常见的服务器迁移场景。…

多对一映射、一对多映射

Emp员工表 Dept部门表 多对一映射 在查询时&#xff0c;需要获取两张以上关联表的数据&#xff0c;通过关联映射&#xff0c;可以由一个对象获取关联对象的信息&#xff0c;例如&#xff1a;查询一个Emp员工对象&#xff0c;可以 通过关联映射获取员工所在的部门Dept对象信息 …

基于注释的Spring MVC Web应用程序入门

这是使Maven启动Spring 3 MVC项目的最小方法。 首先创建spring-web-annotation/pom.xml文件&#xff0c;并包含Spring依赖项&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"…

一道面试题目引发的思考

起因 多列布局是前端一个经典的反复被提及的面试题目&#xff0c;最典型的即两列&#xff0c;左列定宽菜单栏&#xff0c;右列变宽为内容区域。 通常得到的答案无外乎左列浮动定宽&#xff0c;然后右列或浮动&#xff0c;或设置外边距&#xff0c;或绝对定位等等。偶尔会有面试…

uniapp弹出框_uniApp上拉刷新,下拉加载,以及筛选功能

uniApp插件市场有很多友好的插件&#xff0c;今天举一个例子如上图所示&#xff0c;实现上拉刷新&#xff0c;下来加载&#xff0c;右上角点击弹出筛选框&#xff0c;只需要在插件市场搜索刷新选择你想要的效果(也可以下载后自己改动效果)点击导入插件&#xff0c;会自动打开项…

乐高无限的服务器怎么建,乐高无限悬空房子怎么建造 建造方法介绍

乐高无限悬空房子怎么建造?很多玩家对此还不是很清楚&#xff0c;下面给大家带来乐高无限悬空房子建造方法&#xff0c;还不知道怎么建造的朋友一起来看看吧!建造方法悬空房子非常容易搭建&#xff0c;如果我们想要将已经搭建的房子悬空&#xff0c;就只需要将建筑下方的土地挖…

Hibernate学习(一)

搭建环境 1、创建普通的Java工程 2、添加相应的jar包&#xff0c;下载链接&#xff1a;https://files.cnblogs.com/files/AmyZheng/required.rar 第一个实例 1、引用jar包 2、创建数据库和表 DROP TABLE IF EXISTS t_customer ;CREATE TABLE t_customer (id INT(5) PRIMARY KE…

使用Spring Webservices构建SOAP Webservices代理模块

前一段时间&#xff0c;我想看看使用Spring Web Services编写Web服务代理&#xff08;wsproxy&#xff09;有多么容易。 所以&#xff0c;我想我会在Github上分享结果。 可以随意使用它 &#xff08;Apache v2许可证&#xff09;或将其用作自己开发的基础。 本文的其余部分将解…

joc杂志影响因子2019_排名 ‖ 2019年中国体育学期刊影响因子

近日&#xff0c;由中国科学文献计量评价研究中心、清华大学图书馆研制&#xff0c;《中国学术期刊&#xff08;光盘版&#xff09;》电子杂志社有限公司出版的《中国学术期刊影响因子年报》&#xff08;2019版&#xff09;发布。该年报是中国科学文献计量评价研究中心自2002年…

Vue中的Js动画与Velocity.js 的结合

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Vue中的Js动画与Velocity.js的结合</title><script src"./vue.js"></script><script src"./velocity.min.js&quo…

服务器端如何开启GZIP压缩功能

我们知道做好负载均衡对网站的正常运行&#xff0c;用户体验相当重要。在负载均衡中有一个必须要做的事情就是给服务器开启GZIP压缩功能&#xff0c;对用户请求的页面进行压缩处理&#xff0c;以达到节省网络带宽&#xff0c;提高网站速度的作用。 GZIP是若干文件压缩程序的简…

在服务器中开虚拟机,可以在云服务器上开虚拟机

弹性云服务器 ECS弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器&#xff0c;帮助用户打造可靠、安全、灵活、高效的应用环境&#xff0c;确保服务持久稳定运行&#xff0c;提升运维效率三年低至5折&#xff0c;多种配置可选了解详情Linux云服…

Confluence 6 MySQL 3.x 字符集编码问题

MySQL 3.x is 已知在大写和小写转换的时候有些问题&#xff08;non-ASCII&#xff09;。 问题诊断 请按照 Troubleshooting Character Encodings 页面中的内容对问题进行诊断。如果大小写字符串编码诊断显示不同&#xff0c;那么有可能是你数据库导致的。一个错误的数据库大小写…

将社交登录添加到Spring MVC Web应用程序:配置

过去&#xff0c;用户使用用户名和密码组合登录。 尽管如今有些人仍然偏爱传统方式&#xff0c;但越来越多的用户希望使用其社交媒体帐户登录。 这就是使Spring Social&#xff08;及其子项目&#xff09;成为Spring项目组合有用的补充的原因。 但是&#xff0c;将Spring Soci…

[leetcode] 35. 搜索插入位置(Java)(二分)

35. 搜索插入位置 二分&#xff0c;太简单&#xff0c;没啥好说的 class Solution {public int searchInsert(int[] nums, int target) {if (nums.length 0) return 0;int i 0, j nums.length;int mid (i j) / 2;while (i < j) {if (nums[mid] target) {return mid;} …

UI设计中颜色的前进色与后退色

暖色调的颜色属于前进色。膨胀色可以使物体的视觉效果变大&#xff0c;而收缩色可以使物体的视觉效果变小。颜色的另外一种效果。有的颜色看起来向上凸出&#xff0c;而有的颜色看起来向下凹陷&#xff0c;其中显得凸出的颜色被称为前进色&#xff0c;而显得凹陷的颜色被称为后…

手型向下 点击一下 福昕_PPT多张缩略图点击放大展示

↑点击上方“菜鸟PPT”关注&#xff0c;教你玩转PPT&#xff01;多张图片单击放大展示&#xff0c;以前做过一个比较复杂的&#xff0c;在同一页PPT里面做&#xff0c;加了很多个“进入”和“退出”的动画&#xff0c;维护起来比较麻烦。今天&#xff0c;菜鸟菌跟大家一起来学习…

6个经典的JavaScript报错分析

代码报错是经常发生的一件事&#xff0c;我们要确定是什么原因造成的&#xff0c;以及如何避免错误。 1. Uncaught TypeError: Cannot read property 该错误说明没有某个属性&#xff0c;一般是该属性前面的值是undefined或者是null的情况会出现。 2. TypeError: ‘undefined…

编写自动调试器以在测试执行期间捕获异常

以前&#xff0c;我曾说过&#xff0c; 您总是想保留一些调试器断点作为例外 。 此帮助可防止代码在不引起注意的情况下腐烂掉-有时掩盖了另一个问题。 如果您认真对待这一点&#xff0c;则最好将此概念扩展到自动化测试中。 但是想出一个全面的解决方案并不简单。 您可以仅从…

git显示服务器所有分支,git 查看所有远程分支以及同步

在多台电脑使用git管理开发分支的时候&#xff0c;会出现这样的情况。电脑A创建了分支1&#xff0c;并且push上了远程仓库。电脑B本地clone仓库默认只会clone下master分支&#xff0c;而其他电脑A推送的分支是不会默认同步下来的。那么如何同步呢&#xff1f;查看电脑B本地仓库…