问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

表空间所能创建的最大数据文件有多少G

发布网友 发布时间:2022-04-09 22:57

我来回答

2个回答

懂视网 时间:2022-04-10 03:19

db_block_size=2KB,文件头保留32个数据块,即64KB。
db_block_size=4KB。文件头保留16个数据块,即64KB。
db_block_size=8KB,文件头保留8个数据块,即64KB。


db_block_size=16KB,文件头保留4个数据块。即64KB。
db_block_size=32KB,文件头保留4个数据块。即128KB。

--为什么不是64kb?
默认是db_block_size=8KB,此时 ORACLE数据文件头的8个数据块作用是:

数据块1和2记录数据文件头信息。3-8用于记录extent-区间的位图信息 

extent management local uniform size 256K--分配每一个extent最小包括256k个block,size最小为8.

分配每一个extent最小包括X个block?

如果db_block_size=16KB,文件头保留4个数据块,即64KB。

4M<=X*64k*8

X>=8

--每一个数据文件最大有4M个块,保留数据块中每一个bit表示X个block的使用状态,保留数据块须要存储4M个块的状态。



表空间支持的最大数据文件大小的算法:

分两种情况:smallfile tablespace与bigfile tablespace

smallfile tablespace的ROWID

记录存储所属数据库对象。所在数据文件(file#),所在数据块中的行号,这些属性合并起来构成了ORACLE ROWID.
ORACLE ROWID分为物理ROWID,逻辑ROWID。--?

?
索引组织表(IOTs)使用逻辑ROWID,其他类型的表使用物理ROWID。
ROWID能够惟一标识一条记录,所以索引中存储了ROWID的值。通过訪问索引。得到ROWID,再定位到记录。

ROWID採用Base64编码,共18位代表80位二进制数。占用10个字节。

--1Byte=8bit
每组字符代表不同的含义,18位最大寻址空间“32G”。。--??
对一条行ID的解析:OOOOOO.FFF.BBBBBB.RRR   --rowid结构6-3-6-3
OOOOOO: 1-6位:对象id--一般指的就是段编号
FFF:    7-9位:文件id
BBBBBB: 10-15位:块id
RRR:    16-18位:行id
对于Base64编码,共18位代表80位二进制数,计算方法是:
32bit obj# + 10bit file#  + 22bit block#  +  16bit row#

通过ROWID计算数据块的相关

http://blog.csdn.net/hughwang1216/article/details/12927701

http://blog.csdn.net/hughwang1216/article/details/11871305


最大数 算法 备注 实验測试
每一个表空间最大文件数  2^10[1K] 去掉全0 1023
每数据文件最大数据块数量 2^22-1[4M] 去掉全0 4194304
每一个BLOKC中行数 2^16[64k] 去掉全0  
数据库对象最大数 2^32[4G] 去掉全0  



错误:每一个数据库最多64K个数据文件。最多支持64K个表空间。由于每一个表空间最少须要包括一个数据文件。

更正:每一个数据库最多64K个数据文件。小表空间最多支持64个表空间。大表空间最多支持65k个表空间。由于大表空间的每一个表空间仅仅有一个数据文件。Oracle为了保证小表空间的每一个空间能够容纳1023个数据文件,所以在表空间个数上做了限制也就是64k/1023约等于64个表空间。

--官方文档上是65533--怎么算出来的??


引出新问题:假设数据库有大于1024个数据文件,ORACLE怎样通过ROWID定位数据文件呢? 

在超过1023个数据文件后,oracle就会保证在整个数据库内file_id是唯一的,在单个表空间中relative_fno是唯一的。

那么这时就会存在一个问题,不同表空间中的具有同样相对文件号数据文件oracle是如何区分开来的那?

32bit obj# + 10bit file#  + 22bit block#  +  16bit row#依照以下理解

data_object_id,rfn,block#,row#。

一个数据文件仅仅能属于一个表空间,通过data_object_id 和数据字典视图的结合,oracle能够知道指向的是那一个表空间。从而将rfn转换为file_id,从而也就能够准确的进行行定位。

data_object_id(通常是段编号) ->属于哪个表空间->relative_fno->file_id



更具体的数据库限制见官方文档:http://docs.oracle.com/cd/B19306_01/server.102/b14237/limits.htm#REFRN004--??


BIGFILE表空间的ROWID

由于大文件表空间仅仅能包括一个文件,所以ROWID中不须要file#-文件ID。
大文件表空间的ROWID格式为:
OOOOOO.LLLLLLLLL.RRR
OOOOOO: 1-6位:对象id
LLLLLLLLL: 7-15位:块id
RRR:    16-18位:行id

L代表BLOCK号,取代了小文件表空间中ROWID中的file#  +  block#的位置.

对于Base64编码,共18位代表80位二进制数。计算方法是:

32bit obj# + 32bitfile&block#   +  16bit row#

这样大文件表空间的数据文件支持的BLOCK数量最多是:2^32=4G. 



smallfile tablespace设置不同大小的db_block_size时数据文件同意的最大大小

db_block_size=2KB,2KB*4M=8192M      8G
db_block_size=4KB,4KB*4M=16384M     16G
db_block_size=8KB,8KB*4M=32768M     32G     8*1024*4M=8*4G=32G
db_block_size=16KB。16KB*4M=65536M   64G
db_block_size=32KB,32KB*4M=131072M   128G


bigfile tablespace设置不同大小的db_block_size时数据文件同意的最大大小

db_block_size=2KB,2KB*4G= 8T
db_block_size=4KB。4KB*4G= 16T
db_block_size=8KB,8KB*4G= 32T        8*1024*4G=8*4TB=32TB
db_block_size=16KB,16KB*4G= 64T
db_block_size=32KB,32KB*4G=128TB


【表空间支持的最大数据文件大小的算法】【数据库限制】【数据文件文件头保留数据块数】

标签:idt   lan   bit   一个数据库   .net   官方文档   byte   family   lock   

热心网友 时间:2022-04-10 00:27

CREATE TABLESPACE hscon DATAFILE '/u01/app/oracle/oradata/riskc/hscondat.dbf' SIZE 10M REUSE AUTOEXTEND ON NEXT 1280K MINIMUM EXTENT 128K DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
oracle表空间最大可用率

32G。ORACLE的物理文件最大只允许4194304个数据块,表空间数据文件的最大值为32G,默认oracle表空间数据文件用的BLOCKSIZE是8k。OracleDatabase,又名OracleRDBMS,或简称Oracle,有64位linux和64位oracle,默认每个表空间数据利用最大是32G。

linux最大支持oracle的数据文件是多大?

1、默认创建表空间时BLOCKSIZE 是8k,文件最大是32G 2、可以把BLOCKSIZE设置为16k,SQL〉alter system set db_16k_cache_size=34603008;这样一个表空间datafile最大可以到64G 3、可以把BLOCKSIZE设置为32k,这样一个表空间datafile最大可以到128G ...

ORACLE表空间最大可以设置多少

如果数据库DB_BLOCK_SIZE=32K(最大),那么以上得到130816GB(约128TB)。bigfile tablespace 每个表空间:1个数据文件*4G数据块*DB_BLOCK_SIZE 如果数据库DB_BLOCK_SIZE=8K(最常见),那么以上得到32768GB(32TB)。如果数据库DB_BLOCK_SIZE=32K(最大),那么以上得到131072GB(128TB)。

oracle表空间最大可以设多少?

每个表空间:1个数据文件*4G数据块*DB_BLOCK_SIZE 如果数据库DB_BLOCK_SIZE=8K(最常见),那么以上得到32768GB(32TB)。如果数据库DB_BLOCK_SIZE=32K(最大),那么以上得到131072GB(128TB)。如有帮助请采纳。

oracle单个数据库文件最大是多少?

1、64位linux 和64位oracle,默认oracle表空间数据文件用的BLOCKSIZE是8k,表空间数据文件最大是32G。\x0d\x0aSQL&gt;show parameter k_cache_size\x0d\x0a查看数据库默认的块大小\x0d\x0aSQL&gt; show parameter db_block_size\x0d\x0adb_block_size integer 8192\x0d\x0a2、为了让一...

oracle 数据文件太大 有什么问题

oracle的数据文件最大大小是根据数据库中block大小定的。11g为例,创建的表空间默认block大小都是8K,每个数据文件中最可可以拥有4M个数据块。每个表空间中最多可以拥有1022个数据文件 也就是说8K block大小的表空间,最大约为32T , 单个数据文件最大约为32G。当然你也可以创建bigfile类型的表空间。该...

最大的文件有多大?怎么办?

oracle中数据文件的大小是有限制的,就是 每个数据文件最多只能包含2^22-1个数据块 对于2k的块的数据文件,最大的数据文件是8g 32k块的数据文件,最大的数据文件是16*8g 如果超过了这个限制,在创建的过程中会报错 SQL&gt; show parameter block_size NAME TYPE VALUE --- --- --- db_bloc...

oracle能管理多大空间

/data1/test_ts1.dbf这个文件最大就能存32G,如果超过32G,可以增加表空间文件 alter TABLESPACE TEST add DATAFILE '/data1/test_ts2.dbf' SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED;4、为了让一个表空间数据文件存64G,你需要告诉oracle用BLOCKSIZE 是16k 比如:CREATE TABLESPACE TEST...

Oracle 表空间BYTES=MAXBYTES时是不是就不能再写入数据了?

oracle数据库的表空间每个数文件(smallfile(就是一般我们创建的数据文件)),一般认为只能有4M个数据块(假设你的block大小为8K,那么每个数据文件最大的大小就是32G)当然如果是bigfile表空间那么就大了(最多4G个数据块,还以8K为例,那么就是32T,但是因为操作系统级别的文件限制最终可能不能到这么...

oracle 导出时文件太大时怎么样办

oracle的数据文件最大大小是根据数据库中block大小定的。11g为例,创建的表空间默认block大小都是8K,每个数据文件中最可可以拥有4M个数据块。每个表空间中最多可以拥有1022个数据文件 也就是说8K block大小的表空间,最大约为32T , 单个数据文件最大约为32G。当然你也可以创建bigfile类型的表空间。该...

表空间与数据文件的关系 增加表空间数据文件 给表空间增加一个数据文件 oracle删除表空间和数据文件 oracle表空间和数据文件关系 表空间删数据文件 如何删除表空间及数据文件 查询表空间数据文件 创建数据库表空间
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么软件借钱容易审核过 wifi监控摄像头能监控到我上网浏览的内容吗? 中国岛屿绝大部分分布在()以南的海域? 体温正常,医生看喉咙也没事,就是喉咙左侧疼的厉害,跟针扎一样疼,扭动脖... 被骗在借条上签名了怎么办呢 喉咙里面左边疼,感觉吞口水或喝水疼,右边没事,就喉咙左边疼啊,有点肿... 因为受骗而写的借条有法律效果吗? 嗓子左边疼… 被骗打借条不放款我应该怎么办? 被骗写借条会怎么处理 华为nove5ipro? 是nova5pro的40万瓦快充好还是荣耀20pro的啊22.5万瓦好? 求adobe flash professional cs6 序列号 flashcs6安装包+序列号 求Adobe Flash Professional CS6序列号 flash cs6序列码 flash cs6序列号h或者破解码 知道的告诉一下谢谢; 为什么我支付宝注销了,然后新注册的支付宝说我该身份累计验证的账号到上限,但是我实名的账号只有一个 老人90岁了现在不能吃饭喝水每天打吊瓶老是睡觉不知说话怎么办 adobe flash professional cs6 序列号 90岁老人一会一睡觉正常吗?挺能吃饭,饭量好,就是一会一睡觉,走路慢 求助 需要Adobe Flash CS6的序列号 手机号码注册支付宝,然后又不用了又被注销了,显示手机号码被注册上限怎么解决? 90岁老人 老是睡觉 不想吃饭 不想说话 有什么办法 谁有adobe flash professional cs6序列号 老人90岁,突然变得爱睡觉,拒绝吃喝怎么办 注销支付宝后,再次注册提示手机号近期注册达到上限。 flash cs6 序列号 将近90岁的老人多觉好不好 90多岁的老人为什么睡了一天一夜还不起床什么状况? 重庆有哪些地方可以爬山哦? 深圳宝安区内有什么地方可以爬山观景的的? 电脑连不上无线,DNS服务器未响应怎么弄 文案提取快手能查到吗 单招的一分一档是个什么意思 求解 高考成绩一分一档统计表什么意思 急!!一分一档怎么看?每一栏代表什么? cco证书是不是财政局颁发的 什么是cco? 首席文化官? 加拿大计算机竞赛ccc 获奖比例 WPF,如何让程序中的所有控件都抗锯齿 王蒙老师请进,CSCO和错误的CCO绑定,如何解除绑定? 中国下午2点半,法兰克福几点 法兰克福14.30北京时间是几点? 在WPF中,如何最快的遍历所有同类的控件 法兰克福和北京的时差 法兰克福6点相当于北京几点 法兰克福哪个时区 新鲜楠竹笋用小苏打煮可以吗 帮我收集一些常见的英语简写