Oracle 数据库表空间碎片查询和整理

dba_free_space 显示的是有free 空间的tablespace ,如果一个tablespace 的free 空间不连续,那每段free空间都会在dba_free_space中存在一条记录。如果一个tablespace 有好几条记录,说明表空间存在碎片,当采用字典管理的表空间碎片超过500就需要对表空间进行碎片整理。

select a.tablespace_name ,count(1) 碎片量 from

dba_free_space a, dba_tablespaces b

where a.tablespace_name =b.tablespace_name

and b.extent_management = ‘DICTIONARY‘

group by a.tablespace_name

having count(1) >20

order by 2;

表空间碎片整理语法:

alter tablespace users coalesce;

时间: 2024-10-01 05:12:57

Oracle 数据库表空间碎片查询和整理的相关文章

Oracle数据库表空间使用率查询SQL

SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "已建表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB 100,2),'990.99') "使用比", F.TOTAL

基于Cordys C3版平台应用系统维护经验一则——Oracle数据库表空间满了

某日中午,有用户陆续反映系统问题,说流程送出异常.待办不消失.待办打不开等等.维护工程师开始分析问题,后台较为清晰的现象是流转日志记录插入数据失败,人工测试表插入成功,其它现象五花八门,没有规律,经过多位维护工程师的努力,终于由Oracle数据库管理工程师在16:01排除故障,系统基本恢复"正常". 故障原因是"应用系统Oracle数据库中Cordys用户所对应的表空间"满了,导致应用无法正常向数据库写入数据,造成业务数据不完整. 第二日,维护人员根据用户反馈,逐个

如何查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

要查看Oracle数据库表空间大小,是否需要增加表空间的数据文件,在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见. --1.查看表空间已经使用的百分比 Sql代码 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.by

oracle数据库表空间扩容方法

1. 先查询表空间在物理磁盘上存放的位置,注意使用sysdba的账号登陆. SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name; 2. 需要扩容的表空间是DW_STG_TBS,目前的文件分配序号是DW_STG_TBS20.dbf, 所以在接下来的要增加的文件的名称从21开始,我们一次行

创建oracle数据库表空间并分配用户

我们在本地的oracle上或者virtualbox的oracle上 创建新的数据库表空间操作:通过system账号来创建并授权/*--创建表空间create tablespace YUJKDATAdatafile 'c:\yujkdata200.dbf' --指定表空间对应的datafile文件的具体的路径size 100mautoextend onnext 10m*/ /*--创建用户create user yujkdev identified by yujkdevdefault tables

ORACLE数据库表空间查询

前提:必须有DBA权限,有权限查询表空间使用情况 --查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) /D.TOT_GROOTTE_MB * 100,2

oracle数据库-表空间基础语法及举例

数据库的存储结构 数据库主要用于存储和检索相关的信息,Oracle数据库包含逻辑结构和物理结构. 物理结构是指现实存储单元,由一组文件组成如数据文件.日志文件.控制文件. 数据文件:用于存储数据的文件.如表,索引和数据等都存储在数据文件中. 日志文件:用于记录对数据库的修改信息. 控制文件:用于存储 Oracle实例信息.数据文件信息和日志文件信息的二进制文件.由于存储了数据文件和日志文件的信息,所以 Oracle启动时必须访问呢控制文件. 逻辑结构式是指数据概念性的组织.包括  表空间.表.行

Oracle数据库表空间 数据文件 用户 以及表创建的SQL代码

--create the tablespace CREATE SMALLFILE TABLESPACE "TABLE_CONTAINER" --创建表空间 DATAFILE 'E:\ORACLE\ORADATA\ORCL\table_01.DBF' --建立数据文件,数据文件的文件位置 SIZE 100M --数据文件的初始大小 AUTOEXTEND ON NEXT 100M --数据文件增量大小 MAXSIZE UNLIMITED --数据文件大小无限制 LOGGING EXTENT

oracle数据库表空间创建&导入&导出

1.表空间创建 --删除表空间 drop tablespace EVPBDMGIS including contents and datafiles; --删除用户 drop user EVPBDMGIS cascade; --创建表空间 create tablespace EVPBDMGIS datafile 'D:\app\Administrator\oradata\orcl\EVPBDMGIS.DBF' size 500m reuse autoextend on next 16m maxs