Oracle 导出dmp或导入dmp时,疯狂增加表空间数据文件解决方法

当Oracle数据库导入dmp文件时,由于dba_segments中的段过大,会增加表空间数据文件大小。解决方案包括查询和处理大段数据表,备份数据,修改建表语句,删除并重建表,清理回收站。通过这些步骤,可以避免导入导出时表空间无限扩大。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

        公司、客户的Oracle数据库,每次导出的dmp数据文件只有几十兆,还原备份后,往往会出现表空间不够的错误,需要巨大的表空间才能进行完整还原。

二、原因

        Oracle 数据库的 dba_segments这张表中分配的段过大。导致在还原的时候,会先根据这张表中每个数据表所占用的段的大小,相应的进行增加数据文件大小,所以造成表空间数据文件无线扩大。

1、关于dba_segments 详解

SEGMENT_TYPE:段的类型,可能是table,index,logindex,lobsegment等。

header_file:表示这个段的头在哪个数据文件里,因为段可以跨数据文件。

header_block:表示这个段的头在数据文件的第几个block里。

bytes:段的大小(目前占用的大小?)

blocks:段占用了多少个block

extents:分配了多少个extent。

initial_extent:初始分配的extent大小(以byte计)。

next_extent:下一个分配的extent大小(以byte计)。如果为空表示是自动分配。(每个extent可以有不同大小,如果设置为uniform的话,每个extent就一样大小了)

min_extents:最少分配多少个extent(以个数计)。

max_extents:最多分配多少个extent(以个数计)。

pct_increase:percent

increase表示第三个或后续的extent的大小比前一个增加的百分比,如第一个ext

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值