码迷,mamicode.com
首页 > 其他好文 > 详细

ORA-01144

时间:2014-09-29 18:11:11      阅读:333      评论:0      收藏:0      [点我收藏+]

标签:ora-01144

早上用户反应系统访问很慢很慢,测试访问确实如此,接下来就找原因

应用服务器应该问题不大,问有经验的同事,说问题可能是数据库,然后我就重启了数据库服务,发现没有解决问题,接着就认为应该是数据库表空间文件大小的原因,用语句查询:

SELECT a.tablespace_name "表空间名", total "表空间大小", free "表空间剩余大小", (total - free) "表空间使用大小", total / (1024 * 1024 * 1024) "表空间大小(G)", free / (1024 * 1024 * 1024) "表空间剩余大小(G)", (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)", round((total - free) / total, 4) * 100 "使用率 %" 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;

执行语句:ALTER DATABASE DATAFILE ‘D:\app\Administrator\oradata\SDQEHR\SDQEHR.DBF‘ RESIZE 30720M;

其中报过一个错误:ORA-01144:文件大小(5242880块)超出4194303块的最大数的异常。这是由于我设置的45G的文件大小太大,后改成30G(30720M)执行成功。

然后又增加了一个新的 表空间文件:

ALTER TABLESPACE BSCHIS ADD DATAFILE ‘D:\app\Administrator\oradata\SDQEHR\SDQEHR1.DBF‘ SIZE 30720M;

完成。



------解决思路----------------------
数据库的db_block_size多大?2k?
------解决思路----------------------
db_block_size Maximum data file size

2kb 8Gb-2kb
4kb 16Gb-4kb
8kb 32Gb-8kb
16kb 64Gb-16kb
32kb 128Gb-32kb

这个限制是由于Oracle的Rowid中使用22位来代表Block号,这22位最多只能代表2^22-1个数据块。

ORA-01144

标签:ora-01144

原文地址:http://namtsorye.blog.51cto.com/1171875/1559349

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!