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