`
xinyoulinglei
  • 浏览: 123798 次
社区版块
存档分类
最新评论

oracle表空间查询的基本SQL

阅读更多
查询一般表空间:
SELECT a.tablespace_name "表空间名",
       total 表空间大小,
       free 表空间剩余大小,
       (total - free) 表空间使用大小,
       ROUND((total - free) / total, 4) * 100 "使用率 %"
  FROM (SELECT tablespace_name, SUM(bytes) free
          FROM DBA_FREE_SPACE
         GROUP BY tablespace_name) a,
       (SELECT tablespace_name, SUM(bytes) total
          FROM DBA_DATA_FILES
         GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
   and a.tablespace_name = '查询的表空间名称'

查询临时表空间:
SELECT a.tablespace_name "表空间名",
       total 表空间大小,
       total-used 表空间剩余大小,
       used 表空间使用大小,
       ROUND(used / total, 4) * 100 "使用率 %"
  FROM (SELECT tablespace_name, SUM(bytes_used) used
          FROM v$temp_space_header
         GROUP BY tablespace_name) a,
       (SELECT tablespace_name, SUM(bytes) total
          FROM dba_temp_files
         GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
   and a.tablespace_name = '查询的临时表空间名称'
                            
                            
======================================================
下面介绍Oracle查询用户表空间                                                         
                                                                           
                                                                           
查看当前用户的缺省表空间 select username,default_tablespace from user_users                          
                                                                           
查看当前用户的角色 select * from user_role_privs 查看当前用户的系统权限                              
                                                                           
Oracle查询用户表空间:select * from user_all_tables                                                  
                                                                  
Oracle查询所有函数和储存过程:select * from user_source                                              
                                                                  
Oracle查询所有用户:select * from all_users.select * from dba_users                                  
                                                                  
Oracle查看当前用户连接:select * from v$Session                                                   
                                                                  
Oracle查看当前用户权限:select * from session_privs  
================================================================

1.查询oracle表空间的使用情况

select b.file_id  文件ID,
  b.tablespace_name  表空间,
  b.file_name     物理文件名,
  b.bytes       总字节数,
  (b.bytes-sum(nvl(a.bytes,0)))   已使用,
  sum(nvl(a.bytes,0))        剩余,
  sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
  from dba_free_space a,dba_data_files b
  where a.file_id=b.file_id
  group by b.tablespace_name,b.file_name,b.file_id,b.bytes
  order by b.tablespace_name



2.查询oracle系统用户的默认表空间和临时表空间

select username,default_tablespace,temporary_tablespace from dba_users



3.查询单张表的使用情况

select segment_name,bytes from dba_segments where segment_name = 'RE_STDEVT_FACT_DAY' and owner = USER

RE_STDEVT_FACT_DAY是您要查询的表名称



4.查询所有用户表使用大小的前三十名

select * from (select segment_name,bytes from dba_segments where owner = USER order by bytes desc ) where rownum <= 30



5.查询当前用户默认表空间的使用情况

select tablespacename,sum(totalContent),sum(usecontent),sum(sparecontent),avg(sparepercent)
from
(
SELECT b.file_id as id,b.tablespace_name as tablespacename,b.bytes as totalContent,(b.bytes-sum(nvl(a.bytes,0))) as usecontent,sum(nvl(a.bytes,0)) as sparecontent,sum(nvl(a.bytes,0))/(b.bytes)*100  as sparepercent
FROM dba_free_space a,dba_data_files b
WHERE a.file_id=b.file_id and b.tablespace_name = (select default_tablespace from dba_users where username = user) 
group by b.tablespace_name,b.file_name,b.file_id,b.bytes
)
GROUP BY tablespacename



6.查询用户表空间的表

select   *  from user_tables

=============================================================================
1.查询用户(数据)表空间

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



2.查询临时表空间

SELECT d.status "Status", d.tablespace_name "Name", d.CONTENTS "Type",
d.extent_management "Extent Management",
TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.900') "Size (M)",
TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.999')
|| '/'
|| TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99999999.999') "Used (M)",
TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %"
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'

-- 收缩临时表空间
alter tablespace tbs_mk_temp coalse;


3.查询某个用户下表 占用的空间
select t.segment_name,sum(t.bytes)/1024/1024
from user_segments t
where segment_name like 'TB%'
group by t.segment_name
order by sum(t.bytes)/1024/1024 desc


4.查询表是否是分区表 ,占用的大小
select *
from user_segments t
where segment_name like 'TB%'
and t.segment_name='TB_FI_FIG_WINNER_CUST_MON'

5.查询 被锁的进程(dba登录)

select sess.sid,sess.serial#, lo.oracle_username,lo.os_user_name,ao.object_name, sess.LOGON_TIME,lo.locked_mode
from v$locked_object lo,dba_objects ao,v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid
order by sess.LOGON_TIME;


6. 杀掉被锁的进程

alter system kill session '1997,33097';
分享到:
评论

相关推荐

    高性能动态SQL Oracle数据安全 Oracle 数据库的聚簇技术 等等

    Oracle数据库空间管理方法 91 用SQL*Loader将Excel数据导出到Oracle 94 Oracle Spatial数据加密问题的研究 95 提高Oracle数据库系统Import的性能 96 Oracle数据库的四种启动方式 97 oracle数据库优化基础 97

    学生成绩管理系统Oracle全部SQL语句.txt

    选定某一主题,运用oracle数据库,以及相关技术方法设计和开发一个信息管理的数据库系统,实现数据库的开发应用以及日常管理维护等基本功能。 具体要求如下: (1)选定某一主题,创建一个oracle数据库,对其进行...

    Oracle基本sql语句练习.sql

    创建表空间,创建表结构,对于表的增删改查等基本操作,只有基础部分,没有进阶,表结构与MySQL基本一致,只有表空间有所不同

    oracle常用经典sql查询.doc

    oracle常用经典sql查询 基本查找,查看表空间,回滚段,物理表空间,捕捉运行很久的sql等..

    oracle9i oracle11g oracle10g 性能调优 基础学习 视频地址

    1z0-033-11(B) 发布不同oracle文件的原因 诊断表空间 表空间分区原因 检查点工作 检查点优化 调整重做日志 13 1z0-033-13 关于自动段空间管理 ext 与oracle 空间使用 percent oracle块参数 行迁移问题 什么时间进行...

    Oracle 基础知识 -大全- 原创整理.pdf

    2.掌握对oracle表的各种查询技巧 3.学会创建新的oracle数据库 4.掌握oracle表对数据操作技巧 5.掌握在java程序中操作oracle 6.理解oracle事物概念 7.掌握oracle各种sql函数 8.了解oracle管理员的基本职责 9.掌握备份...

    oracle基础教程

    4.4 如何追加表空间 51 4.5 如何加大表的maxextents值 52 4.6 如何查询无效对象 52 4.7 怎样分析SQL语句是否用到索引 52 4.8 怎样判断是否存在回滚段竞争 53 4.9 怎样手工跟踪函数/存储过程执行情况 54 4.10 多种...

    导入oracle数据库时的sql语句

    一般在导入数据库时,所要创建表空间、用户名,修改密码以及基本权限的赋予的sql语句。

    sql.zip_oracle_sql

    oracle数据库中利用sql语句进行基本的操作,包括建用户、表空间,删除用户、表空间等,适合初学者使用

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    他认为对于SQL的学习是永无止境的,相信每一个查询Oracle数据库的人都需要精通SQL语言,才能写出高效的查询。他参与本书的编写就是为了帮助别人实现这一目标。 目录 封面 -11 封底 -10 扉页 -9 版权 -8 版权声明 -7...

    Oracle sql宝典

    本文档中包含了Oracle 最基本的一些sql语句的语法与示例,其中有游标、约束、用户、表空间以及存储过程等!

    oracle实用教程-韩顺平

    5.oracle 表查询(1) 6.oracle 表查询(2) 7.java 操作 oracle 8.oracle 中事务处理 9.oracle 的函数 10.数据库管理,表的逻辑备份与恢复 11.数据字典和动态性能视图 12.数据库管理 -- 管理表空间和数据文件 13.约束...

    Oracle创建用户、表空间

    Oracle创建用户、表空间的sql代码.及一些授权基本语句。

    oracle教案(doc)+SQL Reference 10g(chm).rar

    3.10 oracle表空间及维护 109 3.11 索引 114 3.11.1 索引概述: 114 3.11.2 索引如何建立? 114 3.12 用户管理 114 3.12.1 创建用户的语法: 114 3.13 数据库的备份与恢复(了解) 114 4. 数据库范式设计 114 4.1 第一...

    Oracle11g从入门到精通2

    5.5 使用SQL*Plus格式化查询结果 5.5.1 格式化列 5.5.2 定义页与报告的标题和维数 5.5.3 存储和打印结果 第6章 Oracle的基本操作 6.1 Oracle的启动与关闭 6.1.1 启动Oracle数据库 6.1.2 关闭Oracle...

    Oracle大全

    常用命令 一、基本命令(Sql*plus) 二、 Oracle 的用户管理 三、 Profile 管理用户口令 ... 8、补充(查询表空间使用情况) 七、 数据字典和动态性能视图 八、 维护数据的完整性 九、 oracle 的函数 十、 PL/SQL 块

    oracle database 10g 完整参考手册part1

    第20章 使用表空间 第21章 用SQL*Loader加载数据 第22章 使用Data Pump导入和导出 第23章 访问远程数据 第24章 使用物化视图 第25章 使用Oracle Text进行文本搜索 第26章 使用外部表 第27章 使用回闪查询 第28章 回...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     6.6.1 查询表空间的基本信息  6.6.2 查询表空间及其默认存储参数  6.6.3 查询表空间中数据文件的信息  6.6.4 查询临时表空间中临时文件的信息  6.6.5 查询表空间的空闲空间大小  6.6.6 查询数据段信息 ...

Global site tag (gtag.js) - Google Analytics