OGG常用命令

OGG常用命令

 

整理不易,转载请注明

 

帮助                             help    

目录初始化                  create subdirs    

修改编辑器                  set editor vim   

 执行shell命令             shell ls ./dirdat

查看所有进程信息        info all

开启进程                      start mgr

开启所有进程(mgr除外)    start er *

停止进程                      stop mgr

停止所有进程                stop er *

强制停止                    send xxx forcestop

配置复制用户和检查点表    EDIT PARAMS ./GLOBALS

GGSCHEMA ogg 

CHECKPOINTTABLE ogg.checkpoint

数据库当前改变号 select dbms_flashback.get_system_change_number from dual;

 

 

 

进程错误报告在dirrpt下 最新的是 进程名.rpt,数字越小越早

杀掉进程                                kill ext2

查看指定进程信息                info extya

查看执行进程详细信息         info exyta detail

查看指定进程检查点信息     info extya showch

查看进程执行报告                view report extya

查看异常信息                        view ggsevt 或者 tail -100f /ogg/11g/ggserr.log

查看进程延迟详细信息          lag extya

查看进程当前是否有事物处理    send extya showtrans

查看进程正在处理的事务    send EXT2,status

查看进程处理记录数            stats ext ,total

 stats edr, daily, table gg.test 列出当天以来处理的有关gg.test表的所有记录数。

查看事务                SEND EXTRACT group, SHOWTRANS

 

 

查看长交易

send extract extsz , showtrans thread 1  count 10   例:查看extsz进程中节点1上最长的10个交易

XID: 1.30.622 构成 XIDUSN 回滚段 XIDSLOT 事务槽号 XIDSQN序号

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

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

编辑进程信息                            edit params extya

查看所有参数信息                     show all

登录数据库                                dblogin userid ogg,password ogg  | dblogin USERIDALIAS alias_name

添加检查点表                            add checkpointtable ogg.ckpt

删除进程                                   delete extract extya

 

 

EXTRACT

增加抓取进程(单节点)            add extract extya,tranlog,begin now

增加抓取进程(多节点)            add extract extya,tranlog,threads 4,begin now

增加抓取进程,指定时间            ADD EXTRACT xxx, TRANLOG, BEGIN 2010-12-31 08:00

抓取进程绑定trail文件                add exttrail ./dirdat/ya,extract extya,megabytes 500

指定oracle scn打开                    ALTER EXTRACT finance, SCN 778899 

修改进程读取trail文件序列         alter extract dpeya,extseqno 85,extrba 0

指定时间打开应用进程                alter extract extya,tranlog,begin 2014-06-29 00:20:15

指定线程打开时间                       ALTER EXTRACT accounts, THREAD 4, BEGIN 2011-01-01 

修改current read checkpoint           alter exef extseqno 26, extrba 7090688 [, thread n]

修改recovery checkpoint                alter exef ioextseqno 26, ioextrba 7088144 [, thread n]

 

DATAPUMP

添加投递进程                            add extract dpeya,exttrailsource ./dirdat/ya

投递进程绑定trail文件                add rmttrail ./dirdat/ya,extract dpeya,megabytes 500

 

 

 

REPLICAT

添加应用进程                            add replicat repya,exttrail ./dirdat/ya checkpointtable ogg.ckpt

指定rab打开应用进程                alter replicat repya,extrba 1311 ; alter replicat repya extseqno 6, extrba 149258

指定时间打开应用                        ALTER REPLICAT finance, BEGIN 2011-01-07:08:00:00

TRANDATA  主键改变,新加表需要重加trandata,有通配符则不需要

添加指定表附加日志            add trandata test_ogg.test01

添加所有表附加日志            add trandata test_ogg.*

删除指定表附加日志            delete trandata test_ogg.test01

删除所有表附加日志            delete trandata test_ogg.*

查看指定表附加日志            info trandata test_ogg.test01

查看所有表附加日志            info trandata test_ogg.*

 

应用进程跳过异常事物        start repya skiptransaction

修改进程加载时间                alter extract extya,begin now

手动结束当前trail文件            alter extract extya etrollover

 

 

trail ( 队列) 命令

本地和远端队列

exttrail队列为本地队列, 抽取到本地目录

rmttrail为远端队列, 位于目标主机

 

添加队列命令

Add exttrail/rmttail /home/oracle/ggs1/dirdat/rt,

extract/ext extsc, megabytes 50

delete exttrail/rmttail /home/oracle/ggs1/dirdat/rt;删除队列

 delete rmttrail ./dirdat/ef,extract pump1

查看队列命令

Info exttrail/rmttail /home/oracle/ggs1/dirdat/rt ; 查看队列状态

 

可以通过*进行匹配

 

 

 

问题:

注意目标端trigger,job,外键什么的

 

 

 

根据XID找到数据库内的长事务

 

 select t.xidusn||'.'||t.xidslot||'.'||xidsqn XID ,s.sid,s.status ses_state,machine,s.sql_id,start_time, username, r.name,  ubafil, ubablk, t.status tx_state, (used_ublk*p.value)/1024 blk, used_urec,decode(bitand(t.flag,power(2,7)),0, 'Normal','TX rolling') tx_state

   from v$transaction t, v$rollname r, v$session s, v$parameter p

   where xidusn=usn

   and s.saddr=t.ses_addr

   and p.name='db_block_size'

   and xidusn=3325 and xidslot=61 and xidsqn=6323268;

来源: https://www.anbob.com/archives/5880.html

-- file: long_transactions.sql

-- author: weejar zhang(www.anbob.com)

-- purpose: check current long transactions

col xid for a25

col uba for a20

col machine for a15

select t.xidusn||'.'||t.xidslot||'.'||xidsqn XID ,s.sid,s.status ses_state,machine,s.sql_id,start_time, username, r.name,  ubafil||'.'||ubablk||'.'||UBAREC UBA, t.status tx_state, (used_ublk*p.value)/1024 blk, used_urec,decode(bitand(t.flag,power(2,7)),0, 'Normal','TX rolling') tx_state

   from v$transaction t, v$rollname r, v$session s, v$parameter p

   where xidusn=usn

   and s.saddr=t.ses_addr

   and p.name='db_block_size'

   order by start_time desc;

 

 

(二)logdump常用命令

以下命令设置了一个Logdump环境,该环境显示分析跟踪记录时最常用的信息。

开启详细信息展示

 

记录logdump操作记录

 

LOG TO filename.txt

将文本写入日志

 

WRITELOG "text"

To stop logging:

 

 LOG STOP

查看当前logdump环境  env

 

 

 

###############

ghdr on

detail on

detail data

usertoken on

usertoken detail

ggstoken on

ggstoken detail

headertoken on

headertoken detail

reclen 0

 

 ghdr on: 查看数据记录的头信息

 detail on: 查看列信息,包括数量和长度

 detail data: 查看 hex 和 ASCII 数据值

 usertoken on: 查看用户定义的信息

 sfh prev: 查看上条 record

 ggstoken detail data on 查看 SCN 号

 

 

切换目录                cd ./dirdat

查看当前目录信息    ls

打开trail文件        open ya000091

打开下一个文件    NEXTTRAIL

下一条记录        n 或NEXT

查看当前位置     pos

第一条记录        pos first  &   pos 0

转到RBA            pos rba

文件结尾            pos last

往前读取            pos rev

往后读取            pos for

当前trail统计信息总数            count

过滤                    filter

显示过滤配置     show filter

过滤生效            filter enable

过滤失效            filter disable

清除过滤            filter clear

要过滤掉除包含特定表名的记录以外的所有内容

 

Logdump 60> FILTER INCLUDE FILENAME $volume.subvolume.file

示例 FILTER INCLUDE FILENAME $TEST.TEST1 ###FILENAME不是trail文件名###

使用多个条件进行过滤

Logdump 60> FILTER INCLUDE FILENAME $volume.subvolume...file..; FILTER RECTYPE record_type; FILTER MATCH ALL

Logdump 60> FILTER INCLUDE ANSINAME catalog.schema.table; FILTER RECTYPE record_type; FILTER MATCH ALL

Logdump 65> FILTER INCLUDE FILENAME schema.table; FILTER RECTYPE record_type; FILTER MATCH ALL

使用MATCH ANY 或 MATCH ALL 可设置多个条件的关联关系。

 

FILTER INCLUDE TransInd > = 2

FILTER INCLUDE IOTYPE insert,update,delete

FILTER INCLUDE STRING b"String1" "string2" b"String3" 25:50

filter inc string 'CD2019120941095933396'

FILTER INCLUDE FILENAME $QA01.QAESRC.ACCT1, $QA01.QAESRC.ACCT2, $QA01.QAESRC.ACCT3

filter all reset;

filter inc reset;

 

 

 

 

查找下一个好的记录标题

SCANFORHEADER|SFH

查找事务结束

SCANFORHEADER|SFET

 

 

Logdump 11> N

查看记录头中的 TransInd 属性,说明如下:

Transaction Indicator

Description

TransInd : . (x00) 事务开始的第一条记录

TransInd : . (x01) 事务中间记录

TransInd : . (x02) 事务中最后一条记录

TransInd : . (x03) 独立事务

使用命令 N 跳到下一条记录,查看 TransInd 是否有变化。

 

LOGCSN可以在logdump中进行查看,它只存在于Translnd 0(开始事务)或3(单操作事务),如果一个事务包含多个操作,那么第一个操作必须含有一个TransID0,表示开始事务,同一事物下在之后的操作将包含TransInd1,最后在结束该事务将包含一个TransID2,如果事务只有一个操作,那么此操作就会只包含一个TransID3。

删除过滤条件

 

FILTER CLEAR

总数

COUNT

统计ls开头的每个队列文件包含的条数

count log ls*

count detail

保存记录的子集

SAVE file n RECORDS

保存记录到新文件

保存整个文件,使用如下命令

Logdump 68> SAVE file

保存部分记录,使用如下命令

Logdump 69> SAVE file n RECORDS

 

 

 

logdump历史命令位置

/home/oracle/logdump.hst

流年笑掷 未来可期
posted @ 2021-11-19 15:24  耀阳居士  阅读(2161)  评论(0编辑  收藏  举报