热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

数据库监控用到的sql

来源: 作者: 时间:2007-12-15 Tag: 点击:

--1.查询被X锁的记录信息
SELECT S.SID, O.OBJECT_NAME, F.NAME FILE_NAME, S.ROW_WAIT_BLOCK# LOCKED_BLOCK, S.ROW_WAIT_ROW# LOCKED_ROW
  FROM V$SESSION S, USER_OBJECTS O, V$DATAFILE F
 WHERE S.ROW_WAIT_OBJ# = O.OBJECT_ID
   AND S.ROW_WAIT_FILE# = F.FILE#
   AND S.SID IN (SELECT DISTINCT SID FROM V$LOCK WHERE REQUEST = 6)

--2.查询某用户每个表占用的空间大小(owner需要根据实际情况录入,注意大写)
SELECT OWNER 用户,
       SEGMENT_NAME 段名,
       PARTITION_NAME 分区名,
       SEGMENT_TYPE 段类型,
       TABLESPACE_NAME 表空间,
       BYTES 大小b,
       BYTES / 1024 / 1024 大小m
  FROM DBA_SEGMENTS
 WHERE OWNER = 'TEST';

--3.表空间占用率的统计
SELECT TABLESPACE_NAME, --表空间名称
       TO_CHAR(ROUND(SUM_MAX / 1024 / 1024, 2)) || ' M' AS CAPA_MAX, --从扩充后角度看,最大大小
       TO_CHAR(ROUND((SUM_ALLOC - NVL(SUM_FREE, 0)) / 1024 / 1024, 2)) || ' M' AS CAPA_USED, --目前使用空间大小
       TO_CHAR(ROUND((SUM_MAX - SUM_ALLOC + NVL(SUM_FREE, 0)) / 1024 / 1024,
                     2)) || ' M' AS CAPA_FREE, --从扩充角度看,剩余空间大小
       TO_CHAR(ROUND(100 * (SUM_ALLOC - NVL(SUM_FREE, 0)) / SUM_MAX, 2)) || '%' AS CAPA_USED_P, --从扩充角度看,占用空间百分率
       TO_CHAR(ROUND(100 * (SUM_MAX - SUM_ALLOC + NVL(SUM_FREE, 0)) /
                     SUM_MAX,
                     2)) || '%' AS CAPA_PER_P, --从扩充角度看,剩余空间百分率
       TO_CHAR(ROUND(SUM_ALLOC / 1024 / 1024, 2)) || ' M' AS MAX, --目前分配空间大小
       TO_CHAR(ROUND((SUM_ALLOC - NVL(SUM_FREE, 0)) / 1024 / 1024, 2)) || ' M' AS USED, --目前使用空间大小
       TO_CHAR(ROUND(NVL(SUM_FREE, 0) / 1024 / 1024, 2)) || ' M' AS FREE, --目前剩余空间大小
       TO_CHAR(ROUND(100 * (SUM_ALLOC - NVL(SUM_FREE, 0)) / SUM_ALLOC, 2)) || '%' AS USED_P, --目前空间使用百分比
       TO_CHAR(ROUND(100 * NVL(SUM_FREE, 0) / SUM_ALLOC, 2)) || '%' AS PER_P --目前空间剩余百分比
  FROM (SELECT TABLESPACE_NAME,
               SUM(BYTES) AS SUM_ALLOC, --分配空间大小
               SUM(DECODE(MAXBYTES, 0, BYTES, MAXBYTES)) AS SUM_MAX --扩展后大小
          FROM DBA_DATA_FILES
         GROUP BY TABLESPACE_NAME),
       (SELECT TABLESPACE_NAME AS FS_TS_NAME, SUM(BYTES) AS SUM_FREE --空间空间大小
          FROM DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME)
 WHERE TABLESPACE_NAME = FS_TS_NAME(+);




相关文章:
SQLite3 C/C++ 开发接口简介(API函数) 二
SQLite3 使用教学
Scaling out MySQL - Hardware today and tomorro
SQLite适用的范围
sybase cursor declare
SQL语句大全精要
用户配额
decode函数
Oracle 数据库创建表空间、创建用户指定表空间
MySQL教会我使用GnuPG验证软件包
MySQL中MyISAM引擎与InnoDB引擎性能简单测试
initdb
mysqladmin在线帮助文档
CentOS 4.7 安装Oracle 9.2.0.4的一些问题
文本如何导入oracle(sqlldr 的用法)
ORA-00600: 内部错误代码,自变量: [16201], [],
分布式Oracle的database link
install a MySQL source distribution
Mysql备份脚本(未验证)
oracle 9.2.0.1 update 9.2.0.5
每小时Dump所有mysql数据库到NAS存储设备上
Oracle SCN机制解析
Account LOCKED(TIMED)
MySQL数据库5.0的my.cnf配置选项
oracle存储过程中调用其他用户的表
修改sqlplus提示符
MYSQL建表实例
一些对Mysql DBA有用的脚本
Oracle DBA 强悍挑战OS 64位 Solaris 10-真正休
[Bugzilla]由Mysql迁移到Oracle的方法