表空间处于只读状态的时间长度

时间:2017-08-23 06:29:48

标签: oracle

我试图找到一个有用的查询,可以告诉我表空间是否处于只读状态超过3小时。

我使用下一个查询来检查它是否处于只读状态:

select tablespace_name,status from dba_tablespaces

在哪个表中,我可以检查它只读了多长时间?

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

此信息不存储在dba_tablespaces中,而是存储在v $ datafile中。

您可以使用此SQL查询来获取所需信息(所有数据文件都处于只读状态超过3小时)。 1/8是3小时(24/8)。

SELECT t.name, d.file#, d.name, d.status, d.offline_change#, d.last_time
FROM v$datafile d, v$tablespace t
WHERE t.ts# = d.ts# AND last_time IS NOT NULL AND last_time<SYSDATE-1/8;

答案 1 :(得分:1)

select h.TABLESPACE_NAME,t.status ,checkpoint_change#,to_char(checkpoint_time,'DD-MM-YY HH24:MI:SS')chkpt_time
from v$datafile_header h ,  dba_tablespaces t
where h.TABLESPACE_NAME = t.TABLESPACE_NAME 
and t.status ='READ ONLY'
and checkpoint_time <sysdate-3/24