Oracle 如何扩展表空间
今天将历史表数据迁移到原来的表中时报错ORA-01653: unable to extend table
XXXXXX.XXXXTABLE by 128 in tablespace XXXXX 发现是表空间不足,现将自己操作的步骤规整如下:
第一步,检查表空间占用率:
select dbf.tablespace_name as "表空间名字",
dbf.totalspace "总量",
dbf.totalblocks "总块数",
dfs.freespace "剩余总量(M)",
dfs.freeblocks "剩余块数",
(dfs.freespace / dbf.totalspace) * 100 as "空闲比例"
from (select t.tablespace_name,
sum(t.bytes) / 1024 / 1024 totalspace,
sum(t.blocks) totalblocks
from dba_data_files t
group by t.tablespace_name) dbf,
(select tt.tablespace_name,
sum(tt.bytes) / 1024 / 1024 freespace,
sum(tt.blocks) freeblocks
from dba_free_space tt
group by tt.tablespace_name) dfs
where trim(dbf.tablespace_name) = trim(dfs.tablespace_name);
第二步:查找到需要扩展空间的表空间,查看数据文件路径,用如下脚本:
select * from dba_data_files t where t.tablespace_name = '表空间名称'
其中表空间换为你自己的表空间名称。
第三步,增加表空间大小:增加表空间大小。这有两种控冲方法:
(1)修改现有数据文件的大小:
alter database datafile '全路径的数据文件名称' resize ***M。
例:alter database datafile 'e:\oracle\oradata\test_2014.dba'resize 2000m.
(2)新增数据文件:alter tablespace 表空间名称add datafile '全路径的数据文件名称' size ***M.
例:alter tablespace 表空间名称 add datafile 'e:\oracle\oradata\test_201401.dba' size 2000m。
注意:(1)表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resizedatafile,一般数据文件不要超过2G
(2)设置表空间数据文件自动扩展:alter database datafile '全路径的数据文件名称' autoextend on;
alter database datafile 'e:\oracle\oradata\test_201401.dba' .
问题解决。
XXXXXX.XXXXTABLE by 128 in tablespace XXXXX 发现是表空间不足,现将自己操作的步骤规整如下:
第一步,检查表空间占用率:
select dbf.tablespace_name as "表空间名字",
dbf.totalspace "总量",
dbf.totalblocks "总块数",
dfs.freespace "剩余总量(M)",
dfs.freeblocks "剩余块数",
(dfs.freespace / dbf.totalspace) * 100 as "空闲比例"
from (select t.tablespace_name,
sum(t.bytes) / 1024 / 1024 totalspace,
sum(t.blocks) totalblocks
from dba_data_files t
group by t.tablespace_name) dbf,
(select tt.tablespace_name,
sum(tt.bytes) / 1024 / 1024 freespace,
sum(tt.blocks) freeblocks
from dba_free_space tt
group by tt.tablespace_name) dfs
where trim(dbf.tablespace_name) = trim(dfs.tablespace_name);
第二步:查找到需要扩展空间的表空间,查看数据文件路径,用如下脚本:
select * from dba_data_files t where t.tablespace_name = '表空间名称'
其中表空间换为你自己的表空间名称。
第三步,增加表空间大小:增加表空间大小。这有两种控冲方法:
(1)修改现有数据文件的大小:
alter database datafile '全路径的数据文件名称' resize ***M。
例:alter database datafile 'e:\oracle\oradata\test_2014.dba'resize 2000m.
(2)新增数据文件:alter tablespace 表空间名称add datafile '全路径的数据文件名称' size ***M.
例:alter tablespace 表空间名称 add datafile 'e:\oracle\oradata\test_201401.dba' size 2000m。
注意:(1)表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resizedatafile,一般数据文件不要超过2G
(2)设置表空间数据文件自动扩展:alter database datafile '全路径的数据文件名称' autoextend on;
alter database datafile 'e:\oracle\oradata\test_201401.dba' .
问题解决。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端