Oracle表空间最大化“无限”并非真正无限制
我最近需要将.dmp导入我创建的新用户.我还使用以下命令为用户创建了一个新的表空间:
create tablespace my_tablespace datafile 'C:MyOracleInstallDataFile01.dbf' size 10M autoextend on next 512K maxsize unlimited; 导入正在运行时出现错误: ORA-01652 Unable to extend my_tablespace segment by in tablespace 当我检查dba_data_files表中的数据文件时,我观察到maxsize大约是34gb.因为我知道数据库的一般大小,所以在将多个数据文件添加到表空间后,我能够毫无问题地导入.dmp. 当我添加的第一个数据文件设置为自动增长到无限大小时,为什么我需要向表空间添加多个数据文件?为什么最大尺寸为34gb而不是无限制?是否有34gb的硬帽? 解决方法正如您所发现的那样,正如Alex Poole指出的那样,单个数据文件大小存在限制. Smallfiles限制为128GB,bigfiles限制为128TB,具体取决于您的块大小. (但您不希望更改块大小只是为了增加这些限制.)create tablespace命令中的大小限制仅在您希望进一步限制大小时才存在.这可能有点令人困惑.您可能不关心管理文件并希望它“正常工作”.管理数据库存储总是令人讨厌,但这里有一些你可以做的事情: >将表空间保持在最低限度.在一些罕见的情况下,将数据分区为许多小表空间是有帮助的.但是,这些罕见的好处通常会超过您管理所有这些对象所带来的痛苦. 为什么称它为“无限”? 我猜想关键字UNLIMITED是一个历史错误.自at least version 7以来,Oracle的文件大小限制相同,也许更早. Oracle 7于1992年发布,当时是1GB hard drive cost $1995.也许当时每个操作系统的文件大小限制都低于此.也许当时将128GB视为“无限制”是合理的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |