热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

你知道Oracle的数

传统的关系型数据库,虽然客户端同数据库交互的时候,都是在和各种缓存打交道,但是"数据"还是要进行落盘的操作,文件是他的存储形式,既然是文件,就会有容量限制,那么,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篇文章分类和索引



推荐阅读
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
author-avatar
文静的疯子19__97
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有