Oracle数据文件大小的限制
发表于 2011 年 07 月 31 日 由 惜分飞
链接:http://www.xifenfei.com/1321.html
标题:Oracle数据文件大小的限制
作者:惜分飞©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]
如果你比较细心,会注意到两件事情:
1、添加一个32g的数据文件会报错
SQL> alter tablespace users add datafile ‘/opt/oracle/oradata/test/user32g.dbf’ size 32g;
alter tablespace users add datafile ‘/opt/oracle/oradata/test/user32g.dbf’ size 32g
*
ERROR at line 1:
ORA-01144: File size (4194304 blocks) exceeds maximum of 4194303 blocks
SQL> !oerr ora 1144
01144, 00000, “File size (%s blocks) exceeds maximum of %s blocks”
// *Cause: Specified file size is larger than maximum allowable size value.
// *Action: Specify a smaller size.
2、添加一个maxsize为unlimited的数据文件
SQL> alter tablespace users add datafile ‘/opt/oracle/oradata/test/user32g.dbf’ size 10M AUTOEXTEND ON maxsize unlimited;
Tablespace altered.
SQL> select MAXBYTES/1024/1024/1024 from dba_data_files where file_name=’/opt/oracle/oradata/test/user32g.dbf’;
MAXBYTES/1024/1024/1024
———————–
31.9999847
你是不是有疑惑,为什么我添加32g的数据文件报错,为什么我添加一个数据文件maxsize设置为unlimited了,还是没有突破32g这个坎
原因分析:
由于Oracle的Rowid中使用22位来代表Block号,这22位最多只能代表2^22-1(4194303)个数据块,而在我们一般情况下使用的数据块大小为8k,所以数据文件的理论大小最大为: 31.9999924G
至于maxsize为unlimited时候,数据文件的大小为什么只有31.9999847G(blocks:4194301.99),比最大块数(4194303)少了一块,也许是和数据库和系统之间的衔接原因导致。
由上面的分析我们可以知道,数据文件大小和db_block_size有关,那我们可以得到这样的数据文件最大理论值
数据块 数据文件
2KB 8GB
4KB 16GB
8KB 32GB
16KB 64GB
32KB 128GB
注:以上规则适用于smallfile tablespace 下的数据文件,bigfile tablespace 下的数据文件不受此限制
分享到:
相关推荐
#### 二、Oracle数据文件大小限制 ##### 2.1 基本限制 - **文件系统限制**:数据文件的大小受到操作系统和文件系统的限制。例如,在大多数Unix/Linux系统中,默认的最大文件大小为2GB,但通过调整文件系统参数可以...
Oracle数据文件(Data Files)是Oracle数据库系统中存储表空间、表、索引和其他数据库对象的实际物理文件。这些文件包含了数据库中的所有数据,是数据库运行的基础。 在Oracle中,数据文件的主要特点和知识点包括:...
- **数据文件大小限制**:在扩展表空间时,需要注意每个数据文件的大小不能超过2GB(对于标准块大小)。如果需要更大的存储空间,可以考虑添加更多的数据文件。 - **备份与恢复**:在对表空间进行任何更改之前,最好...
### 2GB or Not 2GB—浅析Oracle中的文件大小限制 #### 一、引言 在Oracle数据库管理过程中,经常会遇到与文件大小限制相关的问题。特别是在进行数据的导入导出、备份恢复以及使用SQL*Loader加载大量数据时,往往...
在Oracle 10g及以后的版本中,引入了大文件表空间(Bigfile Tablespace)的概念,允许创建一个数据文件可以非常大,甚至可以超过4MB,这种情况下不再有1023个数据文件的限制。 每个数据块都有自己的唯一标识,通常...
本知识点将详细阐述Oracle如何设置表空间数据文件大小,重点讨论与数据块大小(DB_BLOCK_SIZE)相关的参数设置,以及在不同操作系统平台上的限制和调整。 首先,了解Oracle的表空间数据文件默认大小上限为32GB是...
当在裸设备上建立Oracle数据文件时,需要考虑到裸设备的大小限制以及操作系统保留区的影响。例如,如果裸设备大小为8MB(8192KB),且操作系统保留区为4KB,那么实际可用空间为8188KB。然而,Oracle在建立数据文件时...
- 文件大小:XLS文件有大小限制,如果数据量大,可能需要分批次导出或考虑使用其他格式如XLSX或CSV。 5. **优化和扩展:** - 对于大数据量的导出,可以考虑使用Oracle的`EXPDP`工具,它可以并行导出数据,效率更...
### Oracle数据泵导入详解 #### 一、Oracle数据泵导入简介 Oracle数据泵(Oracle Data Pump)是Oracle数据库提供的一种高效的数据迁移工具,主要用于在Oracle数据库之间进行数据和元数据的大规模传输。它通过导出...
这里的 `%U` 是一个通配符,会在导出过程中自动生成文件名,如 `exp01.dmp`, `exp02.dmp`, `exp03.dmp` 等,文件大小仍然被限制在 2GB。这种方式减少了手动指定文件名的繁琐,提高了工作效率。 在处理大量数据时,...
在故障处理过程中,可能需要查询表空间的大小,甚至在表空间大小为空或数据文件大小为空的情况下进行处理。这可能涉及到使用SQL命令,如`DBA_DATA_FILES`或`DBA_TABLESPACES`视图。 6. **重要日志号的关注**: 在...
例如,限制文件大小以防止DoS攻击,对文件名进行清理以防止路径遍历漏洞,以及使用缓存和分块传输优化大文件下载速度。 总结一下,"jsp+js+oracle 实现文件上传数据库,下载到本地"涉及到的关键技术包括: 1. JSP...
FILESIZE 选项用于指定导出文件的最大尺寸,以便在执行数据泵操作时可以正确地限制文件大小。 9. FLASHBACK_SCN:指定到处特定 SCN 时刻的表的数据。 FLASHBACK_SCN 选项用于指定到处特定 SCN 时刻的表的数据,...
数据文件一旦创建,其大小可以被修改,但不能直接从表空间中移除或与其他表空间关联。 - **Oracle数据库必需的三个文件**: - 数据文件(Datafile): 存储实际数据。 - 控制文件(Controlfile): 记录数据库的物理...
- `v$datafile`: 列出所有数据文件的位置和状态。 - `v$controlfile`: 显示控制文件的详细信息。 - `v$logfile`: 描述重做日志文件的信息。 #### 四、总结 Oracle数据字典是理解Oracle数据库架构和性能的关键。...
以下是对Oracle数据类型的详细总结,特别是字符和二进制串类型。 首先,我们来看字符类型。Oracle提供了四种基本的字符数据类型:`CHAR`,`NCHAR`,`VARCHAR2`,以及`NVARCHAR2`。`CHAR`和`NCHAR`是固定长度的数据...
1.dmp,/directory1/username_2.dmp filesize=2000M log=/directory2/username_exp.log`,其中`username.par`为参数文件,用于指定导出过程中的各项设置,如文件大小限制、日志文件位置等。 #### 2. Oracle数据导入...
2. **检查新建数据文件的大小**: ```bash $ ls -l /oradata/test.dbf -rw-r----- 1 oracle dba 4202496 Aug 29 15:01 /oradata/test.dbf ``` 注意,4202496 字节 = 4M + 8K。 3. **根据表格中的公式确定 `...
Oracle 数据库备份与还原是指将 Oracle 数据库中的数据备份到外部文件中,并在需要时将其还原回数据库中的过程。下面是 Oracle 数据备份与还原的相关知识点: 1. 基本概念 * 数据备份:指将 Oracle 数据库中的数据...
数据文件是Oracle数据库实际存储数据的物理文件,它们对应于操作系统级别的文件,每个数据文件只能属于一个表空间,而一个表空间可以包含多个数据文件。这使得数据可以在多个文件之间分散,从而提高I/O效率。在表...