Logdump Reference for Oracle GoldenGate12c (12.2.0.1)中文翻译

来源:互联网 发布:知乎精彩回答 微盘 编辑:程序博客网 时间:2024/06/09 20:10

使用Logdump

本章包括下列内容:开始Logdump之旅

  • 查看第一条记录
  • 执行基本的Logdump任务
  • 评价事务大小
  • 保存指令历史
  • 查看Logdump指令信息和语法

开始Logdump之旅


本章向你介绍基本的Logdump指令,如打开文件,控制命令行显示,浏览Trail文件,过滤出指定的信息和其他基础的功能。同时它也描述了一条记录的构成。

查看第一条记录


本节介绍如何建立一个Logdump的环境并开始查看Trail文件中的记录

运行Logdump

在GoldenGate的安装目录下运行Logdump。Logdump下指令都是被记录的,因此你可以编辑和查看历史指令(history)

设置查看方式

下面一些指令在分析trail文件的时候常用。这些指令是Logdump的环境变量的一部分,用来配置查看的方式。
1. 显示记录头:
Logdump 1> GHDR ON
记录头包含了事务的相关信息。
2. 显示列信息:
Logdump 2> DETAIL ON
列信息包含了数据和长度,用16进制和ASCII显示。
3. 用16进制和ASCII来描述列:
Logdump 3> DETAIL DATA
4. 显示用户tokens:
Logdump 4> USERTOKEN ON
用户tokens是用户出于特殊目的自定义的信息。用TABLE或者FILE mapping指定,并存储在trail文件中。
5. 查看自动生成tokens:
Logdump 4> GGSTOKEN ON
自动生成tokens包含事务ID(XID),用于DML操作的rowid,获取的状态,和tag value。
6. 控制有多少记录数据被显示(一个DML操作涉及多个列,这参数控制显示数据的长度):
Logdump 5> RECLEN length

打开Trail文件

完整地打开一个trail文件需要以下步骤:
1. 用以下指令打开一个文件:
Logdump 6> OPEN file_name
其中:file_name可以是相对路径也可以是绝对路径,文件名后要跟上文件的sequence number。如:
open /home/ggs/dirdat/jd000000
open $data01.glogggl.aa000000
2. 从第一个记录开始顺序浏览记录:
Logdump 7> NEXT
你也可以用简化的指令N

执行基础的Logdump任务

下面的介绍一些Logdump基本功能。关于指令详细的信息和其他选项可以查看Logdump指令帮助。

查找下一个完整记录头

可以敲入下面的指令来查找下一个完整记录头:
Logdump 8> SCANFORHEADER
你也可以使用缩写SFH.

查找一个事务的开始、中间和结束记录

可以敲入下面的指令来查找一个事务的开始、中间和结束记录:
1. 显示记录头和细节.
Logdump 9> GHDR ON
Logdump 10> DETAIL ON
2. 显示下一条记录.
Logdump 11> N
3. 查看记录头中的TransInd field. 这个值记录了当前记录在一个事务中的相对关系。
Transaction Indicator Description
TransInd : . (x00) 该事务中的第一条记录
TransInd : . (x01) 该事务中的中间记录
TransInd : . (x02) 该事务中的最后一条记录
TransInd : . (x03) 该事务只有一条记录
4. 键入N来查找下一个记录,根据TransInd field 来判断每条记录在事务中的位置。当TransInd为x02或者x03时,下一条记录的TransInd就是x00,表明进入下一个事务。

查找下一个事务的第一条记录

键入以下指令查找下一个事务的第一条记录:
Logdump 20> SCANFORENDTRANS
你也可以使用缩写指令SFET
下一个事务的第一条记录会被显示出来,为了验证它,你可以查看这条记录的TransInd是否是x00

查看文件中指定RBA的记录

查看文件中指定RBA的记录,你可以做下面的操作:
- 查看文件中任意RBA的记录:
Logdump 35> POS rba
Logdump 36> N
这就显示了指定RBA的记录.
- 查看文件中第一条记录:
Logdump 37> POS FIRST
你也可以键入以下指令:
Logdump 37> POS 0

依据表或者数据文件名来过滤记录

过滤出包含特定NonStop数据文件名的记录:
Logdump 60> FILTER INCLUDE FILENAME $volume.subvolume.file

过滤出包含特定NonStop数据文件名的记录:
• NonStop系统下:
Logdump 60> FILTER INCLUDE ANSINAME catalog.schema.table
• Windows或者UNIX系统:
Logdump 60> FILTER INCLUDE FILENAME [container | catalog] schema.table
现在使用N指令,你只能看到满足过滤条件的记录。若想看不满足指定过滤条件的记录,可以使用EXCLUDE选项来代替INCLUDE。

删除当前过滤规则

删除当前过滤规则:
Logdump 62> FILTER CLEAR

多规则过滤记录

多规则过滤记录:
• 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要依据过滤规则是要只要满足一个条件还是满足所有条件。前面的例子以名字和记录类型RECTYPE来进行过滤,典型的RECTYPE是INSERT。

Trail文件记录统计

COUNT指令对每一个表和数据文件进行统计:
Logdump 67> COUNT

将记录保存为一个新的Trail文件

可以将若干记录保存成新的Trail文件:
Logdump 68> SAVE file n RECORDS

关闭当前文件打开下一个序列的Trail文件

关闭当前文件并打开下一个序列的Trail文件:
Logdump 69> NEXTTRAIL

记录你的会话

开始日志记录,可以键入下面的命令:
Logdump 70> LOG TO filename.txt
想日志文件写入文本:
Logdump 71> WRITELOG “text”
停止日志记录:
Logdump 72> LOG STOP

查看Logdump当前的环境

查看Logdump当前的环境:
Logdump 73> ENV
这个命令显示了一些功能的开关情况,比如是否开启过滤、文件头Viewer,并显示了诸如当前打开的trail文件和读取位置等环境信息。

获取联机指令帮助

获取联机指令帮助:
Logdump 74> HELP

退出Logdump

可以使用下面的命令退出Logdump:
• Logdump 100> EXIT
• Logdump 100> QUIT

评价事务大小

将TRANSHIST和其他Logdump指令一起使用,可以确定你的应用是否有大量的事务产生,并可以了解它们相对的大小。TRANSHIST让Logdump跟踪存在于trail文件或内部历史记录表中的事务。事务按照大小(以bytes为单位)顺序排列,当历史记录表满了,最小的事务会被从记录表中删除,把更大的事务添加到列表中。为了查看TANSHIST生成的统计信息,要在Logdump下执行以下的指令:
1. 使用TRANSHIST 来设置历史表的大小(历史记录表是用来记录事务的大小)。最大为200bytes。0代表关闭记录。
TRANSHIST n
2. 使用TRANSRECLIMIT or TRANSBYTELIMIT指令来指定一个“正常大小”事务的下边界。设定之后,Logdump只会记录满足这些条件的事务。这就减少了查看数据的数量。
{TRANSBYTELIMIT n bytes | TRANSRECLIMIT n records}
3. 使用Logdump的COUNT指令来显示事务大小相关的统计信息,如下所示:
Transactions with at least 100 records or 100000 bytes
2011/02/01 09:31:24.000.000 00:00:00.000, Seq 0, RBA 13101
Bytes/Trans ….. 1168167
Records/Trans … 1001
Files/Trans ….. 1
2011/02/01 09:31:35.000.000 00:00:11.000, Seq 0, RBA 1205292
Bytes/Trans ….. 1168167
Records/Trans … 1001
Files/Trans ….. 1
Logdump扫描trail文件,生成事务报告。
4. 使用Logdump的POSITION RBA指令可以跳转到COUNT所显示的任意RBA,从而可以查找生成该事务的表的名字。你可以将不同的表对应不同的GoldenGate进程进行分组处理,这样不同的表所产生的事务就不会相互影响(这里指影响用户的观察)。

保存历史指令

在Windows和Unix下,历史指令被存储在logdump.hst文件中。在NonStop系统下,历史指令被存储在logduhst中。用户第一次运行Logdump指令之后,历史指令文件就在Logdump所在目录下创建。当Logdump启动,根据操作系统的不同,它使用以下路径之一来搜索历史指令文件:
• The USERPROFILE environment variable.
• The $HOME environment variable.
• The default $vol.subvol.
如果文件存在,Logdump就会将它装载进缓冲区中。这个指令文件可以保存400条指令。在Logdump关闭前,会话的历史指令会被追加到该文件中。

查看Logdump指令信息和语法

要学习更多Logdump命令,可以参看下一章Logdump指令的附录。

原创粉丝点击