平时在使用Oracle的时候,如果业务中的数据量激增、数据量变大,很有可能就会有表空间不足的情况,需要重点关注。今天我们分享下如何查看表空间的使用情况。

一、如何查看使用状况

我们废话不说,先直接贴上可以查询表空间使用状况的SQL

SELECT 
a.tablespace_name 表空间名称,
total 总计,
total - free 已使用,
free 空闲,
round((total - free) / total * 100, 2) 使用占比
FROM (
SELECT tablespace_name
, round(SUM(bytes) / 1024 / 1024) AS total
FROM dba_data_files
GROUP BY tablespace_name
) a
LEFT JOIN (
SELECT tablespace_name
, round(SUM(bytes) / 1024 / 1024) AS free
FROM dba_free_space
GROUP BY tablespace_name
) b
ON a.tablespace_name = b.tablespace_name
ORDER BY (total - free) / total DESC;

查询结果如下,这样就可以清晰的看到数据库的具体使用情况啦。

二、实用查询

1、查看表空间的名称及大小

SELECT t.tablespace_name
, round(SUM(bytes / (1024 * 1024)), 0) AS ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;

2、查看表空间物理文件的名称及大小

SELECT tablespace_name, 
file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;

3、查看数据库库对象

SELECT owner, object_type, status, COUNT(*) AS count
FROM all_objects
GROUP BY owner, object_type, status;

4、查看数据库的版本

SELECT version
FROM product_component_version
WHERE substr(product, 1, 6) = 'Oracle';

5、查看数据库的创建日期和归档方式

SELECT created, log_mode, log_mode
FROM v $database;

6、查看回滚段名称及大小

SELECT segment_name, tablespace_name, r.status, initial_extent / 1024 AS initialextent
, next_extent / 1024 AS nextextent, max_extents, v.curext AS curextent
FROM dba_rollback_segs r, v $rollstat AS v
WHERE r.segment_id = v.usn(+)
ORDER BY segment_name;

7、查看控制文件

SELECT NAME
FROM v $controlfile;

8、查看日志文件

SELECT MEMBER
FROM v $logfile;

数据库 | Oracle数据库查表空间使用情况的更多相关文章

  1. [转帖]Oracle 查询各表空间使用情况--完善篇

    Oracle 查询各表空间使用情况--完善篇 链接:http://blog.itpub.net/28602568/viewspace-1770577/ 标题: Oracle 查询各表空间使用情况--完 ...

  2. [z]查表空间使用情况

    SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE ...

  3. Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称)

    显示Oracle sga相关信息: SQL> show sga Total System Global Area 105978600 bytes Fixed Size 453352 bytes ...

  4. Oracle - 数据库的实例、表空间、用户、表之间关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

  5. 【转】Oracle - 数据库的实例、表空间、用户、表之间关系

    [转]Oracle - 数据库的实例.表空间.用户.表之间关系 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机 ...

  6. oracle数据库报错ora-01653表空间扩展失败解决方案

    1)ora-01653错误截图: 可以看到有两张表的insert受到了影响,都是在USERS表空间里.用以下SQL查看表空间使用情况: "表空间大小(M)",(a.bytes &q ...

  7. Oracle学习笔记—数据库,实例,表空间,用户、表之间的关系

    之前一直使用的关系型数据库是Mysql,而新公司使用Oracle,所以最近从网上搜集了一些资料,整理到这里,如果有不对的地方,欢迎大家讨论. 基本概念: 数据库:Oracle 数据库是数据的物理存储. ...

  8. Oracle数据库体系结构(7) 表空间管理1

    表空间是Oracle数据库最大的逻辑存储结构,有一系列段构成.Oracle数据库对象存储结构的管理主要是通过表空间的管理实现的. 1.表空间的分类 表空间根据存储类型不同分为系统表空间和非系统表空间 ...

  9. Oracle 数据库、实例、表空间、用户、数据库对象

    Oracle是一种数据库管理系统,是一种关系型的数据库管理系统.通常情况了我们称的“数据库”,包含了物理数据.数据库管理系统.内存.操作系统进程的组合体,就是指这里所说的数据库管理系统. 完整的Ora ...

随机推荐

  1. js 中, set 与 数组 相互转换

    主要用 Array.from 方法 1.array --> set (数组转set) let array = [1, 2, 3, 4]; let set = new Set(array); 2. ...

  2. DbHelper简单的使用

    using System; using System.Windows.Forms; using System.Data.SqlClient; namespace WindowsFormsApp3 { ...

  3. kafka无法消费数据提示找不到分区

    1 原因 自己重建了kafka  但是只有一个分区  以前的offset没有重置,导致了消费的时候 找不到主题分区  手动删除之前的offset数据(mysql自定义配置)  

  4. webstorm 注册服务器

    之前都是使用2017.2.27的方法,版本是2017.1.1,还没提示过期,但是根据评论说这个链接已经失效了,评论也给出了个新地址:http://idea.iteblog.com/key.php

  5. java--mybatis的实现原理

    动态代理? 需要调试下,看下源码,再研究下……

  6. 从Excel中读取数据并批量写入MySQL数据库(基于MySQLdb)

    一.Excel内容如下,现在需要将Excel中的数据全部写入的MySQL数据库中: 二.连接MySQL的第三方库使用的是“MySQLdb”,代码如下: # -*- coding:utf-8 -*-im ...

  7. Idea中Module is not specified解决办法

    打开idea,想跑一个类,但是,给我报了一个红叉: 当我点击run的时候,弹出来一个框: “Error:Module not specified”  Module 未指定 “这个原因是项目文件夹有修改 ...

  8. [MySQL优化] -- 如何查找SQL效率地下的原因

    [MySQL优化] -- 如何查找SQL效率地下的原因   来源: ChinaUnix博客 日期: 2009.07.20 16:12 (共有条评论) 我要评论       查询到效率低的 SQL 语句 ...

  9. springboot2.0入门(一)----springboot 简介

    一.springboot解决了什么? 避免了繁杂的xml配置,框架自动帮我们完成了相关的配置,当我们需要进行相关插件集成的时候,只需要将相关的starter通过相关的maven依赖引进,并可以进行相关 ...

  10. [Javascript] Correctly Type-Checking Numbers

    There are two ways to correctly type checks number: console.log(typeof 99.66); // number console.log ...