今天在跑过程是发现老师提示表空间不足,但是查找了好一会才知道原因
下面说一下:
1、表空间分配
这个查询是查到的总共该用户下表空间的试用情况(注意并非这一个用户拥有这个表空间)
SELECT tbs 表空间名,
sum(totalG) 总共大小G,
sum(usedG) 已使用空间G,
sum(remainedG) 剩余空间G,
sum(usedG) / sum(totalG) * 100已使用百分比,
sum(remainedG) / sum(totalG) * 100剩余百分比
FROM (SELECT b.file_id ID,
b.tablespace_nametbs,
b.file_name name,
b.bytes / 1024 / 1024/1024 totalG,
(b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024/1024 usedG,
sum(nvl(a.bytes, 0) / 1024 / 1024/1024) remainedG,
sum(nvl(a.bytes, 0) / (b.bytes) * 100),
(100 - (sum(nvl(a.bytes, 0)) / (b.bytes) * 100))
FROM user_free_space a, dba_data_files b
WHERE a.file_id = b.file_id
GROUPBY b.tablespace_name, b.file_name,b.file_id, b.bytes
ORDERBY b.tablespace_name)
GROUPBY tbs;
2、该用户下可用表空间
这个查询才是该用户下表空间的使用情况,建表插入数据,都是在这个表空间里
selecta.tablespace_name 表空间名,
a.max_bytes / 1024 / 1024 / 1024最大空间,
(a.max_bytes - bytes) / 1024 / 1024 / 1024剩余空间
from user_ts_quotas a;
注意:如果发现 max_bytes 为0 对该用户下该表空间没有限制就参考上边的该表空间允许的最大限制
3、表空间在其他用户下的情况
这个查询的事除了2中的用户,还有哪些用户试用这些表空间和使用情况如下:
select ts.name 表空间, u.name 用户, spc.blocks * ts.blocksize/1024/1024/1024已使用大小,
decode(spc.maxblocks, -1, -1, spc.maxblocks *ts.blocksize)/1024/1024/1024最大允许大小
from sys.ts$ts, sys.tbs_space_usage spc, sys.user$ u
wherespc.tsn = ts.ts#
and spc.user# = u.user#
and ts.name in ('TBS_NG_USER_01','TBS_USER_01')
and u.name<>'GUOXZ';
通过以上3个查询 可以明确表空间的试用情况和本用户下的允许的表空间的试用情况。
相关推荐
本文将详细介绍如何编写并运行一个SQL查询来获取Oracle表空间的DDL(数据定义语言)脚本。 #### Oracle表空间概念 在Oracle数据库中,表空间是存储空间的逻辑划分。每个表空间由一个或多个数据文件组成,并且可以...
在进行表空间收缩之前,我们需要了解一些Oracle表空间的基础知识: - **表空间**(Tablespace):Oracle数据库中的逻辑存储单元,由一个或多个数据文件组成。 - **数据文件**(Data File):表空间的具体物理实现,...
Oracle中存在一些不可或缺的表空间: - **SYSTEM**:这是字典表空间,非常重要且不能被损坏。 - **UNDO**:用于存储DML和DQL操作的数据快照,在数据提交后会自动消失,主要用于恢复操作。 - **SYSAUX**:为了减轻`...
"Oracle 表空间创建" Oracle 表空间创建是 Oracle 数据库中的一种基本操作,它允许用户创建一个或多个表空间,以存储数据库中的数据。表空间是 Oracle 数据库的基本存储单元,每个表空间都可以包含多个数据文件和...
本文将对 Oracle 表空间命令语句进行详细的介绍和讲解。 一、建立表空间 建立表空间是 Oracle 数据库管理的基本操作。使用 CREATE TABLESPACE 命令可以创建一个新的表空间。例如,以下命令创建了一个名为 data01 ...
以下将详细介绍如何在Oracle中创建表空间、临时表空间以及赋予用户对表空间的权限。 首先,我们来了解如何创建一个常规表空间: 1. **创建表空间**: 使用`CREATE TABLESPACE`语句来创建一个新的表空间。例如,...
### Oracle 多个表空间合并成一个表空间详解 #### 背景介绍 在进行数据库维护时,可能会遇到需要将多个表空间合并为一个的情况。这种情况通常发生在新项目的开发过程中,尤其是当新项目需要引用来自其他表空间的...
Oracle 表空间详解 Oracle 表空间是 Oracle 数据库中一个非常重要的概念,它是数据库中存储空间的逻辑概念。由于 Oracle 数据库可以存储大量的数据,但是数据文件大小受操作系统的限制,而过大的数据文件对数据的...
利用DBMS_SPACE包对Oracle 表碎片进行监控与清理,
本文将详细介绍解决 Oracle 临时表空间满的问题的步骤。 第一步:查看当前数据库的默认临时表空间 在解决临时表空间满的问题前,需要先查看当前数据库的默认临时表空间。可以使用以下 SQL 语句来实现: ```sql ...
本文将详细介绍如何正确地删除Oracle表空间数据文件,探讨OFFLINE和OFFLINE DROP的区别,以及在操作系统层面删除数据文件后的恢复策略。 首先,我们来看如何使用`DROP DATAFILE`命令删除数据文件。这个命令允许管理...
### Oracle表空间查询与管理命令详解 #### 一、Oracle表空间概述 在Oracle数据库中,表空间是逻辑存储单元,用于组织数据文件。每个Oracle数据库至少包含一个表空间,默认情况下,系统会在创建数据库时自动创建`...
在Oracle数据库管理中,定期清理和优化表空间是至关重要的任务,这有助于保持数据库的高效运行和合理利用存储资源。本文将深入探讨如何在Oracle环境中实现定时删除表空间的数据并释放空间,主要涵盖以下几个关键知识...
在Oracle数据库管理系统中,创建表空间是管理数据库存储空间的关键操作。表空间是数据库中用于存储数据对象(如表、索引、视图等)的逻辑结构。它将物理磁盘上的一个或多个数据文件组织成一个逻辑单元,使得数据库...
### Oracle表空间详解 #### 一、Oracle表空间概述 Oracle数据库因其卓越的性能和可靠性,在企业级应用中被广泛采用。其中,表空间的概念是Oracle数据库架构中的一个重要组成部分,它不仅有助于提升数据库的管理...
Oracle表空间是数据库的核心组成部分,用于存储数据库对象,如表、索引、视图等。表空间可以是本地管理的,也可以是字典管理的。本地管理的表空间使用位图来跟踪表空间的扩展和空闲空间,并且通常比字典管理的表空间...
本文将详细介绍如何在Linux操作系统下通过命令行方式增加Oracle数据库的表空间以及创建新用户,并授予必要的权限。 #### 二、准备工作 在开始之前,请确保已经完成了以下步骤: 1. **环境准备**:确保Linux系统上...
本文将详细介绍关于Oracle表空间变动时需要注意的关键点,特别是当进行表空间更改后可能出现的索引问题及相应的解决方案。 ### 一、Oracle表空间的基本概念 在深入探讨表空间变动前,首先需要了解Oracle表空间的...
Oracle数据库系统是企业级数据管理的重要工具,其中表空间(Tablespace)是数据库存储结构的基础单元。本篇文章将深入探讨Oracle表空间的概念、作用、创建方法以及常用的SQL语句,帮助你更好地理解和管理数据库资源...
Oracle 表空间 Oracle 表空间是 Oracle 数据库中用于存储表、索引、约束、触发器等对象的逻辑存储单元。它是 Oracle 数据库的基础组件之一,用于管理和存储数据库中的数据。 1. 创建表空间 创建表空间是指在 ...