oracle表空间无法扩展

lyyanzi 2011-03-04 01:45:08
向数据库传图片时,提示“ORA-01691:段GQXT.SYS_LOB000021234C00002$$无法通过1024(在表空间SYSTEM中)扩展”。可是程序是向SYSTEM表空间中的好几个表写数据,有的就能写进去,有的就写不进去。
从网上看是表空间不够,执行了alter user gqxt quota unlimited on SYSTEM;并将用户设为resource角色,还是出现上面的错误,是什么原因啊

写了一段函数包,想添加表的主外键约束,同样报“表空间无法扩展”。

不明白为什么一个表空间里的表为什么有的能写入,有的不能,亟待解答,谢谢。
...全文
589 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
心中的彩虹 2011-03-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 lyyanzi 的回复:]
向数据库传图片时,提示“ORA-01691:段GQXT.SYS_LOB000021234C00002$$无法通过1024(在表空间SYSTEM中)扩展”。可是程序是向SYSTEM表空间中的好几个表写数据,有的就能写进去,有的就写不进去。
从网上看是表空间不够,执行了alter user gqxt quota unlimited on SYSTEM;并将用户设为resource角色,还是出现上面的……
[/Quote]

加个数据文件 不过system是自动扩展的,数据字典管理的

alter tablespace system add datafile '数据文件路径' size 500m
autoextend on next 10M maxsize 1000M


看看是不是其他的临时表空间也在此磁盘 而且是自动扩展的
huangdh12 2011-03-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lyyanzi 的回复:]

硬盘空间足够
alter user gqxt quota unlimited on SYSTEM
不就表示可以自动增长了吗

而且为什么同一表空间下有的表正常啊
[/Quote]

你这个是表示 赋予 gqxt在表空间 system上无限制使用资源。
表空间 system 自动扩展是应该 alter database datafile 1(system 表空间的文件编号应该是1) autoextend on;


默认来说 system表空间是可以扩展的,你现在需要看看你的数据库所在的盘是否还有空间。
zhangseyan 2011-03-04
  • 打赏
  • 举报
回复
我也遇到过,翻翻旧帖求解答去
zty598416146 2011-03-04
  • 打赏
  • 举报
回复
alter tablespace 表空间名 add datafile '/u1/oradata/userdata_002.ora' size 50m
这句话 新加一块数据文件...
minitoy 2011-03-04
  • 打赏
  • 举报
回复
两个不是一个概念,你那个只能说明用户在system表空间上分配额度没限制,不代表表空间本身可自动扩展且无上限。
打开system对应的datafile的autoextend和maxsize unlimited
Phoenix_99 2011-03-04
  • 打赏
  • 举报
回复
1.使表空间自动增长
alter database datafile 'D:\oracle\oradata\aa\test01.dbf' autoextend on;

2.追加一个数据文件到该表空间下
alter tablespace 表空间名 add datafile '/u1/oradata/userdata_002.ora' size 50m
  • 打赏
  • 举报
回复
--先看看你表空间的使用率
select Total.Tname "表空间名称",
Total.Total_Size "表空间大小",
Total.Total_Size - Used.free_size as "已使用大小",
Used.Free_size as 表空间剩余大小,
Round((Total.Total_Size - Used.free_size) / Total.Total_Size,4)* 100 || '%' as 表空间使用率
from
(
-- 表空间数据文件的大小
select tablespace_name as TName,
round(sum(user_bytes)/(1024*1024),1) as Total_size
from dba_data_files
group by tablespace_name
) Total,
(
-- 表空间剩余的大小
select tablespace_name as TName,
round(sum(bytes)/(1024*1024),1) as Free_size
from dba_free_space
group by tablespace_name
) Used
where Total.TName = Used.TName(+)
/
lyyanzi 2011-03-04
  • 打赏
  • 举报
回复
硬盘空间足够
alter user gqxt quota unlimited on SYSTEM
不就表示可以自动增长了吗

而且为什么同一表空间下有的表正常啊
  • 打赏
  • 举报
回复
alter database datafile 'D:\oracle\oradata\aa\test01.dbf' autoextend on;
硬盘空间够不够? 把表空间设为自动增长看看

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧