数据库系统语句的整理

1、查询数据库总表的内存

SELECT t.segment_name, SUM(t.bytes / 1024 / 1024 / 1024) "GB"
 FROM user_segments t
 GROUP BY t.segment_name
 ORDER BY SUM(t.bytes / 1024 / 1024 / 1024) DESC

2、查询某张表的内存

 SELECT sum(bytes/ 1024 / 1024 /1024) "GB" FROM dba_segments t WHERE t.segment_name =''
 SELECT partition_name,bytes/ 1024 / 1024 "MB" FROM dba_segments t WHERE t.segment_name =''

3、删除某张表的分区

ALTER TABLE T_INTERFACE_MSG DROP PARTITION PART_20171113 

4、查看标的一些系统信息

SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
TOT_GROOTTE_MB "表空间大小(MB)",
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') || '%' "使用比",
TOTAL_BYTES "空闲空间(M)",
MAX_BYTES "最大块(MB)"
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 1

5、清空分区表分区

ALTER TABLE TBL_SMSMT_AUTOACTIV_BILL_HIS DROP PARTITION P201305

6、查询单个表空间内容

select segment_name,tablespace_name,bytes B, bytes/1024 KB, bytes/1024/1024 MB 
from user_segments s where s.tablespace_name=''

7、查看死进程并kill

select object_name,machine,s.sid,s.serial#
from v$locked_object l,dba_objects o ,v$session s
where l.object_id = o.object_id and l.session_id=s.sid
kill进程
alter system kill session '781,10883'

8、创建分区表

CREATE TABLE AAA_LOG  
(  
   TABLE_ID NUMBER(8),  
   SUB_DATE DATE,     VALUE NUMBER(8) 

) PARTITION BY RANGE(SUB_DATE)              
INTERVAL(NUMTODSINTERVAL(1, 'day'))         NUMTOYMINTERVAL(1,'MONTH')   NUMTOYMINTERVAL(1,'YEAR')  NUMTODSINTERVAL( n, { 'DAY'|'HOUR'|'MINUTE'|'SECOND'})
(  
  PARTITION P1 VALUES LESS THAN (TO_DATE('2016-11-22','YYYY-MM-DD'))  
)

持续更新中………….

猜你喜欢

转载自blog.csdn.net/qq_28751497/article/details/82115766