写点什么

YashanDB dump

作者:YashanDB
  • 2025-03-24
    广东
  • 本文字数:882 字

    阅读完需:约 3 分钟

YashanDB 提供 dump 命令,让用户手动将系统内部结构信息转储到 trace 文件中,这些信息可被用于进行故障问题的跟踪和分析。

dump 命令

dump 命令通过 SQL 语句实现,对其详细的语法描述请参考开发手册ALTER SYSTEM的 dump_clause 子句。

YashanDB 允许将如下内部信息 dump 到 trace 文件中:

  • private redo in memory

内存中的私有日志数据,对应的 dump 命令为:

ALTER SYSTEM DUMP PRIVATE LOG;
复制代码


  • logfile blocks

磁盘中的 redo 日志数据,对应的 dump 命令为:

ALTER SYSTEM DUMP LOGFILE 'redo1'; 
复制代码


  • datafile blocks

磁盘中的数据文件数据,对应的 dump 命令为:

ALTER SYSTEM DUMP DATAFILE 6;  --DUMP整个数据文件
ALTER SYSTEM DUMP DATAFILE 6 BLOCK 0; --DUMP一个页面
ALTER SYSTEM DUMP DATAFILE 6 MINBLOCK 128 MAXBLOCK 137; --DUMP一批页面
复制代码


  • stack of this session

某个会话的堆栈数据,对应的 dump 命令为:

ALTER SYSTEM DUMP SESSION 20 BACKTRACE;
复制代码


Note

  • dump 操作转储的是某一时间点的内部数据,多次 dump 可以跟踪变化。

  • dump 操作涉及磁盘写,运行时间势必受数据量和 IO 影响。

trace 文件

trace 文件与会话一一对应,在会话首次执行 dump 时创建,之后每一次 dump 操作在文件里生成一段数据。

文件路径

trace 文件为自动诊断存储库的一部分,默认存放在{YASDB_DATA}/diag/trace 中,文件名称为{dbname}yas{sid}.trc。

文件内容

每一次 dump 操作对应文件中的一段内容,每一段内容由标题和数据组成:

  • 标题:包含 dump 时间、dump 类型、dump 数据大小等信息。

  • 数据:根据不同的 dump 类型,获取到的系统内部结构数据。

Note

  • 由于会话 ID 可以重复使用,当相同 ID 的新会话第一次 dump,而该 ID 对应 trace 文件存在时,不会创建新文件,而是继续追加写入。

  • 死锁发生时,后台线程若检测到死锁,数据库会选择死锁环中的一个 session 返回 error,并且 dump 对应的死锁信息到该 session 对应的 trace 文件,死锁信息不可手动通过 SQL 语句实现,在检测到死锁时自动触发。

  • trace 文件不会自动清理,管理员需关注其占用空间,判断不再使用的 trace 文件手动清理。

  • trace 文件里的数据为 YashanDB 运行时产生的内部结构数据,如在故障跟踪时希望获得对这些数据的解析,请咨询我们的技术支持。

发布于: 刚刚阅读数: 5
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB dump_数据库_YashanDB_InfoQ写作社区