ORACLE如何收缩表空间

 时间:2026-02-12 14:08:56

1、--找出目前TEST表空间最大的block_id

SELECT MAX(block_id)FROM dba_extentsWHERE tablespace_name = 'TEST';

MAX(BLOCK_ID)

-------------       

136

2、--计算目前最大块的段所占用的空间(该数据库的block大小是8192)

show parameter db_block_size ;

NAME                         TYPE     VALUE

------------------------------------ ----------- ------------------------------

db_block_size                    integer     8192

SELECT 136*8192/1024/1024  "MAX(M)" FROM dual;    

MAX(M)

----------    

1.0625

3、--查看表空间物理文件的名称及大小

set line 200

col file_name for a50

select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) "total_space(M)"from dba_data_fileswhere tablespace_name ='TEST' ; 

TABLESPACE_NAME          FILE_ID    FILE_NAME                                                       total_space(M)

------------------------------ ---------- -------------------------------------------------- --------------

TEST                                      6             /u01/oradata/source/test01.dbf                   100

4、--resize表空间

SQL> ALTER DATABASE DATAFILE '/u01/oradata/source/test01.dbf' RESIZE 1M;

ALTER DATABASE DATAFILE '/u01/oradata/source/test01.dbf' RESIZE 1M*ERROR at line 1:

ORA-03214: File Size specified is smaller than minimum required

SQL> ALTER DATABASE DATAFILE '/u01/oradata/source/zfl01.dbf' RESIZE 2M;

Database altered.

  • MobaXterm 如何使用crt目录
  • plsql怎么导出sql文件
  • 使用Toad添加用户
  • 使用PLSQL连接oracle数据库
  • 解压文件时报错gzip: stdin:not in gzip format
  • 热门搜索
    5.1劳动节手抄报 手抄报的版面设计图 手抄报装饰小图案 教师节手抄报内容文字 关爱残疾人手抄报 关于病毒的手抄报简单又漂亮 我爱文学手抄报内容 拒绝邪教手抄报 迎国庆手抄报 英语手抄报花边