标题:
[
技术文章
]
Oracle数据库表空间超过32G的解决办法
[打印本页]
作者:
shillan
时间:
2025-7-5 16:15
标题:
Oracle数据库表空间超过32G的解决办法
Oracle数据库是由一个个表空间构成,表空间是由多个数据文件,数据文件又是区间构成,区由Oracle块构成。
Oracle表空间数据文件大小的限制
由于Oracle的Rowid使用22位来代表数据块号,因此Oracle表空间数据文件每个数据文件最多只能包含2^22个数据块。
也因此数据库表空间的数据文件不是无限增长的,例如:
在数据块为8k的情况下,单个数据文件的最大容量为8K*2^22 = 32G
同理,
数据块为2K,数据文件最大约8G
数据块为32,数据文件最大约16*8G
故若达到这个最大容量之后,则即便是设置了自增长,也不是无限自增长,此时则需要为这个表空间添加数据文件。
使用下面的语句给当前的表空间sde增加一个数据文件,这个数据文件sde_03.dbf不需要手动建,路径写好,执行时会自动创建:
--给空间不足的用户增加一个数据文件
alter tablespace SDE add datafile 'D:\app\Administrator\product\11.2.0\dbhome_1\database\SDE_03.DBF' size 400M autoextend on next 50M Maxsize UNLIMITED;
--查看oracle的表空间路径语句,以下2个都行,第一个全一点
Select * FROM DBA_DATA_FILES;
select name from v$datafile;
复制代码
欢迎光临 逐梦论坛 (http://temp2023.zhumeng.org/)
Powered by Discuz! 7.2