【Oracle】Oracle表空间数据文件大小设置
Oracle数据文件默认大小上限是32G,如果要数据文件大于32G,需要在数据库创建之初就设置好。
表空间数据文件容量与DB_BLOCK_SIZE有关,在初始建库时,DB_BLOCK_SIZE要根据实际需要,设置为 4K,8K、16K、32K、64K等几种大小,ORACLE的物理文件最大只允许4194304个数据块(由操作系统决定),表空间数据文件的最大值为 4194304×DB_BLOCK_SIZE/1024M。
即:
- 4k最大表空间为:16384M=16G
- 8K最大表空间为:32768M=32G
- 16k最大表空间为:65536M=64G
- 32K最大表空间为:131072M=128G
- 64k最大表空间为:262144M=256G
在windows下只能使用2K,4K,8K,16K的块大小,在文档中的描述如下。
Oracle Database Administrator's Guide
10g Release 2 (10.2)
Part Number B14231-02
/B19306_01/server.102/b14231/create.htm#sthref372中有如下描述:
Tablespaces of nonstandard block sizes can be created using the CREATE TABLESPACE statement and specifying the BLOCKSIZE clause. These nonstandard block sizes can have any of the following power-of-two values: 2K, 4K, 8K, 16K or 32K. Platform-specific restrictions regarding the maximum block size apply, so some of these sizes may not be allowed on some platforms.
To use nonstandard block sizes, you must configure subcaches within the buffer cache area of the SGA memory for all of the nonstandard block sizes that you intend to use. The initialization parameters used for configuring these subcaches are described in the next section, "Managing the System Global Area (SGA)".
前一段说明了某些块大小在某些平台上是不可用的,具体情况受操作系统限制。比如windows下就有块大小2048字节到16384字节的限制,不管是非标准块还是标准块。据http://www.ningoo.net/html/2007/can_not_use_32k_block_size_on_windows.html的说明,如果Windows下使用32K作为db_block_size创建数据库,会报ORA-00374错误。
后一段说明使用非标准块要设置相应的内存参数。
Oracle是SGA自动共享内存管理,初始化参数db_4k_cache_size=0、db_8k_cache_size=0、db_16k_cache_size=0、
db_32k_cache_size = 0、db_64k_cache_size = 0,使用
如果要创建表空间并指定其文件大小(由创建表空间的BLOCK_SIZE决定),需重新设置db_4k_cache_size、db_8k_cache_size、db_16k_cache_size、db_32k_cache_size、db_64k_cache_size的值。
db_4k_cache_size:
alter system set db_4k_cache_size = 4M scope=both;
db_8k_cache_size:
alter system set db_8k_cache_size = 8M scope=both;
db_16k_cache_size:
alter system set db_16k_cache_size = 16M scope=both;
db_32k_cache_size:
alter system set db_32k_cache_size = 32M scope=both;
db_64k_cache_size:
alter system set db_64k_cache_size = 64M scope=both;
其中windows系统只支持4k、8k、16k的设置。
设置好上述参数的值后,创建表空间:
CREATE TABLESPACE TEST DATAFILE 'E:\TEST.DBF'
SIZE 60G
AUTOEXTEND ON
BLOCKSIZE 16K
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2M
SEGMENT SPACE MANAGEMENT AUTO;
SIZE:数据文件大小,不能超过BLOCKSIZE 16k(对应db_16k_cache_size)的大小16M*4194304/1024M=65536M=64G的值。
相关文章
- 利用Oracle循环实现输出技巧(oracle循环输出)
- 更新提升效率:Oracle数据库版本升级(oracle数据库版本)
- Oracle中使用数字通配符的注意事项(oracle数字通配符)
- 利用Oracle数据库设置字符集(oracle设置字符集)
- 包深度探索Oracle数据库JAR包(oracle数据库jar)
- Oracle 防火墙环境下的安全设置(oracle防火墙设置)
- 据统计Oracle小时数据统计报表(oracle小时数)
- 让Oracle自动创建唯一主键(oracle设置自动主键)
- 设置Oracle字段的默认值(oracle字段默认值)
- 深入理解Oracle中列默认值设置(oracle设置列默认值)
- Oracle数据库编码设置指南(oracle编码设置)
- 优化Oracle数据库 内存设置的窍门(oracle内存设置页面)
- 破解Oracle内存设置过大的难题(oracle内存设置过大)
- 比较MySQL和Oracle谁才是数据库第一(msql对比oracle)
- 实例IPCS管理多个Oracle数据库实例解决方案(ipcs多个oracle)
- 如何正确设置Oracle系统时间(oracle 中系统时间)
- 精准掌控Oracle中的超时参数(oracle中的超时设置)
- 利用 Oracle 事件视图管理系统运行状态(oracle 事件视图)
- 学习Oracle备份与恢复之保存语句(oracle保存语句)
- Oracle数据库使用体验设置优化(oracle使用设置)
- Oracle推动企业级应用发展(oracle企业级应用)
- Oracle代码窗口美化启示(oracle代码窗口美化)
- Oracle中文版设置实现无缝中文界面体验(oracle中文版设置)
- Oracle在中国有多少支持者(oracle中国有多少人)
- Oracle中实现数据表分割的方法(oracle中分割数据表)
- 的设置Oracle数据库中REUSE选项的设置方法(oracle中reuse)
- Oracle把个性化设置提升到新高度(oracle个性化设置)
- 利用Oracle将两列合并为一列(oracle两列合并一列)
- 建立Oracle业务实体表为企业发展筑起新平台(oracle 业务实体表)
- Oracle 数据库配置业务主键的必要性(oracle业务主键设置)
- 设置Oracle账户口令三种设置方式(oracle三个账户口令)