【DB笔试面试208】在Oracle中,如何快速计算事务的时间与日志量?
在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;
更多相关文章
- 【DB笔试面试223】在Oracle中,如果丢失一个数据文件而且没有备份,
- 【DB笔试面试219】在Oracle中,如果发现有坏块,那么如何检索其它未
- 【DB笔试面试618】在Oracle中,“OR扩展”可以有查询转换吗?
- 【DB笔试面试692】在Oracle中,V$SYSSTAT中的CLASS列分别代表什么?
- 【DB笔试面试497】Oracle使用哪个包可以生成并传递数据库告警信
- 【DB笔试面试624】在Oracle中,Hash Join是不是有排序?Hash Join会
- 【DB笔试面试844】在Oracle中,tnsnames.ora文件的作用是什么?
- 【DB笔试面试641】在Oracle中,新建索引后统计信息是否自动收集?
- 【DB笔试面试238】在Oracle中,如何将信息写入Oracle的告警日志中?