oracle数据库存储空间的最小存储单位是

oracle数据库存储空间的最小存储单位是,第1张

您好,Oracle数据库存储空间的最小存储单位是数据块(Data Block)。数据块是Oracle数据库中最基本的存储单位,是在磁盘上分配和管理存储空间的最小单位。每个数据块的大小是固定的,通常为多个字节的倍数,例如8KB、16KB等。在Oracle数据库中,数据块是由Oracle引擎自动管理的,它们被用来存储表、索引、视图、存储过程等数据库对象的数据。数据块的大小是根据应用程序需要和数据库性能进行权衡而确定的,一般来说,较小的数据块可以提高数据库的并发性和响应速度,但也会增加系统开销和存储空间的浪费。

除了数据块,Oracle数据库还有其他存储单位,例如段(Segment)、表空间(Tablespace)等。段是由数据库对象占用的一组数据块组成的逻辑单位,例如表、索引、视图等。表空间是由一个或多个数据文件组成的逻辑存储单元,它用于存储数据库对象的数据和元数据。在Oracle数据库中,表空间是分配和管理存储空间的最高级别单位,它可以跨多个物理设备和 *** 作系统文件系统。

1、64位linux 和64位oracle,默认oracle表空间数据文件用的BLOCKSIZE是8k,表空间数据文件最大是32G。

SQL>show parameter k_cache_size

查看数据库默认的块大小

SQL>show parameter db_block_size

db_block_sizeinteger 8192

2、为了让一个表空间数据文件存64G,你需要告诉oracle用BLOCKSIZE 是16k

CREATE TABLESPACE TEST DATAFILE ‘/data1/test_ts1.dbf’ SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED BLOCKSIZE 16k

提前需要设置db_16k_cache_size

alter system set db_16k_cache_size=16M scope=both

否则会报错ORA-29339:

tablespace block size 16384 does not match configured block sizes

3、为了让一个表空间数据文件存128G,你需要告诉oracle用BLOCKSIZE 是32k

4、32位linux 和32位oracle,默认oracle表空间datafile用的BLOCKSIZE也是8k,表空间数据文件最大也是32G。试了一下64G文件,也没有问题。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10833422.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存