oracle数据库表空间(段、区、块)讲解和表空间扩展

本文详细介绍了数据库中表空间、数据段等基本概念,阐述了不同表空间类型(smallfiletablespace与bigfiletablespace)的特性,并提供了解决数据库容量限制的方法,包括增加表空间数据文件、允许数据文件自动增长以及手动调整数据文件大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >




基本关系:数据库---表空间---数据段---分区---数据块---操作系统块

 

smallfile tablespace

 

一个表空间最多包含210 – 2 =1022个数据文件;

一个数据文件的大小由db_block_sizedb_block数据块数量决定;

oracle的物理文件(db_block)最大只允许4M数据块=4096x1024=4194303个数据块(由操作系统决定))

数据库实例的db_block_size默认是8KB;

一个表空间最大为: 1022x8x4194303=34292621328KB           约为 32TB

如果db_block_size32KB                                                             约为128TB

单个数据文件最大为:8x4194303=33554424KB                       约为32G

如果db_block_size32KB                                                           约为128G

 

 

bigfile tablespace

 

一个表空间只能有一个数据文件

支持最大物理文件个数(db_block4G个数据块

那么默认db_block_size=8KB    

表空间最大32TB(也就是一个数据文件32TB

db_block_size=32KB

表空间最大128TB(也就是一个数据文件128TB

注意此表空间没有扩容的余地。

 

 

smallfile tablespace扩展表空间的方法:

  1. 增加表空间数据文件

    ALTER TABLESPACE  表空间名 ADD DATAFILE '数据文件路径'  SIZE 20G AUTOEXTEND  ON  NEXT 500M MAXSIZE UNLIMITED

  如果是ASM:ALTER TABLESPACE  表空间名 ADD DATAFILE  '+DATA'   SIZE 20G AUTOEXTEND  ON;


2允许已存在的数据文件自动增长

  ALTER DATABASE DATAFILE '数据文件路径'AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;

 

  1. 手工改变已存在数据文件的大小

    ALTERDATABASE DATAFILE '数据文件路径'
    RESIZE 20G;





联系邮箱:qrcg92@foxmail.com


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值