ORA-01658: 无法为表空间 SYSAUX 中的段创建 INITIAL 区(Oracle表空间扩容)

今天在Oracle中新增数据时,出现了“ORA-01658: 无法为表空间xxx中的段创建 INITIAL 区”错误,这种情况一般都是当前Oracle数据库表空间不够导致的,需要扩容,网上搜了下解决办法都大同小异,这里简单整理并记录下,方便直接使用。

首先查询下表空间使用率,并查询出表空间文件位置

select t.file_name 文件路径,
 t.tablespace_name 表空间名称,
 t.bytes / 1024 / 1024 表空间大小M,
 (t.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 已使用M,
 substr((t.bytes - sum(nvl(a.bytes, 0))) / (t.bytes) * 100, 1, 5) 利用率
  from dba_free_space a, dba_data_files t
 where a.file_id = t.file_id
 group by t.tablespace_name, t.file_name, t.bytes
 order by t.tablespace_name

执行后,可以在查询结果中找到报错的表空间名称以及文件路径,然后对其进行扩容,方法如下:

方法一:修改原表空间大小

alter database datafile 'D:\test\xxx.DBF' resize 10000m

这句将原表空间大小修改成10个G,注意:单个表空间最大为32G

方法二:增加数据文件个数

alter tablespace 'xxx' add datafile 'D:\test\xxx_2.DBF' size 10000m

除此之外,还可以将表空间设置为自动增长

alter database datafile 'D:\test\xxx.DBF' autoextend on next 300m maxsize 10000m

但这种方式,单个表空间依然受最大32G限制

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值