传统的关系型数据库,虽然客户端同数据库交互的时候,都是在和各种缓存打交道,但是"数据"还是要进行落盘的操作,文件是他的存储形式,既然是文件,就会有容量限制,那么,Oracle的数据文件大小究竟有何限制?

参考一些资料,每个数据文件最多只能包含2^22-1个数据块,这个限制是由于Oracle的Rowid中使用22位来代表Block号,这22位最多只能代表2^22-1个数据块。当然,Oracle10g引入了大文件表空间,Oracle就可以使用32位来代表Block号,因此,大文件表空间下每个文件最多可以容纳4G个Block。

P. S. 《什么是rowid?》

如果是默认的8k数据块,一个数据文件包含了2^22-1个数据块,他的文件大小,就是2^22-1 * 8k / 1024 /1024 = 32G,即最大不能超过32G。相应,

4k数据块的数据文件最大不超过16G。
16k‍数据块的数据文件最大不超过64G。
32k数据块的数据文件最大不超过128G。
64k数据块的数据文件最大不超过256G。

如果是大文件表空间,采用默认8k数据块,数据文件就可以达到32T,如果是32k的数据块,数据文件大小就可以达到128T。

虽然,按照上述计算,数据文件大小有个上限,但是,若操作系统支持的单个文件最大容量小于此值,则以操作系统的最大容量为限。另外,Windows中只能使用2k、4K、8K、16K的块大小,最大的块容量,就会略小。

和数据文件相关的有个db_files参数,他指定了一个实例可以创建的最大文件数量。这个值可以被修改,但只有重启实例后,才会生效。db_files设置得过低,可能造成不能添加新的数据文件的问题。设置得过高,会消耗更多的内存资源。对于如何设置,《Database Administrator’s Guide》给出了指引,但还是得结合实际情况,

https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/managing-data-files-and-temp-files.html#GUID-BB7D8910-FCAE-4DAD-BDE5-B5EE35C69C6B

因此,包括不仅限于Oracle和数据文件大小的问题,当我们碰到实际需求场景的时候,了解这些限制,有助于我们选择最合适的方案。

参考资料,

http://www.eygle.com/archives/2007/07/oracle_datafile_limit.html

https://www.modb.pro/db/386663?utm_source=index_ai

近期更新的文章:

《Oracle和JSON的结合》

《脚本中如何"优雅"避免MySQL登录提示信息》

《小白学习MySQL - 增量统计SQL的需求 - 开窗函数的方案》

《国产数据库名录一览》

《小白学习MySQL - 统计的"投机取巧"》

近期的热文:

《"红警"游戏开源代码带给我们的震撼》

文章分类和索引:

《公众号1000篇文章分类和索引》

你知道Oracle的数据文件大小有上限么?相关推荐

  1. oracle缩小数据文件大小,怎样将数据文件的大小变小

    我贴上我的测试步骤吧,想必大家也看的懂,注释就不加了吧? db_block_size=4k SQL> alter database datafile 'd:\oracle\oradata\tt\ ...

  2. Oracle减小数据文件大小

    收集表空间的统计信息,查询表空间的使用率 -- 查询非临时表空间的使用率 SELECT d.Tablespace_Name, Space "SUM_SPACE(M)", Block ...

  3. 10g数据库入门与实践 oracle_修改oracle数据文件大小 报错:ORA-03297

    修改oracle数据文件大小 报错:ORA-03297 数据库中SXSJ的表空间SXS文件在创建的时候由于达到最大块空间,增加了一个SXSJ1的数据文件,但是增加时直接给的文件大小是30G,过于占用空 ...

  4. oracle大文件和小文件的区别,Oracle数据文件大小的限制

    Oracle数据文件大小的限制以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! oracle数据文件大小限制的公式 ora ...

  5. Oracle 删除数据后释放数据文件所占磁盘空间

    . . . . . 测试的时候向数据库中插入了大量的数据,测试完成后删除了测试用户以及其全部数据,但是数据文件却没有缩小.经查阅资料之后发现这是 Oracle "高水位"所致,那么 ...

  6. 怎么查看oracle数据库数据量大小?

    1.查看所有表空间及表空间大小: select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by ...

  7. oracle中数据文件创建,操作oracle中的数据文件

    收藏于http://dev.yesky.com/296/8090796.shtml Oracle数据库 中管理表空间和数据文件 数据库的三大组成部分:数据文件,控制文件,Redo日志. 表空间分为系统 ...

  8. oracle导出dmp文件大小限制,[Oracle数据库] 急!关于在AIX4.3.3版本下导8.0.5数据库DMP文件大小的限制!...

    请为,那位好手能帮我解决以下问题的困惑: 操作系统AIX 4.3.3 数据库:Oracle8.0.5.2 症状:导入一个8G大小的DMP文件,数据库报不能识别DMP文件,经查询,Oracle8.0.5 ...

  9. oracle数据量多大,怎么查看oracle数据库数据量大小

    查看方法: 1.查看所有表空间及表空间大小:select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files gro ...

最新文章

  1. 如何判断一个元素在亿级数据中是否存在?
  2. buu 篱笆墙的影子
  3. Java 核心编程技术干货
  4. Linux C++线程池
  5. MySQL之EXPLAIN(索引优化)
  6. long 雪花算法_雪花算法(snowflake)
  7. 搜索引擎的那些事(32位MD5算法)
  8. win10计算机无法远程连接,win10无法远程连接
  9. 有趣、高效的编程示例
  10. testng自定义注解
  11. 部编版是什么版本_部编版教材和人教版教材有什么区别
  12. 纽泰格深交所上市:市值52亿 扣非净利下降52%
  13. 组合优化问题MATLAB程序,组合优化问题(一).ppt
  14. 2021年中国货物进出口规模及呈现的五大特点分析:货物进出口快速增长,贸易结构持续优化[图]
  15. google浏览器调试工具自定义网速设置网速
  16. 对辛辛那提原始数据集(ims)数据划分正常,内圈故障,滚动体故障,外圈故障(python代码),可作为自己故障诊断模型实验的另一个数据集(因为CWRU普遍而言,准确度和被使用频率已经极高)
  17. Kubernetes可视化界面及监控安装
  18. linux怎么清除防火墙规则,linux怎么查看防火墙是否开启并清除防火墙规则?
  19. 4u机架式服务器性能如何,兼顾成本与性能 4U机架式服务器再曝光
  20. 远算CAE平台-汽车行业常用仿真软件都是什么,ansys在其中吗?

热门文章

  1. 前端如何设置字体滚动,及向左移动
  2. BIEE Hello World式的例子
  3. Unity Animation Miss Path
  4. 基于Java web的员工工资管理系统(人事管理系统)
  5. 煎饼,娇妻,Belief:黄太吉的移动互联网营销
  6. 多功能计算器1.0.3
  7. 作为一名程序员我不忘初心,Android岗
  8. python一键获取豆瓣租房小组前十页信息,并导入EXCEL(Xpath法)
  9. beam transform
  10. Partial Transfer Learning with Selective Adversarial Networks学习笔记