【Oracle】Oracle表空间数据文件大小设置

摘要:
Oracle数据文件的默认最大大小为32G。如果希望数据文件大于32G,则需要在创建数据库时设置它们。OracleDatabaseAdministrator's Guide 10g Release 2部件号B14231-02/B19306_01/server。102/b14231/创建。htm#sthref372有以下描述:可以在CREATE TABLESPACE语句期间创建非标准块大小的表空间,并指定BLOCKSIZECLAULT。senonstandard块大小可以具有以下两个值的幂:2K、4K、8K、16Kor32K。对最大块大小进行分段的平台特定限制适用,其中一些大小可能不允许在平台上使用。对于标准块大小,您必须使用SGA内存的缓冲区缓存区域为所有要使用的非标准块大小配置子切块。下一节“管理SystemGlobalArea”中介绍了用于配置子标签的初始化参数。上一段解释了某些块大小在某些平台上不可用,这些平台受到操作系统的限制。Oracle是SGA自动共享内存管理,如果要创建表空间并指定其文件大小,则初始化参数db_4k_cache_size=0、db_8k_cache_size=0、,您需要重置db_4k_cache_size、db_8k_cache_size、db_16k_cache_size、db_32k_cache_ssize、db_64k_cache_size_大小的值。db_4k_cache_size:altersystemsetdb_4k_cache_size=4Mscope=两者;db_8k_cache_size:altersystemsetdb_8k_cache_size=8Mscope=两者;db_16k_cache_size:altersystemsetdb_16k_cache_size=16Mscope=两者;db_32k_cache_size:altersystemsetdb_32k_cache_size=32Mscope=两者;db_64k_cache_size:altersystemsetdb_64k_cache_size=64Mscope=both;Windows仅支持4k、8k和16k设置。

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的值。

参考:https://www.csdn.net/gather_2c/MtTaMg1sMTAxMy1ibG9n.html

免责声明:文章转载自《【Oracle】Oracle表空间数据文件大小设置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python学习第6天----文件操作DES与3DES下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle instantclient_11_2插件安装

1.安装plsql 2.instantclient_11_2下载,解压到目录 D:DevToolsinstantclient_11_2 3.打开plsql, 点击“取消” 4.选择“工具”--》首选项---》连接--》oracle主目录填写D:DevToolsinstantclient_11_2 OCI库填写 D:DevToolsinstantclient...

oracle之复杂查询(下):子查询

复杂查询(下):子查询8. 1 非关联子查询:返回的值可以被外部查询使用。子查询可以独立执行的(且仅执行一次)。8.1.1 单行单列子查询,子查询仅返回一个值,也称为标量子查询,采用单行比较运算符(>,<,=,<>,>=,<=)例:内部SELECT子句只返回一行结果SQL>select ename,salfrom...

oracle 存储过程(1)

--建一张user_info表create table user_info (id varchar2(10),name varchar2(20),password varchar2(20),address varchar2(30));--创建存储过程,作用是向user_info表中添加数据create or replace procedure adduse...

oracle创建定时任务

 一、dmbs_job dbms_job涉及到的知识点 1、创建job:   variable jobno number; dbms_job.submit(:jobno, —-job号  'your_procedure;',—-执行的存储过程, ';'不能省略  next_date, —-下次执行时间  'interval'—-每次间隔时...

转:ORACLE的JDBC连接方式:OCI和THIN

oracle的jdbc连接方式:oci和thin     oci和thin是Oracle提供的两套Java访问Oracle数据库方式。     thin是一种瘦客户端的连接方式,即采用这种连接方式不需要安装oracle客户端,只要求classpath中包含jdbc驱动的jar包就行。thin就是纯粹用Java写的ORACLE数据库访问接口。oci是一种胖客...

Oracle基础(九) Oracle的体系结构

一、Oracle体系结构概述:   Oracle的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制。要了解Oracle数据库的体系结构,必须理解Oracle系统的重要概念和主要组件。   Oracle系统体系结构由三部分组成:内存结构,进程结构,存储结构。。如下图所示:        1、内存结构(SGA、PAG)   内存结构...