加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘南站长网 (https://www.0941zz.com/)- 科技、行业物联网、开发、云计算、云管理!
当前位置: 首页 > 数据库 > Oracle > 正文

如何在Oracle中查询事务计数

发布时间:2023-02-17 09:25:05 所属栏目:Oracle 来源:互联网
导读:如何在Oracle中查询事务计数 数据库扩展期间可能需要的脚本。计算两个特定日期之间的交易编号。 该脚本已在11gR1和11gR2中进行了测试。在生产环境中运行脚本之前,请在测试服务器上对其进行测试。 SELECT BEGIN_TIME, END_TIME, TXNCOUNT, ( (END_TIME - BEG
  如何在Oracle中查询事务计数
  数据库扩展期间可能需要的脚本。计算两个特定日期之间的交易编号。
 
  该脚本已在11gR1和11gR2中进行了测试。在生产环境中运行脚本之前,请在测试服务器上对其进行测试。
 
  SELECT BEGIN_TIME,
  END_TIME,
  TXNCOUNT,
  ( (END_TIME - BEGIN_TIME) * 24 * 60 * 60) DIFFSECOND,
  TO_CHAR ( (TXNCOUNT / ( (END_TIME - BEGIN_TIME) * 24 * 60 * 60)),
  '999999.99')
  TRANXPERSECOND
  FROM V$UNDOSTAT
  WHERE     BEGIN_TIME >= TO_DATE('20.09.2014 00:00','DD.MM.YYYY HH24:MI')
  AND BEGIN_TIME <= TO_DATE('25.09.2014 00:00','DD.MM.YYYY HH24:MI')
  AND (TXNCOUNT / ( (END_TIME - BEGIN_TIME) * 24 * 60 * 60)) > 50
  ORDER BY 1;
  以下查询可用于在Oracle数据库中查找事务计数。
 
  Oracle中每天的平均交易数
  
  SELECT V1          "Total Commits",
         V2          "Total Rollbacks",
         V3          "Total User Calls",
         T1          "Uptime in days",
         S1 / T1     "Avg Daily DML Transactions",
         V3 / T1     "Avg Daily User Calls"
    FROM (SELECT VALUE     V1
            FROM V$SYsstAT
           WHERE NAME = 'user commits'),
         (SELECT VALUE     V2
            FROM V$SYsstAT
           WHERE NAME = 'user rollbacks'),
         (SELECT SUM (VALUE)     S1
            FROM V$SYsstAT
           WHERE NAME IN ('user commits', 'user rollbacks')),
         (SELECT VALUE     V3
            FROM V$SYsstAT
           WHERE NAME = 'user calls'),
         (SELECT SYSDATE - STARTUP_TIME T1 FROM V$INSTANCE);
  每日平均提交次数

  SELECT (V1 + V2) / T1 "Avg Daily DML Transactions",
      V1 "User Commit",
      V2 "User Rollback"
    FROM (SELECT VALUE V1
            FROM V$SYsstAT
           WHERE NAME = 'user commits'),
         (SELECT VALUE V2
            FROM V$SYsstAT
           WHERE NAME = 'user rollbacks'),
         (SELECT SYSDATE - STARTUP_TIME T1 FROM V$INSTANCE);
  最近24小时的交易计数
  
  SELECT 'DATABASE',
         'TOPLAM TRANSACTION - 24 SAAT',
         TO_CHAR (MAX (NEXT_CHANGE#) - MIN (FirsT_CHANGE#),'9,999,999') VALUE
    FROM V$LOG_HISTORY
  WHERE TO_DATE (FirsT_TIME, 'DD/MM/RR HH24:MI:SS') > Trunc (SYSDATE, 'HH24') - 1;

(编辑:甘南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读