我试图找到一个有用的查询,可以告诉我表空间是否处于只读状态超过3小时。
我使用下一个查询来检查它是否处于只读状态:
select tablespace_name,status from dba_tablespaces
在哪个表中,我可以检查它只读了多长时间?
有什么想法吗?
答案 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