表空间相关sql

来源:互联网 发布:涤纶 锦纶 外套 知乎 编辑:程序博客网 时间:2024/06/03 20:29

--查看表空间被占用情况

SELECT se.USERNAME,

sid,
serial#,
sql_address,
machine,
program,
tablespace,
segtype,
contents 
FROM v$session se,
v$sort_usage su

WHERE se.saddr=su.session_addr 


--查看表空间是否为自动增长

select tablespace_name,AUTOEXTENSIBLE,INCREMENT_BY from dba_data_files;


--查看表是否锁定

--查看表锁定情况(方法1)
select object_id,session_id,locked_mode from v$locked_object; 


--查看表锁定情况(方法2)
 select b.owner,b.object_name,l.session_id,l.locked_mode 
         from v$locked_object l, dba_objects b 
       where b.object_id=l.object_id 


--找出数据库的serial#,以备杀死
 select t2.username,t2.sid,t2.serial#,t2.logon_time 
         from v$locked_object t1,v$session t2 
      where t1.session_id=t2.sid order by t2.logon_time; 

--查看表索引情况

select *--t.index_name,t.index_type,t.include_column,t.tablespace_name,t.table_name
  FROM index_stats T --where t.index_name='R164_SDE_ROWID_UK'
 /*WHERE t.table_owner = 'HNLY_LQGG'
  AND t.table_name = 'HNLY10K_LQRH_XBM';*/


--杀死该session 
alter system kill session 'sid,serial#' 


--查询表空间利用情况

SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
       D.TOT_GROOTTE_MB "表空间大小(M)",
       D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
       TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
                     2),
               '990.99') "使用比",
       F.TOTAL_BYTES "空闲空间(M)",
       F.MAX_BYTES "最大块(M)"
  FROM (SELECT TABLESPACE_NAME,
               ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
               ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
          FROM SYS.DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) F,
       (SELECT DD.TABLESPACE_NAME,
               ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
          FROM SYS.DBA_DATA_FILES DD
         GROUP BY DD.TABLESPACE_NAME) D
 WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
 ORDER BY 4 DESC







0 0
原创粉丝点击