长事务管理

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

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停掉后,便无法再自动缓存长交易,需要的归档日志就会依赖于停机时间变长。

时间: 2024-12-28 09:38:07

长事务管理的相关文章

Intergraph G/Technology平台上的一些知识积累

Intergraph G/Technology平台,一个主要面向管线管理的GIS平台,在国内主要用于电力.电信.煤气等公共服务行业,具体的介绍请百度. 这几年的工作主要是在平台上进行一些二次开发,在 G/Technology上做开发时,需要了解平台的一些运行机制,才能更好地完成工作,同时也才能去解决一些由平台造成的垃圾数据. 虽然在这个平台上也做了多年的开发,但平常工作时,为了能及时地交付功能,在一些地方研究还是不够深入,这次也正好借这个机会好好地整理下. 本系列主要是我在G/Technolog

【ArcGIS】文件地理数据库,个人地理数据库与ArcSDE的局别

地理数据库的类型 地理数据库是用于保存数据集集合的“容器”.有以下三种类型: 文件地理数据库 - 在文件系统中以文件夹形式存储.每个数据集都以文件形式保存,该文件大小最多可扩展至 1 TB.建议使用文件地理数据库而不是个人地理数据库. 个人地理数据库 - 所有的数据集都存储于 Microsoft Access 数据文件内,该数据文件的大小最大为 2 GB. ArcSDE 地理数据库 - 也称作多用户地理数据库.这种类型的数据库使用 Oracle.Microsoft SQL Server.IBM

python中文语料分词处理,按字或者词cut_sentence

cut_sentence.py import string import jieba import jieba.posseg as psg import logging #关闭jieba日制 jieba.setLogLevel(logging.INFO) jieba.load_userdict("./corpus/keywords.txt") stopwords_path = "./corpus/stopwords.txt" stopwords = [i.strip