您现在的位置是:群英 > 数据库 > 关系型数据库
在Oracle中表空间大小如何调整
Admin发表于 2022-07-13 17:32:151587 次浏览
今天这篇给大家分享的知识是“在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中表空间大小如何调整”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: 表空间
相关信息推荐
2022-08-13 17:51:52 
摘要:mysql进制转换方法:1、利用“bin(值)”,可将十进制转为二进制;2、利用“oct(值)”,可将十进制转为八进制;3、利用“hex(值)”,可将十进制转为十六进制;4、利用“conv('值',2,10)”,可将二进制转为十进制。
2022-06-17 17:37:12 
摘要:这篇文章主要介绍了记一次线上Oracle连接耗时过长的问题,本文通过问题定位分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2021-11-16 17:37:38 
摘要:这篇文章我们来了解MySQL 8.0中的一个特性,也就是全局参数持久化。那么究竟全局参数持久化是什么意思,怎样理解呢?下文有很详细的介绍,有需要的朋友可以了解一下,接下来就跟随小编来看看吧!
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部