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> 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如何设置表空间数据文件大小

扫一扫手机访问