oracle dump 文件解析,8.oracle的dump理解八 dump文件头

8.oracle的dump理解八 dump文件头

在最前面的块DUMP中,是从文件中DUMP出来了。此外我们还可以DUMP文件头。

文件头本身没有很多内容,当需要查看CHECKPOINT的SCN的时候就需要DUMP文件头。

使用ORADEBUG进行DUMP文件有3个等级:

等级1:标准

等级2:增加一点关于v10类型

等级3:增加表空间信息,扩展文件信息。在等级3上可以找到root dba,在文件0的入口可以找到bootstrap表sys.bootstrap$的位置

蛤蟆先来DUMP 等级1 看看

DUMP文件头命令如下:

SQL> oradebug setmypid

SQL> oradebug tracefile_name;

SQL> oradebug dump file_hdrs 1

1     TRACE 文件

每个文件开始都是

DATA FILE #1:

蛤蟆环境中共有9个,其中3个文件已删除了,剩下有6个数据文件,查看如下:

SQL> select file#,name from v$datafile;

FILE#----------NAME

------------------------------------------------

1   F:\TOADDBDATAFILE\TOADDB\SYSTEM01.DBF

3   F:\TOADDBDATAFILE\TOADDB\SYSAUX01.DBF

5   F:\TOADDBDATAFILE\TOADDB\UNDOTBS01.DBF

6   F:\TOADDBDATAFILE\TOADDB\USERS01.DBF

7   F:\TOADDBDATAFILE\TOADDB\EXAMPLE01.DBF

8   F:\TOADDBDATAFILE\TOADDB\TOAD01.DBF

已选择 6 行。

摘取其中一段如下,主要是和红色部分相关的SCN。

DATA FILE #8:

name #10: F:\TOADDBDATAFILE\TOADDB\TOAD01.DBF

creation size=1280 block size=8192status=0xe flg=0x1 head=10 tail=10 dup=1

pdb_id 0, tablespace 6, index=7 krfil=8prev_file_in_ts=0 prev_file_in_pdb=0

unrecoverable scn: 0x0000.00000000 01/01/198800:00:00

Checkpoint cnt:17 scn: 0x0000.002919cb 04/25/2016 06:00:33

Stopscn: 0xffff.ffffffff 04/21/2016 15:58:12

Creation Checkpointed at scn: 0x0000.00255f65 04/21/2016 15:58:12

thread:1 rba:(0xc.17a2e.10)

enabled threads:  01000000 0000000000000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000

Offline scn: 0x0000.00000000 prev_range: 0

Online Checkpointed at scn:  0x0000.00000000

thread:0 rba:(0x0.0.0)

enabled threads:  00000000 0000000000000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000

HotBackup end marker scn: 0x0000.00000000

aux_file is NOT DEFINED

Plugged readony: NO

Plugin scnscn: 0x0000.00000000

Plugin resetlogs scn/timescn: 0x0000.0000000001/01/1988 00:00:00

Foreign creation scn/timescn: 0x0000.0000000001/01/1988 00:00:00

Foreign checkpoint scn/timescn:0x0000.00000000 01/01/1988 00:00:00

Online move state: 0

DUMP OF TEMP FILES: 1 files in database

如果进行等级2的DUMP,会增加如下内容

V10 STYLE FILE HEADER:

CompatibilityVsn = 202375680=0xc100200

DbID=60949636=0x3a20484, Db Name='TOADDB'

ActivationID=0=0x0

ControlSeq=7239=0x1c47, File size=1280=0x500

FileNumber=8, Blksiz=8192, File Type=3 DATA

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C++代码中控制程序生成dump文件,可以通过以下步骤实现: 1. 在代码中添加以下文件: ```cpp #include <Windows.h> #include <DbgHelp.h> ``` 2. 在程序初始化时,设置dump文件的生成路径和名称: ```cpp // 设置dump文件的生成路径和名称 SetUnhandledExceptionFilter(ExceptionHandler); ``` 3. 实现异常处理函数,并在其中生成dump文件: ```cpp // 异常处理函数 LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS* ExceptionInfo) { // 生成dump文件的路径和名称 const char* filePath = "C:\\dump\\myapp.dmp"; // 创建dump文件 HANDLE hFile = CreateFileA(filePath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile != INVALID_HANDLE_VALUE) { // 写入dump文件部 MINIDUMP_EXCEPTION_INFORMATION exceptionInfo; exceptionInfo.ThreadId = GetCurrentThreadId(); exceptionInfo.ExceptionPointers = ExceptionInfo; exceptionInfo.ClientPointers = FALSE; // 写入dump文件内容 MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile, MiniDumpNormal, &exceptionInfo, NULL, NULL); // 关闭dump文件 CloseHandle(hFile); } // 继续执行程序 return EXCEPTION_CONTINUE_EXECUTION; } ``` 以上代码会在程序发生异常时生成一个名为“myapp.dmp”的dump文件,路径为“C:\dump\”。你可以根据需要修改dump文件的名称和路径。注意,如果程序没有发生异常,dump文件不会生成。 另外,如果你使用的是Visual Studio,可以在项目属性的“Debugging”选项卡中设置生成dump文件的路径和名称。这样,在程序发生异常时,Visual Studio会自动生成dump文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值