#dump

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

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

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

# trace文件

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

文件路径

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

文件内容

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

  • 标题:包含dump时间、dump类型、dump数据大小等信息。
  • 数据:根据不同的dump类型,获取到的系统内部结构数据。

Note

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

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

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

pdf-btn 下载文档
copy-btn 复制链接