重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1502|回复: 0
打印 上一主题 下一主题

[Oracle] ORACLE创建超大表空间文件

[复制链接]
跳转到指定楼层
楼主
发表于 2023-3-5 17:59:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在oracle10g中,推出了Bigfile tablespace的概念。表空间Tablespace从Oracle 10g以后就分为两个类型,smallfile tablespace和bigfile tablespace。过去一个表空间对应多个数据文件我们称为Smallfile Tablespace。

所谓Bigfile Tablespace最显著的差别就是一个表空间只能对应一个数据文件。Bigfile Tablespace虽只对应一个数据文件,但数据文件对应的最大体积大大增加。传统的small datafile每个文件中最多包括4M个数据块,按照一个数据块8K的大小核算,最大文件大小为32G。每个Small Tablespace理论上能够包括1024个数据文件,这样计算理论的最大值为32TB大小。而Bigfile Datafile具有更强大的数据块block容纳能力,最多能够包括4G个数据块。同样按照数据块8K计算,Bigfile Datafile大小为32KG=32TB。理论上small tablespace和big tablespace总容量相同。

1、实例
create bigfile tablespace test1 datafile ‘/data/oracle/TEST1.dbf’ size 128m AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED;

2、select tablespace_name, bigfile from dba_tablespaces;
TABLESPACE_NAME BIG


BTTEST YES
3、创建bigfile tablespace的时候,就已经指定了数据文件。如果此时我们尝试加入一个新的数据文件,Oracle系统会报错。
alter TABLESPACE test2 add DATAFILE ‘/data/oracle/TEST2.dbf’ size 128m AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED
*
ERROR at line 1:
ORA-32771: cannot add file to bigfile tablespace
4、修改数据库默认的表空间类型:
ALTER DATABASE SET DEFAULT smallfile TABLESPACE
ALTER DATABASE SET DEFAULT bigfile TABLESPACE;
SELECT * FROM database_properties WHERE property_name = ‘DEFAULT_TBS_TYPE’;
这种情况下,如果我们创建表空间的时候不指定类型,那么默认创建的都是 SMALLFILE 类型的表空间。

5、db_block_size默认为8k,理论上我们可以创建最大 32T
desc DBA_TABLESPACES    
SHOW parameters db_block_size     
db_block_size  integer   8192
oracle文件最大容量:
发现表空间文件容量与DB_BLOCK_SIZE有关,
在初始建库时,DB_BLOCK_SIZE要根据实际需要,
设置为4K,8K、16K、32K、64K等几种大小,
ORACLE的物理文件最大只允许4194304个块(由操作系统决定),
smallfile tablespace表空间文件的最大值为 4194304×DB_BLOCK_SIZE/1024M。
即:
4k最大表空间为:16384M=16G
8K最大表空间为:32768M=32G
16k最大表空间为:65536M=64G
32K最大表空间为:131072M=128G
64k最大表空间为:262144M=256G
alter system set db_16k_cache_size=32m;
alter system set db_32k_cache_size=32m;
6、大文件表空间从某种角度来说提高了 Oracle 在 VLDB 上的管理能力。
只有自动段空间管理的 LMT (Locally Managed Tablespaces ) 支持 BIGFILE 表空间。
大文件表空间只能包含一个文件,但是文件可以达到 4G 个数据块大小。
(以下用 BFT 指代 BIGFILE Tablespace。BFT 可以和以下存储技术结合使用:
自动存储管理(ASM)   LVM   OMF   
理论上的 BFT 可以达到下面所列的值:     
数据块大小(单位:K) BFT 最大值(单位:T)   
2k 8T   
4k 16T   
8k 32T   
16k 64T   
32k 128T     
在实际环境中,这还受到操作系统的文件系统的限制。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-25 21:40 , Processed in 0.117476 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表