• 长事务管理


    长事务管理

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

    ggsci> info extXX, showch

    …..

    Read Checkpoint #1

    ….

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

        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

        Redo File: /dev/rredo07

    …..

    为了方便长交易的管理,GoldenGate提供了一些命令来查看这些长交易,可以帮助客户和应用开发商查找到对应长交易,并在GoldenGate中予以提交或者回滚。

    查看长交易的方法

    Ggsci> send extract <进程名> , showtrans [thread n] [count n]

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

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

    Count n也是可选的,表示只显示n条记录。例如,查看extsz进程中节点1上最长的10个交易,可以通过下列命令:

    Ggsci> send extract extsz , showtrans thread 1  count 10

    输出结果是以时间降序排列的所有未提交交易列表,通过xid可以查找到对应的事务,请应用开发商和DBA帮助可以查找出未提交原因,通过数据库予以提交或者回滚后GoldenGate的checkpoint会自动向前滚动。

    使用GoldenGate命令跳过或接受长交易的方法

    在GoldenGate中强制提交或者回滚指定事务,可以通过以下命令(<>中的为参数):

    Ggsci> SEND EXTRACT <进程名>, SKIPTRANS <5.17.27634> THREAD <2> //跳过交易

    Ggsci>SEND EXTRACT <进程名>, FORCETRANS <5.17.27634> THREAD <1> //强制认为该交易已经提交

    说明:使用这些命令只会让GoldenGate进程跳过或者认为该交易已经提交,但并不改变数据库中的交易,他们依旧存在于数据库中。因此,强烈建议使用数据库中提交或者回滚交易而不是使用GoldenGate处理。

    配置长交易告警

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

    extract extsz

    ……

    warnlongtrans 12h, checkintervals 10m

    exttrail /backup/goldengate/dirdat/sz

    ….

    以上表示GoldenGate会每隔10分钟检查一下长交易,如果有超过12个小时的长交易,GoldenGate会在根目录下的ggserr.log里面加入一条告警信息。可以通过察看ggserr.log或者在ggsci中执行view ggsevt命令查看这些告警信息。以上配置可以有助于及时发现长交易并予以处理。

    说明:在OGG 11g中,extract提供了BR参数可以设置每隔一段时间(默认4小时)将长交易缓存到本地硬盘(默认dirtmp目录下),因此extract只要不停止一般需要的归档日志不超过8个小时(极限情况)。但是如果extract停掉后,便无法再自动缓存长交易,需要的归档日志就会依赖于停机时间变长。

  • 相关阅读:
    【转】 Pro Android学习笔记(八七):了解Handler(1):组件和线程
    【转】 Pro Android学习笔记(八四):了解Package(3):包间数据共享
    【转】 Pro Android学习笔记(八五):了解Package(4):lib项目
    【转】 Pro Android学习笔记(八二):了解Package(1):包和进程
    【转】 Pro Android学习笔记(八三):了解Package(2):包签名过程
    【转】 Pro Android学习笔记(八十):服务(5):访问远程服务
    【转】 Pro Android学习笔记(八一):服务(6):复杂数据Parcel
    【转】 Pro Android学习笔记(七八):服务(3):远程服务:AIDL文件
    Windows2008 R2上完全卸载Oracle操作步骤(转)
    win7系统清除USBSTOR记录
  • 原文地址:https://www.cnblogs.com/l10n/p/7529270.html
Copyright © 2020-2023  润新知