Oracle查询表空间大小及每个表所占空间的大小语句示例 您所在的位置:网站首页 查询所有表空间大小及使用率 Oracle查询表空间大小及每个表所占空间的大小语句示例

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

2023-04-08 15:33| 来源: 网络整理| 查看: 265

目录 1、查询数据库中所有的表空间以及表空间所占空间的大小,直接执行语句就可以了 2、查看表空间物理文件的名称及大小 3、查询所有表空间以及每个表空间的大小,已用空间,剩余空间,使用率和空闲率,直接执行语句就可以了 4、查询某个具体的表所占空间的大小,把 TABLE_NAME 换成具体要查询的表的名称就可以了 5、创建数据库实例 6、创建表空间 7、创建用户并指定默认表空间,并为其授予权限 8、创建表(数据段) 9、删除表空间 10、删除用户 总结

查询 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;

总结 原文地址:https://blog.csdn.net/qq_45083975/article/details/128292583


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有