当前位置:首页 > 数据库 > Oracle

【DB笔试面试208】在Oracle中,如何快速计算事务的时间与日志量?

【DB笔试面试208】在Oracle中,如何快速计算事务的时间与日志量? - 文章图片

【DB笔试面试208】在Oracle中,如何快速计算事务的时间与日志量? - 文章图片


Q ? ? ? ? ?题目如下所示:

在Oracle中,如何快速计算事务的时间与日志量?


? ? ?
A ? ? ? ? ?答案如下所示: ? ? ? ? ?



答案:脚本如下所示:


DECLARE 

  start_time NUMBER;

  end_time NUMBER;

  start_redo_size NUMBER;

  end_redo_size NUMBER;

BEGIN

  start_time := dbms_utility.get_time;

  SELECT VALUE INTO start_redo_size FROM v$mystat m,v$statname s 

             WHERE m.STATISTIC#=s.STATISTIC#

                AND s.NAME='redo size';

  --transaction start

  INSERT INTO t1 

     SELECT * FROM All_Objects;   

  --other dml statement

  COMMIT;

  end_time := dbms_utility.get_time;

  SELECT VALUE INTO end_redo_size FROM v$mystat m,v$statname s 

             WHERE m.STATISTIC#=s.STATISTIC#

                AND s.NAME='redo size';

  dbms_output.put_line('Escape Time:'||to_char(end_time-start_time)||' centiseconds');

  dbms_output.put_line('Redo Size:'||to_char(end_redo_size-start_redo_size)||' bytes');

END;


? ? ?



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐