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

 更新时间:2022年12月19日 15:06:56   作者:x²+(y-√³x²)²=1  
Oracle表空间大小的查看方法应该是我们都需要掌握的知识,下面这篇文章主要给大家介绍了关于Oracle查询表空间大小及每个表所占空间的大小语句的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

查询 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查询表空间大小内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • oracle保留两位小数解决方案

    oracle保留两位小数解决方案

    公司需要处理一些报表,需要使用百分率,保留2位小数,只用round和trunc函数都可以实现(round(_data,2) ),只是格式不是很工整,对格式要求不严谨的情况下使用round即可
    2012-11-11
  • Oracle 12.2处理sysaux空间占满问题

    Oracle 12.2处理sysaux空间占满问题

    今天处理别的问题查看告警日志偶然发现大量的报错,无法扩展SYSAUX表空间,于是登录系统,查看系统表空间使用情况,发现SYSAUX表空间用满了,所以本文给大家介绍了Oracle 12.2处理sysaux空间占满问题,需要的朋友可以参考下
    2024-02-02
  • Oracle WebLogic Server 12.2.1.2安装部署教程

    Oracle WebLogic Server 12.2.1.2安装部署教程

    这篇文章主要介绍了Oracle WebLogic Server 12.2.1.2安装部署教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • oracle 更改数据库名的方法

    oracle 更改数据库名的方法

    这两天一朋友问如何更改数据库名,于是做个测试,简单记录下,以便说明问题。
    2009-10-10
  • Oracle system/用户被锁定的解决方法

    Oracle system/用户被锁定的解决方法

    很多人对oracle数据库会将用户锁定感觉莫名其妙,所以下面这篇文章主要介绍了Oracle system/用户被锁定的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Oracle 中Contains 函数的用法

    Oracle 中Contains 函数的用法

    这篇文章主要介绍了Oracle 中Contains 函数的用法,查询地址在某个城市的学生,sql语句给大家介绍的非常详细,需要的朋友可以参考下
    2017-11-11
  • 使用Navicat Premium连接Oracle的方法步骤

    使用Navicat Premium连接Oracle的方法步骤

    这篇文章主要介绍了使用Navicat Premium连接Oracle的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • oracle11g 通过修改配置文件方式连接远程数据库的方法

    oracle11g 通过修改配置文件方式连接远程数据库的方法

    这篇文章主要介绍了oracle11g 通过修改配置文件方式连接远程数据库的方法,需要的朋友可以参考下
    2017-04-04
  • Oracle中SQL*plus常用命令详解

    Oracle中SQL*plus常用命令详解

    在 Oracle 11g 数据库系统中,用户对数据库的操作主要是通过 SQL*Plus 来完成的,下面将介绍如何启动 SQL*Plus 和如何使用 SQL*Plus 连接到数据库,感兴趣的朋友跟随小编一起看看吧
    2024-01-01
  • Oracle启动报错ora-00119和ora-00132的解决方法

    Oracle启动报错ora-00119和ora-00132的解决方法

    本文给大家分享WINDOWS环境下,查看Oracle的各项服务都正常,但是SQL窗口启动ORACLE报错ora-00119和ora-00132的解决方法,感兴趣的朋友跟随小编一起看看吧
    2023-09-09

最新评论