--查看表的数量
Select * From user_segments where segment_type='TABLE' and tablespace_name='OA';
SELECT segment_type,segment_name AS TABLENAME,t.tablespace_name,t.partition_name,t.max_extents/1024/1024 "max_extents(M)",
BYTES B,
BYTES / 1024 KB,
BYTES / 1024 / 1024 MB,
BYTES / 1024 / 1024/1024 G
FROM user_segments t
where segment_type='TABLE' and tablespace_name='OA';
--查看每个表空间的大小
Select t.bytes/1024/1024/1024 bytes,t.* From Dba_Segments t where Tablespace_Name='CTBS_STAT' order by t.bytes desc ;
--单位 MB
select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc ;
--单位 GB
select a.tablespace_name,a.bytes/1024/1024/1024 "Sum GB",(a.bytes-b.bytes)/1024/1024/1024 "used GB",b.bytes/1024/1024/1024 "free GB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc ;
http://suan2046.iteye.com/blog/379539
Oracle10g10.2.0.1.0
标题:查看Oracle数据库表空间大小,是否需要增加表空间的数据文件
在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见。
--1查看表空间已经使用的百分比
- select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
- from
- (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
- (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
- where a.tablespace_name=b.tablespace_name
- order by ((a.bytes-b.bytes)/a.bytes) desc
select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name order by ((a.bytes-b.bytes)/a.bytes) desc
“Sum MB”表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小
比如:test表空间有2个数据文件,datafile1为300MB,datafile2为400MB,那么test表空间的“Sum MB”就是700MB
“userd MB”表示表空间已经使用了多少
“free MB”表示表空间剩余多少
“percent_user”表示已经使用的百分比
--2比如从1中查看到MLOG_NORM_SPACE表空间已使用百分比达到90%以上,可以查看该表空间总共有几个数
据文件,每个数据文件是否自动扩展,可以自动扩展的最大值。
- select file_name,tablespace_name,bytes/1024/1024 "bytes MB",maxbytes/1024/1024 "maxbytes MB" from dba_data_files
- where tablespace_name='MLOG_NORM_SPACE';
select file_name,tablespace_name,bytes/1024/1024 "bytes MB",maxbytes/1024/1024 "maxbytes MB" from dba_data_files where tablespace_name='MLOG_NORM_SPACE';
--2.1 查看 xxx 表空间是否为自动扩展
- select file_id,file_name,tablespace_name,autoextensible,increment_by from dba_data_files order by file_id desc;
select file_id,file_name,tablespace_name,autoextensible,increment_by from dba_data_files order by file_id desc;
--3比如MLOG_NORM_SPACE表空间目前的大小为19GB,但最大每个数据文件只能为20GB,数据文件快要写满,可以增加表空间的数据文件
用操作系统UNIX、Linux中的df -g命令(查看下可以使用的磁盘空间大小)
获取创建表空间的语句:
- select dbms_metadata.get_ddl('TABLESPACE','MLOG_NORM_SPACE') from dual;
select dbms_metadata.get_ddl('TABLESPACE','MLOG_NORM_SPACE') from dual;
--4确认磁盘空间足够,增加一个数据文件
- alter tablespace MLOG_NORM_SPACE
- add datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'
- size 10M autoextend on maxsize 20G
alter tablespace MLOG_NORM_SPACE add datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf' size 10M autoextend on maxsize 20G
--5验证已经增加的数据文件
- select file_name,file_id,tablespace_name from dba_data_files
- where tablespace_name='MLOG_NORM_SPACE'
select file_name,file_id,tablespace_name from dba_data_files where tablespace_name='MLOG_NORM_SPACE'
--6如果删除表空间数据文件,如下:
- alter tablespace MLOG_NORM_SPACE
- drop datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'
相关推荐
Oracle数据库中的表空间是数据文件的逻辑容器,用于存储数据、索引等数据库对象。为了确保数据库的高效运行,对表空间进行监控至关重要。本文将详细介绍几个实用的SQL脚本,帮助您更好地监控Oracle数据库中的表空间...
例如DBA_FREE_SPACE视图用于查看表空间的空闲空间,ALTER TABLESPACE命令用于增加或减少表空间的大小,以及ALTER TABLE命令来重定义或移动段的位置以优化空间使用。此外,可以使用DBMS_SPACE包中的过程来分析和管理...
在Oracle数据库管理中,了解和监控表空间及数据文件的状态对于数据库管理员至关重要。表空间是数据库逻辑结构的一部分,它将数据库对象与物理存储关联起来。本文将详细介绍如何查询Oracle数据库中的表空间和数据文件...
通过定期执行这样的查询,数据库管理员可以及时调整表空间大小,增加或删除数据文件,或者优化存储策略,以确保数据库高效稳定地运行。 总结来说,查询Oracle表空间使用情况是数据库管理的关键环节,涉及到表空间的...
要了解表空间的使用情况,包括已使用空间、空闲空间以及使用率,可以执行以下查询: ```sql SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_...
扩展表空间数据文件: ```sql ALTER TABLESPACE SYSTEM ADD DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\HICON\SYSTEM03.DBF' SIZE 100M AUTOEXTEND ON; ``` 该SQL语句用于向指定的表空间(本例中为“SYSTEM”)添加...
- **表空间(Tablespace)**:表空间是Oracle数据库中的最高级逻辑存储单元,每个表空间由一个或多个数据文件组成,用于存储数据库中的对象。 - **数据文件(Datafile)**:每个表空间至少包含一个数据文件,这些...
数据库空间被逻辑地划分为多个表空间,每个表空间由一个或多个物理数据文件组成。数据存储的基本单位是块,其大小在创建数据库时由DB_BLOCK_SIZE参数设定。连续的块组成区片(EXTENT),作为数据对象存储的基本单位...
#### 三、表空间数据文件的查询 除了查看表空间的整体使用情况外,有时还需要了解表空间中具体的数据文件信息。可以使用以下查询语句: ```sql SELECT tablespace_name, file_id, file_name, ROUND(bytes / (1024 ...
1. **Oracle 表空间(Tablespaces)**:表空间是Oracle数据库中存储数据的基本单位,它由一个或多个数据文件组成。每个表、索引和其他对象都会被分配到特定的表空间中。理解表空间的工作原理对于管理数据库空间至关...
- **查询方法**:使用多表连接来获取每个数据文件的详细信息,包括已使用空间、空闲空间等。 - **示例查询**:查询每个数据文件的ID、所在表空间、文件大小、已使用空间和空闲空间等信息。 - **Oracle所有回滚段...
- **表空间**(Tablespace):Oracle数据库中的逻辑存储单元,由一个或多个数据文件组成。 - **数据文件**(Data File):表空间的具体物理实现,每个表空间至少包含一个数据文件。 - **段**(Segment):表空间中...
通过以下查询可以查看数据文件是否开启自动扩展: ```sql SELECT file_name, tablespace_name, bytes / 1024 / 1024 "bytes MB", maxbytes / 1024 / 1024 "maxbytes MB" FROM dba_data_files WHERE tablespace_name...
表空间是Oracle数据库逻辑结构的一部分,由一个或多个数据文件构成,用来存储数据库对象,如表和索引。随着数据库操作的进行,表空间的大小会随着数据的增删而变化。然而,删除数据并不会立即减少表空间的占用,这...
- `ADD DATAFILE`增加表空间的新数据文件,可以指定初始大小、自动扩展设置和最大大小。 - 删除数据文件可通过`ALTER DATABASE DATAFILE`命令,但要注意这也会导致数据丢失,需谨慎操作。 这些是Oracle数据库管理...
- 查询当前数据文件是否开启了自动扩展功能: ```sql SELECT FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE FROM dba_data_files; ``` - 开启数据文件的自动扩展功能: ```sql ALTER DATABASE DATAFILE 'c:\...
Oracle数据库的空间主要由表空间(Tablespaces)组成,表空间是数据库中用于存储数据文件的逻辑单位,它可以包含一个或多个数据文件。表空间内的数据被组织成段(Segments),段是由一个或多个范围(Extents)组成的...
通过求和每个表空间中的空闲空间并转换为MB,我们可以得出每个表空间已被使用的空间大小。 #### 四、计算表空间的使用情况 要获得每个表空间的使用详情(包括总大小、空闲大小及已使用大小),可以使用如下SQL语句...
在Oracle数据库管理中,了解表空间的大小及使用情况至关重要,因为这有助于监控数据库的存储利用率,及时规划和调整存储分配。以下是一些用于检查Oracle表空间状态的关键SQL语句,以及它们的功能详解: 1. **查看表...
### 使用orabbix-1.2.3监控Oracle数据库与表空间 #### 一、概述 在IT运维领域,对数据库的健康状态进行实时监控是非常重要的。Oracle作为一款广泛使用的数据库管理系统,其性能和稳定性对于企业的业务运行至关重要...