热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

ORA-01653:unabletoextendtableXbyYintablespace

最近几天遇到了好几次Oracle的这个问题了,场景不太一样而已(注意:标题上的Y的单位是KB):

最近几天遇到了好几次Oracle的这个问题了,场景不太一样而已(注意:标题上的Y的单位是KB):

最近几天遇到了好几次Oracle的这个问题了,场景不太一样而已(注意:标题上的Y的单位是KB):

1.insert into table1 values(...) select (...) from table2:(会占用temp tablespace,如果table2数据很大,temp tablespace不够大的话,可能会报出上面的问题)

2.update table1 set is_deleted='Y':(因为在table1上建有物化视图,而这个视图要新增对应的物化视图的log表,,由于这个log表对应的tablespace满了,导致上面的问题)

3.insert into table1 values(...):(最正常不过的insert语句,由于table1对应的tablespace满了,导致上面的问题)

在网上找了一下相关的资料,摘抄了下三个关键的sql记录一下,以备后面的不时之需:

•查询表空间相关信息

SELECT a.tablespace_name ,
a.bytes / 1024 / 1024 "表空间大小(M)",
( a.bytes - b.bytes ) / 1024 / 1024 "已使用空间(M)",
b.bytes / 1024 / 1024 "空闲空间(M)",
Round(( ( a.bytes - b.bytes ) / a.bytes ) * 100, 2) "使用比率"
FROM (SELECT tablespace_name,
SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name,
SUM(bytes) bytes,
Max(bytes) largest
FROM dba_free_space
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
ORDER BY ( ( a.bytes - b.bytes ) / a.bytes ) DESC

•查看表空间对应的datafile的信息

SELECT file_name,
tablespace_name,
bytes / 1024 / 1024 "bytes MB",
maxbytes / 1024 / 1024 "maxbytes MB"
FROM dba_data_files
WHERE tablespace_name = 'PSR_DATA';

•查看表空间对应的datafile是否可以自动扩展(当然有些场景开启自动扩展功能可能会带来一些潜在的问题,所以不是所有的公司都开启这个)

SELECT file_id,
file_name,
tablespace_name,
autoextensible,
increment_by
FROM dba_data_files
WHERE tablespace_name = 'PSR_DATA'
ORDER BY file_id DESC;


推荐阅读
author-avatar
手机用户2502858941
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有