2

我不完全确定这是一个错误还是我做错了什么,但这里是:

我正在尝试从DBA_HIST_TBSPC_SPACE_USAGE数据字典视图中提取历史表空间信息。文档说该snap_id值是唯一的快照 ID。

但是,请考虑以下查询:

SELECT snap_id, tablespace_id, rtime, snap_qty
FROM
(
    SELECT
        a.*,
        COUNT(*) OVER (PARTITION BY snap_id, tablespace_id) AS snap_qty
    FROM dba_hist_tbspc_space_usage a
)
WHERE snap_qty > 1
ORDER BY snap_qty DESC, snap_id, tablespace_id, rtime

如果snap_id是唯一的,我希望 nosnap_id会包含给定的tablespace_id多次。这个想法是“一个快照,每个表空间一个条目”。

但是,这不是我得到的结果:

   SNAP_ID TABLESPACE_ID RTIME                       SNAP_QTY
---------- ------------- ------------------------- ----------
     50874             8 12/04/2014 20:03:41                3
     50874             8 12/04/2014 20:13:41                3
     50874             8 12/04/2014 20:16:40                3

     50295            51 11/28/2014 19:24:12                2
     50295            51 11/28/2014 19:31:09                2

     50494            33 11/30/2014 21:06:49                2
     50494            33 11/30/2014 21:16:41                2

     50609            12 12/02/2014 01:48:26                2
     50609            12 12/02/2014 02:01:01                2

     50643            30 12/02/2014 10:28:54                2
     50643            30 12/02/2014 10:31:30                2

     50684            25 12/02/2014 20:39:33                2
     50684            25 12/02/2014 20:46:07                2

     ...

这是一个错误吗?这是预期的行为吗?(我应该提交错误报告吗?)


编辑:这似乎并没有发生在我们所有的服务器上,只有一小部分发生。但是,它发生在 Oracle 12 和 Oracle 11 上。

4

0 回答 0