首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调整小文件表空间的大小- ORA-01144

调整小文件表空间的大小- ORA-01144
EN

Database Administration用户
提问于 2020-02-24 03:44:56
回答 3查看 4.5K关注 0票数 0

我只有2%的免费表空间UNDOTBS1。它由2个数据文件组成。

当我发射

代码语言:javascript
运行
复制
alter database datafile '+DATADF/dbname/datafile/undotbs1.555.23454732' resize 32G;

我得到了:

ORA-01144:文件大小(4194304块)超过最大4194303块

如何扩展这个表空间?

EN

回答 3

Database Administration用户

回答已采纳

发布于 2020-02-24 11:46:49

忘记文件系统挂载选项和32000M (而不是32000K)。

第一个与此无关。

32000M也不是最大的大小,这样的文件大小来自于对物理数据库限制的缺乏理解:物理数据库限制

小文件表空间数据文件可以包含2^22-1 * database block size字节。对于默认的8192字节块大小,这意味着4194303 * 8192 = 34359730176字节,而32G = 34359738368字节。

因此,这应该适用于小文件表空间中的标准8192字节块大小:

代码语言:javascript
运行
复制
alter database datafile '+DATADF/dbname/datafile/undotbs1.555.23454732' resize 34359730176;

如果达到这个限制,可以将下一个数据文件添加到表空间中,例如:

代码语言:javascript
运行
复制
alter tablespace undotbs1 add datafile `+DATADF` size 100M autoextend on next 100m maxsize unlimited;

其中无限也意味着2^22-1 * database block size限制。

票数 0
EN

Database Administration用户

发布于 2020-02-24 06:49:17

你有两个选择。

您当前对小文件的限制是2G。正如您可以看到的,限制是4194303个块,它是4194303 x 512字节块大小=2,147,483,136个字节= 2G。

备选案文1:

使用-largefiles选项安装您的文件系统,这将允许您创建32G及更高版本。

备选案文2:

您只能添加2G数据文件。

代码语言:javascript
运行
复制
alter tablespace UNDOTBS1 add datafile 'path/filename' size 2G;

-largefiles选项已经默认了很多年了,所以您的unix管理员应该不会有问题来更改这个选项。

票数 0
EN

Database Administration用户

发布于 2020-02-24 11:21:52

我认为问题在于,在Oracle的内部空间计算中,由于一些奇怪的原因,"32G“在这里不起作用。

“32000 K”将非常好地工作,尽管它可能比你想要的要小一点。

或者,只需添加第三个大小的数据文件,您喜欢。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/260402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档