數據庫查詢表結構,表空間使用率sql

--mysql表結構信息
SELECT A.TABLE_NAME AS "表名",
       D.COMMENTS AS "表說明",
       B.COLUMN_ID AS "字段序號",
       B.COLUMN_NAME AS "字段名",
       B.DATA_TYPE AS "字段數據類型",
       B.DATA_LENGTH AS "數據長度",
       B.NULLABLE AS "是否爲空",
       B.DATA_DEFAULT as "默認值",
       C.COMMENTS AS "字段說明"
FROM ALL_TABLES A,ALL_TAB_COLUMNS B,ALL_COL_COMMENTS C,ALL_TAB_COMMENTS D
WHERE A.TABLE_NAME=B.TABLE_NAME
 AND A.OWNER=B.OWNER
 AND A.TABLE_NAME=D.TABLE_NAME(+)
 AND A.OWNER=D.OWNER(+)
 AND B.COLUMN_NAME=C.COLUMN_NAME
 AND B.OWNER=C.OWNER
 AND B.TABLE_NAME=C.TABLE_NAME
 AND A.OWNER='VENUS'
 ORDER BY A.TABLE_NAME, B.COLUMN_ID;
--mysql索引信息
SELECT A.TABLE_NAME,B.COLUMN_ID,B.COLUMN_NAME,
CASE WHEN C.INDEX_NAME IS not NULL THEN 'Y' ELSE 'N' end "索引"
FROM ALL_TABLES A, ALL_TAB_COLUMNS B, ALL_IND_COLUMNS C
WHERE A.TABLE_NAME = B.TABLE_NAME
   AND A.OWNER = B.OWNER
   AND B.TABLE_NAME = C.TABLE_NAME(+)
   AND B.OWNER = C.TABLE_OWNER(+)
   AND B.COLUMN_NAME = C.COLUMN_NAME(+)
   AND A.OWNER = 'VENUS'
 order by A.TABLE_NAME, B.COLUMN_ID
--mysql外鍵信息
selecT E.TABLE_NAME,a.COLUMN_ID,a.COLUMN_NAME,
       CASE d.CONSTRAINT_TYPE WHEN 'R' THEN 'Y' ELSE 'N' END "外鍵"
from all_tab_columns a,
       (select c.TABLE_NAME, c.COLUMN_NAME, b.CONSTRAINT_TYPE, c.OWNER
          from all_constraints b, all_cons_columns c
         where b.OWNER = c.OWNER
           and b.TABLE_NAME = c.TABLE_NAME
           AND B.CONSTRAINT_NAME = C.CONSTRAINT_NAME
           and b.CONSTRAINT_TYPE = 'R') d,
       ALL_TABLES E
where a.TABLE_NAME = d.TABLE_NAME(+)
   and a.COLUMN_NAME = d.column_name(+)
   AND A.OWNER = D.OWNER(+)
   AND A.OWNER = 'VENUS'
   AND A.TABLE_NAME = E.TABLE_NAME
AND A.OWNER=E.OWNER
 ORDER BY E.TABLE_NAME, A.COLUMN_ID;
--mysql主鍵信息
selecT E.TABLE_NAME,a.COLUMN_ID,a.COLUMN_NAME,
       CASE d.CONSTRAINT_TYPE WHEN 'P' THEN 'Y' ELSE 'N' END "主鍵"
from all_tab_columns a,
       (select c.TABLE_NAME, c.COLUMN_NAME, b.CONSTRAINT_TYPE, c.OWNER
          from all_constraints b, all_cons_columns c
         where b.OWNER = c.OWNER
           and b.TABLE_NAME = c.TABLE_NAME
           AND B.CONSTRAINT_NAME = C.CONSTRAINT_NAME
           and b.CONSTRAINT_TYPE = 'P') d,
       ALL_TABLES E
where a.TABLE_NAME = d.TABLE_NAME(+)
   and a.COLUMN_NAME = d.column_name(+)
   AND A.OWNER = D.OWNER(+)
   AND A.OWNER = 'VENUS'
   AND A.TABLE_NAME = E.TABLE_NAME
   AND A.OWNER=E.OWNER
 ORDER BY E.TABLE_NAME, A.COLUMN_ID;
--oracle查詢表空間使用率(包括臨時表空間)
select * from (  
    Select a.tablespace_name,  
    to_char(a.bytes/1024/1024,'99,999.999') total_bytes,  
    to_char(b.bytes/1024/1024,'99,999.999') free_bytes,  
    to_char(a.bytes/1024/1024 - b.bytes/1024/1024,'99,999.999') use_bytes,  
    to_char((1 - b.bytes/a.bytes)*100,'99.99') || '%' use  
from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,  
    (select tablespace_name,  
    sum(bytes) bytes  
    from dba_free_space  
    group by tablespace_name) b  
where a.tablespace_name = b.tablespace_name  
union all  
select c.tablespace_name,  
    to_char(c.bytes/1024/1024,'99,999.999') total_bytes,  
    to_char( (c.bytes-d.bytes_used)/1024/1024,'99,999.999') free_bytes,  
    to_char(d.bytes_used/1024/1024,'99,999.999') use_bytes,  
    to_char(d.bytes_used*100/c.bytes,'99.99') || '%' use  
from  
    (select tablespace_name,sum(bytes) bytes from dba_temp_files group by tablespace_name) c,  
    (select tablespace_name,sum(bytes_cached) bytes_used  
from v$temp_extent_pool group by tablespace_name) d  
where c.tablespace_name = d.tablespace_name  
)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章