테이블스페이스(tablespace) 관련 확인 정보 쿼리테이블스페이스(tablespace) 관련 확인 정보 쿼리

Posted at 2013. 8. 30. 17:59 | Posted in DataBase
반응형

-- 데이타 파일별 READ/WRITE 확인 쿼리 -- 
select f.phyrds, f.phywrts, d.name 
from v$datafile d, v$filestat f 
where d.file# = f.file#;  

-- 데이타 파일별 용량 확인 쿼리 -- 
select sysdate as check_time, 
      b.file_name as file_name, 
      b.tablespace_name as tablespace_name, 
      b.bytes/1024 as total_size_KB, 
      ((b.bytes - sum(nvl(a.bytes,0))))/1024 as user_kb, 
      (sum(nvl(a.bytes,0)))/1024 as free_size_kb, 
      trunc(((sum(nvl(a.bytes,0))/(b.bytes))*100),2) as free_percent 
 from dba_free_space a, dba_data_files b 
where a.file_id(+) = b.file_id 
group by b.tablespace_name, b.file_name, b.bytes 
order by b.file_name,b.tablespace_name 

-- 테이블스페이스 공간조회 스크립트 -- 
select a.tablespace_name, 
a.totbytes, 
a.totbytes - b.freebytes as usedbytes, 
b.freebytes, 
a.totblocks, 
a.totblocks - b.freeblocks as usedblocks, 
b.freeblocks 
from 
( 
select tablespace_name, 
sum(bytes) as totbytes, sum(blocks) as totblocks 
from dba_data_files 
group by tablespace_name 
) a, 
( 
select tablespace_name, 
sum(bytes) as freebytes, sum(blocks) as freeblocks 
from dba_free_space 
group by tablespace_name 
)B 
where a.tablespace_name = b.tablespace_name 
and a.tablespace_name like 'OWRA%' 

--현재 사용중인 tablespace 확인 쿼리 
select distinct tablespace_name from dba_segments; 

-- 테이블스페이스 중에 Object가 한개도 없는것을 찾는 쿼리. 
select tablespace_name 
from dba_tablespaces 
minus 
select distinct tablespace_name 
from dba_segments; 

-- 테이블스페이스의 Online/Offline 확인 
select tablespace_name, status, case when status = 'ONLINE' then '읽고쓰기 가능(DML가능)' else 'X' end as status_desc 
from dba_tablespaces; 

-- 현재의 TableSpace와 Datafile 확인 
select file_name, tablespace_name, bytes 
 from dba_data_files; 
  
-- 테이블별 점유용량 확인. 
select segment_name, bytes 
  from user_segments 
 where segment_type ='TABLE';

반응형

//