Oracle学习笔记-数据库逻辑结构

database --> tablespaces --> segments --> extents --> blocks (--> os blocks)


tablespace 表空间
一个表空间可以包含一个或多个数据文件,最大1023个,每个数据文件只能属于一个表空间
表空间和数据文件之间的关系是 逻辑结构 和 物理结构 的关系
查看数据文件的视图 dba_data_files
查看临时文件的视图 dba_temp_files
数据文件有一个编号(FILE_ID)这个FILE_ID是绝对编号(操作数据文件的时候即可以使用文件名FILE_NAME也可以使用编号FILE_ID,极个别地方只能使用文件名)
查看表空间的视图 dba_tablespaces
使用数据文件和使用临时文件的差别是产生日志量是不一样的,使用临时文件产生的日志非常少(LOGGING,NOLOGGING)
表空间根据表空间里段的内容或者类型不一样可以分为三类: permanent, temporary, undo
创建表空间 create tablespace test datafile 'C:\ORADATA\TEST\TEST01.DBF' size 10M;
改变数据文件大小 alter database datafile 5 resize 20M;
创建表空间时默认数据文件是不自动扩展的
修改为自动扩展
alter database datafile 5 autoextend on next 1m maxsize 1024m (指定unlimited为不限制);


segment 段
数据库中要求存储的任何对象都被归类为段,段是用来描述对象物理使用的
段创建在指定的表空间上
表定义属于元数据是放在system表空间里的,数据是放在指定的表空间的,如果表空间offline了就会出现表不可查询但是可删除的现象
create table t(id int) tablespace test;
查看对应表空间的段 select * from dba_segments where tablespace_name = 'TEST';
段是由extent组成的
段都有段头,段头记录了段有几个extent组成
HEADER_FILE 段头所在文件号,HEADER_BLOCK 段头所在数据块 


extent 区
Oracle扩展空间是以extent为单位的,读取是以block为单位
查看segment对应的extent select * from dba_extents where segment_name = 'T';
每条数据代表一个extent
BLOCK_ID:从第几个块开始 BLOCKS: 由几个块组成
extent是由连续的block组成(逻辑上连续)


block 块
数据库块是数据库内I/O的最小单位
数据库读写数据时总是无法只读取一条记录,而是必须整个数据块
前8个块是Oracle元数据,用户是从第9个块开始使用 (10g)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值