空间是bigfile,自动扩展的
在插入数据时报错:
ORA-01658: unable to create INITIAL extent for segment in tablespace xxxxx 这个是什么原因?搜索了一下,这个错误一般是建表或导数据时有create动作时才会发生吧? INITIAL ?
而且硬盘上空余空间还很多,足够
在插入数据时报错:
ORA-01658: unable to create INITIAL extent for segment in tablespace xxxxx 这个是什么原因?搜索了一下,这个错误一般是建表或导数据时有create动作时才会发生吧? INITIAL ?
而且硬盘上空余空间还很多,足够
tablespace满了,再挂多几个数据文件吧
alter database datafile '/.../xxx.dbf' autoextend on next 10m
-- 再说:硬盘上的空间再多,也是有上限的;同理:数据库中占用的空间再多,也是有上限的,这个上限值受
-- 你的表空间涉及的文件的创建语句、操作系统允许的最大文件大小 等方面的因素制约!
-- *01). 查看普通表空间的使用情况:
SELECT a.tablespace_name as tablespace_name,
to_char(b.total/1024/1024,999999.99) as Total,
to_char((b.total-a.free)/1024/1024,'9999990D99') as Used,
to_char(a.free/1024/1024,'9999990D99') as Free,
to_char(round((total-free)/total,4)*100,'9999990D99')||'%' as Used_Rate
FROM (SELECT tablespace_name, sum(bytes) free FROM DBA_FREE_SPACE GROUP BY tablespace_name) a,
(SELECT tablespace_name, sum(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name ) b
WHERE a.tablespace_name=b.tablespace_name
ORDER BY round((total-free)/total,4) desc;
可知 MAXBYTES 为 35184372064256
这个应该是32T吧有遇过到这种错误提示的吗? 会不会是索引出错。重建索引?
14:12:43 2 to_char(b.total/1024/1024,999999.99) as "Total(MB)",
14:12:43 3 to_char((b.total-a.free)/1024/1024,'9999990D99') as "Used(MB)",
14:12:43 4 to_char(a.free/1024/1024,'9999990D99') as Free,
14:12:43 5 to_char(round((total-free)/total,4)*100,'9999990D99')||'%' as Used_Rate
14:12:43 6 FROM (SELECT tablespace_name, sum(bytes) free FROM DBA_FREE_SPACE GROUP BY tablespace_name) a,
14:12:43 7 (SELECT tablespace_name, sum(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name ) b
14:12:43 8 WHERE a.tablespace_name=b.tablespace_name
14:12:43 9 ORDER BY round((total-free)/total,4) desc;TABLESPACE_NAME Total(MB) Used(MB) FREE USED_RATE
------------------------------ ---------- ----------- ----------- ------------
SYSAUX 660.00 616.19 43.81 93.36%
SYSTEM 710.00 703.00 7.00 99.01%
USERS 106.25 94.56 11.69 89.00%
UNDOTBS1 100.00 24.25 75.75 24.25%-- 上面的语句可以看到,我的sysaux表空间只剩43M多了,如果表空间相关数据文件没有设置为自动扩展的话,总有一天会把空间用尽的! 就好比:你想把5斤苹果装进只能装3斤苹果的袋子一样,怎么装的下呢?
例如 Fat32格式的磁盘,最大单个文件大小只能是4G,
所以不要以为你的表空间设置了自动扩展就不忧了,
千万别忘记:你的数据库是在一定的操作系统平台上运行,同时受操作系统的制约!
现在其实是硬盘一个月前出过点小故障,不知道现在的是不是和硬件有关。你那个空间情况 ,我在其他好几个服务器上都都能执行,但在出问题那个机器上却诡异的执行不了。select * FROM DBA_FREE_SPACE 结果是 DBA_FREE_SPACE 这个表都找不到。这个是系统表吧?难道是系统表紊乱了?
是不是DBA_FREE_SPACE 中没有对应条目的话,就是说该空间没有 free space了?
搜索了下 ,据说 “这个情况是因为剩余空间已不足一个EXTENT了,也就是已经没有空闲空间了。”究竟是什么原因呢