Common SQL for Oracle---(2)Check TableSpace

-----Check TableSpace-----

---Check DataFile

SELECT TABLESPACE_NAME "TABLESPACE",

FILE_NAME "DATAFILE",

ROUND(BYTES / (1024 )) "FILE_SIZE(KB)"

FROM DBA_DATA_FILES

WHERE TABLESPACE_NAME LIKE ‘&TABLESPACE‘

ORDER BY DATAFILE DESC;

---Add DataFile

alter tablespace ODS_100M1A_DTS add datafile ‘/oradata31/odsf10/ods_100m1a_dp196.dbf‘ size 2048064k;

---Check TableSpace Usage

SELECT DF.TABLESPACE_NAME "TABLESPACE",

100 - ROUND(SUM(FS.BYTES) * 100 / DF.BYTES) "USED_PERCENT(%)",

ROUND(SUM(FS.BYTES) / (1024 * 1024)) "FREE_SIZE(MB)",

ROUND(DF.BYTES / (1024 * 1024)) "TOTAL_SIZE(MB)"

FROM DBA_FREE_SPACE FS,

(SELECT TABLESPACE_NAME, SUM(BYTES) BYTES

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME) DF

WHERE FS.TABLESPACE_NAME(+) = DF.TABLESPACE_NAME

GROUP BY DF.TABLESPACE_NAME, DF.BYTES

ORDER BY 3;

SELECT *

from (SELECT a.tablespace_name tableSpaceName,

round(NVL(a.BYTES / 1024 / 1024/1024,0),2) "totalSize(G)",

round(NVL(b.bytes / 1024 / 1024/1024,0),2) "freeSize(G)",

round(NVL((a.BYTES - b.BYTES) / 1024 / 1024/1024,0),2) "usedSize(G)",

round(NVL((a.BYTES - b.BYTES) / a.BYTES * 100, 0), 2) usedPercent

from (SELECT tablespace_name, sum(BYTES) bytes

FROM dba_data_files

GROUP BY tablespace_name) a,

(SELECT tablespace_name, sum(BYTES) bytes, max(BYTES) largest

FROM dba_free_space

GROUP BY tablespace_name) b

WHERE a.tablespace_name = b.tablespace_name

ORDER BY a.tablespace_name)

UNION

SELECT d.tablespace_name tableSpaceName,

round(NVL(a.BYTES / 1024 / 1024/1024, 0),2) "totalSize(G)",

round(NVL(a.BYTES / 1024 / 1024/1024, 0),2) - round(NVL(t.BYTES, 0) / 1024 / 1024/1024,2) "freeSize(G)",

round(NVL(t.BYTES, 0) / 1024 / 1024/1024,2) usedSize,

round(NVL(t.BYTES / a.BYTES * 100, 0), 2) "usedSize(G)"

FROM SYS.dba_tablespaces d,

(SELECT tablespace_name, SUM(BYTES) BYTES

FROM dba_temp_files

GROUP BY tablespace_name) a,

(SELECT tablespace_name, SUM(bytes_cached) BYTES

FROM v$temp_extent_pool

GROUP BY tablespace_name) t

WHERE d.tablespace_name = a.tablespace_name(+)

AND d.tablespace_name = t.tablespace_name(+)

AND d.extent_management LIKE ‘LOCAL‘

AND d.CONTENTS LIKE ‘TEMPORARY‘;

---check undo usage

SELECT UNDO_TYPE,TYPE_SIZE_MB,ROUND(100*RATIO_TO_REPORT(TYPE_SIZE_MB) OVER(),2) TYPE_PCT

FROM (SELECT STATUS UNDO_TYPE,ROUND(SUM(BYTES)/1024/1024) TYPE_SIZE_MB

FROM DBA_UNDO_EXTENTS

GROUP BY STATUS

UNION ALL

SELECT ‘FREE‘,ROUND(SUM(DFS.BYTES)/1024/1024)

FROM DBA_FREE_SPACE DFS,DBA_TABLESPACES TBS

WHERE DFS.TABLESPACE_NAME=TBS.TABLESPACE_NAME

AND TBS.CONTENTS=‘UNDO‘);

----undo usage by session

SELECT S.SID,S.SERIAL#,S.SQL_ID,S.USERNAME,S.OSUSER,S.MACHINE,S.PROGRAM,S.EVENT,T.START_DATE,(SYSDATE-T.START_DATE)*24*60*60 UNDO_SECONDS,

T.USED_UBLK/1024/1024*(SELECT BLOCK_SIZE FROM DBA_TABLESPACES WHERE TABLESPACE_NAME=R.TABLESPACE_NAME) UNDO_SIZE_MB,T.STATUS

FROM DBA_ROLLBACK_SEGS R,V$TRANSACTION T,V$SESSION S

WHERE R.SEGMENT_ID=T.XIDUSN

AND T.ADDR=S.TADDR

ORDER BY UNDO_SIZE_MB DESC;

---check temp tablespace by session

SELECT SE.USERNAME,

SU.BLOCKS * 8 /1024 "M",

SU.SQL_ID,

SU.SQLHASH,

SA.SQL_TEXT,

SA.SQL_FULLTEXT,

se.SID

FROM V$SORT_USAGE SU, V$SQLAREA SA, V$SESSION SE

WHERE SU.SQL_ID = SA.SQL_ID

AND se.SERIAL# = su.SESSION_NUM

ORDER BY 2 DESC;

SELECT * FROM DBA_TEMP_FILES;

时间: 2024-11-10 16:06:22

Common SQL for Oracle---(2)Check TableSpace的相关文章

SQL创建Oracle表空间、用户以及给用户赋权的方法

//创建表空间 Create tablespace examination//创建表空间examination datafile 'c:\Oracle\zhangwei\examination.dbf'//与表空间关联的文件存放位置(要预先手动建好文件夹) size 100m//文件初始大小,千万不要写成mb(这里以下可略) autoextend on//文件大小可自动拓展 next 30m//每次拓展30m maxsize unlimited//不限制文件大小的上限 logging//生成对于

免安装Oracle客户端使用PL/SQL连接Oracle的2种方法

作者:netshuai  来源:博客园  发布时间:2009-10-23 09:19  阅读:171 次  原文链接   [收藏] 方法一: 大家都知道,用PL/SQL连接Oracle,是需要安装Oracle客户端软件的.有没要想过不安装Oracle客户端直接连接Oracle呢? 其实我一直想这样做,因为这个客户端实在太让人讨厌了!!!不但会安装一个JDK,而且还会把自己放在环境变量的最前面,会造成不小的麻烦. 其实我之前问过很多人的,但是他们都说一定需要安装Oracle客户端的.......直

SQL查询oracle的nclob字段

使用CONTAINS关键字查询NCLOB字段 SELECT  FORMATTED_MESSAGE    FROM     FOC.TBL_LOG WHERE     CONTAINS(FORMATTED_MESSAGE, p_FORMATTED_MESSAGE) > 0; SQL查询oracle的nclob字段,布布扣,bubuko.com

Sql与oracle中null值的区别

原贴链接请点击: 1 null值的介绍 NULL 是数据库中特有的数据类型,当一条记录的某个列为 NULL ,则表示这个列的值是未知的.是不确定的.既然是未知的,就有无数种的可能性.因此, NULL 并不是一个确定的值. 这是 NULL 的由来.也是 NULL 的基础,所有和 NULL 相关的操作的结果都可以从 NULL 的概念推导出来. 2 oracle中的null值介绍 在不知道具体有什么数据的时候,即未知,可以用NULL, 称它为空,ORACLE中,含有空值的表列长度为零.允许任何一种数据

SQL Server,Oracle,DB2索引建立语句的对比

原文引至:http://jvortex.blog.163.com/blog/static/16961890020122141010878/ 我们知道,索引是用于加速数据库查询的数据库对象.原理就是减少查询的IO操作,从而达到加速的目的.本文我们主要对SQL Server,Oracle,DB2上的索引建立语句进行了总结,接下来就让我们一起来了解一下这部分内容. 索引的种类: 聚集索引:根据数据行的键值在表或视图中排序和存储这些数据行. 非聚集索引:具有独立于数据行的结构. 唯一索引:确保索引键不包

SQL在Oracle内部的具体处理流程

下图显示了SQL在Oracle内部处理的一般阶段:解析.优化.产生行源和执行.数据库可能会忽略某些步骤,这取决于具体的语句.                                                                                                        1,SQL解析 SQL处理的第一阶段就是SQL解析.当应用程序发出SQL语句时,该应用程序向数据库发出一个解析调用,以准备执行该语句,解析调用会打开或创建一个游标,它是

用Hibernate框架把hql生成可执行的sql语句-Oracle方言

引言:为什么这样的需求,源自公司项目需要,公司的项目使用java的struts2+spring2.5+oracle中间件tuxedo,数据库用的是Oracle,但由于不直接连接数据库,用中间件处理的方式,又不希望有太多服务,所以就开始网络找资料整理编码了.大概花了一个多星期完成了这个任务,现在整理出来与大家分享,也是自己知识的梳理. 1.需要导入相关的jar包: [按字母顺序排列] antlr-2.7.5H3.jar 语言转换工,Hibernate利用它实现 HQL 到 SQL的转换 asm.j

OLEDB 连接 和 效率(MS SQL 、Oracle 、ACESS)

这半年手头的一个项目,自己写代码的时候偏爱 MS SQL.部署服务器装的是 ORALCE 和 实际的现场是小型机,压根没有装数据库只好选用 ACESS ,三种环境不一致,才决定用 OLEDB 做数据库访问.之前忙于赶进度草草地封了几个增删改查的操作,年前闲下来做测试还发现了不少问题.趁着这几天闲就从头封装了一次,做出单独的一个简单类出来. 为了调用的时候传递方便就直接从 IDbCommand 继承过来,这样传参还是调用都留下了余地,封装很简单直接上类图 本文的小工具和封装类,已经提交到了GIT

PL/SQL连接oracle数据库

PL/SQL连接oracle数据库 1.简单介绍 在不安装oracle数据库的情况下使用pl/sql连接远程oracle数据库. 2.详细步骤: a)      安装PL/SQL.依据自己的操作系统安装oracleclient(跟oracle数据库的版本号没有关系). b)     设置连接远程oracle数据库的连接信息.三种方式(主要是在tnsnames.ora文件里加入?远程数据库连接信息).以下三种方式在文件最后追加的内容是依据我自己的数据库连接信息追加的.仅做參考: i.     安装