Oracle查询表空间大小及每个表所占空间的大小语句示例

 更新时间:2022年12月20日 08:39  点击:67 作者:x²+(y-√³x²)²=1

查询 Oracle 数据库表空间的大小以及每个表所占空间的大小,在网上搜索了一些查询语句,在此记录一下:

1、查询数据库中所有的表空间以及表空间所占空间的大小,直接执行语句就可以了

SELECT
	tablespace_name,
	sum( bytes ) / 1024 / 1024 
FROM
	dba_data_files 
GROUP BY
	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
	a.tablespace_name,
	total,
	free,
	total - free AS used,
	substr( free / total * 100, 1, 5 ) AS "FREE%",
	substr( ( total - free ) / total * 100, 1, 5 ) AS "USED%" 
FROM
	(SELECT tablespace_name, sum( bytes ) / 1024 / 1024 AS total FROM dba_data_files GROUP BY tablespace_name) a,
	(SELECT tablespace_name, sum( bytes ) / 1024 / 1024 AS free FROM dba_free_space GROUP BY tablespace_name) b 
WHERE
	a.tablespace_name = b.tablespace_name 
ORDER BY
	a.tablespace_name;

4、查询某个具体的表所占空间的大小,把 TABLE_NAME 换成具体要查询的表的名称就可以了

SELECT
	t.segment_name,
	t.segment_type,
	sum( t.bytes / 1024 / 1024 ) "占用空间(M)" 
FROM
	dba_segments t 
WHERE
	t.segment_type = 'TABLE' 
	AND t.segment_name = 'TABLE_NAME' 
GROUP BY
	OWNER,
	t.segment_name,
	t.segment_type;

一些 Oracle 基础语句

在逻辑结构中, Oracle 从大到下,分别是如下的结构:数据库实例 -> 表空间 -> 数据段(表) -> 区 -> 块。

也就是说当我们要使用 Oracle 作为项目的数据库时,我们需要先创建数据库实例,之后创建表空间,再创建相对应的表(也就是逻辑结构中的数据段)。

5、创建数据库实例

创建数据库实例一般使用 配置移植工具 -> Database Configuration Assistant 来创建。

6、创建表空间

创建名为 animal 的表空间,数据文件为 animal.dbf

create user csy identified by csy default tablespace ANIMAL;

查询当前用户拥有的所的有表空间:

select tablespace_name from user_tablespaces;

7、创建用户并指定默认表空间,并为其授予权限

创建用户:

注意:这里的 ANIMAL(表空间) 必须大写(因为 Oracle 自动将表空间名字全部转为大写)

create user csy identified by csy default tablespace ANIMAL;

最后,赋予用户 DBA 权限:

grant connect, resource, dba to csy;

8、创建表(数据段)

下面的语句在 animal 表控件下创建一个名为 dog 的表:

create table dog
(
    name varchar(12),
    age varchar(12)
)
tablespace animal;

使用下面的语句查看是否添加成功。查看 ANIMAL 表空间下的所有表:

SELECT
	tablespace_name, table_name 
FROM
	user_tables 
WHERE
	tablespace_name = 'ANIMAL';

注意:上面的 ANIMAL 一定要大写。即使你在创建表空间的时候输入的表空间名是小写的,也还是要大写。

因为 Oracle 在存储表空间的时候自动将名字转化成大写了。

9、删除表空间

drop tablespace ANIMAL including contents and datafiles;

10、删除用户

drop user user_name cascade;

总结

到此这篇关于Oracle查询表空间大小及每个表所占空间的大小的文章就介绍到这了,更多相关Oracle查询表空间大小内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

原文出处:https://blog.csdn.net/qq_45083975/article/details/128292583

相关文章

  • Mybatis Plus select 实现只查询部分字段

    这篇文章主要介绍了Mybatis Plus select 实现只查询部分字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-01
  • MySQL中在查询结果集中得到记录行号的方法

    如果需要在查询语句返回的列中包含一列表示该条记录在整个结果集中的行号, ISO SQL:2003 标准提出的方法是提供 ROW_NUMBER() / RANK() 函数。 Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的 ROWNUM ; MS SQL...2015-03-15
  • PHP+Mysql+jQuery查询和列表框选择操作实例讲解

    本文讲解如何通过ajax查询mysql数据,并将返回的数据显示在待选列表中,再通过选择最终将选项加入到已选区,可以用在许多后台管理系统中。本文列表框的操作依赖jquery插件。HTML <form id="sel_form" action="post.php" me...2015-10-23
  • mysql like查询字符串示例语句

    MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式模式匹配的格式 一、SQL模式SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL...2013-10-04
  • 解决mybatis-plus 查询耗时慢的问题

    这篇文章主要介绍了解决mybatis-plus 查询耗时慢的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-04
  • Java连接数据库oracle中文乱码解决方案

    这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-16
  • Mybatis-Plus根据时间段去查询数据的实现示例

    这篇文章主要介绍了Mybatis-Plus根据时间段去查询数据的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-18
  • postgresql的jsonb数据查询和修改的方法

    这篇文章主要介绍了postgresql的jsonb数据查询和修改的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-03
  • MySql like模糊查询通配符使用详细介绍

    一、SQL模式SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOT...2013-10-04
  • Oracle使用like查询时对下划线的处理方法

    这篇文章主要介绍了Oracle使用like查询时对下划线的处理方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-16
  • yii数据库的查询方法

    这篇文章主要介绍了yii数据库的查询方法,结合实例简单分析了直接查询和使用criteria进行查询的技巧,需要的朋友可以参考下...2015-12-31
  • MySQL的子查询及相关优化学习教程

    一、子查询 1、where型子查询 (把内层查询结果当作外层查询的比较条件) #不用order by 来查询最新的商品select goods_id,goods_name from goods where goods_id = (select max(goods_id) from goods);#取出每个栏目下...2015-11-24
  • MySQL左联多表查询where条件写法示例

    复制代码 代码如下: select * from _test a left join _test b on a.id=b.id where a.level='20' and a.month='04' and b.level='20' and b.month='03';select a.*,b.* from (select * from _test where level='20'...2015-03-15
  • oracle实现动态查询前一天早八点到当天早八点的数据功能示例

    这篇文章主要介绍了oracle实现动态查询前一天早八点到当天早八点的数据功能,涉及Oracle针对日期时间的运算与查询相关操作技巧,需要的朋友可以参考下...2020-07-11
  • 教你使用Python连接oracle

    今天教各位小伙伴怎么用Python连接oracle,文中附带非常详细的图文示例,对正在学习的小伙伴们很有帮助哟,需要的朋友可以参考下...2021-05-18
  • python从Oracle读取数据生成图表

    这篇文章主要介绍了python如何从Oracle读取数据生成图表,帮助大家更好的利用python处理数据,感兴趣的朋友可以了解下...2020-10-14
  • python3 sqlite3限制条件查询的操作

    这篇文章主要介绍了python3 sqlite3限制条件查询的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-07
  • Mybatis和Mybatis-Plus时间范围查询方式

    这篇文章主要介绍了Mybatis和Mybatis-Plus时间范围查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-08-06
  • linux服务器开机启动oracle的设置方法

    这篇文章主要介绍了linux服务器下oracle开机自启动设置,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • C#连接Oracle数据库字符串(引入DLL)的方式

    这篇文章主要给大家介绍了关于C#连接Oracle数据库字符串(引入DLL)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-25