【DB笔试面试156】在Oracle中,如何查询数据库系统或当前会话的Redo和Undo的生成量?
- 2019 年 10 月 10 日
- 筆記
♣
题目部分
在Oracle中,如何查询数据库系统或当前会话的Redo和Undo的生成量?
♣
答案部分
答案:反映Undo、Redo生成量的统计指标分别是:
l Redo:redo size
l Undo:undo change vector size
1、查询数据库系统Redo生成量,可以通过V$SYSSTAT视图查询,如下所示:
SELECT NAME, VALUE FROM V$SYSSTAT WHERE NAME = 'redo size';
2、查看当前会话的Redo生成量,可以通过V$MYSTAT或V$SESSTAT视图查询,如下所示:
CREATE OR REPLACE VIEW VW_REDO_SIZE_LHR AS SELECT VALUE REDO_SIZE FROM V$MYSTAT MY, V$STATNAME ST WHERE MY.STATISTIC# =ST.STATISTIC# AND ST.NAME = 'redo size';
可以创建视图来同时查询当前会话Redo和Undo的生成量,如下所示:
CREATE OR REPLACE VIEW VW_REDO_UNDO_LHR AS SELECT (SELECT NB.VALUE FROM V$MYSTAT NB, V$STATNAME ST WHERE NB.STATISTIC# = ST.STATISTIC# AND ST.NAME = 'redo size') REDO, (SELECT NB.VALUE FROM V$MYSTAT NB, V$STATNAME ST WHERE NB.STATISTIC# = ST.STATISTIC# AND ST.NAME = 'undo change vector size') UNDO FROM DUAL;
& 说明:
有关Redo和Undo的查询实验更多相关内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2125815/
本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。