2010-01-05 08:54
129人阅读
收藏
举报
extent--最小空间分配单位 --tablespace management
block --最小i/o单位 --segment management
create tablespace james
datafile '/export/home/oracle/oradata/james.dbf'
size 100M --初始的文件大小
autoextend On --自动增长
next 10M --每次自动增长大小
maxsize 2048M --最大文件大小
extent management local --表空间采用本地表空间管理
uniform size 128k --uniform设置extent每次分配的大小统一为128k(如果是db_block_size=8k
,则每次分配16个块)
--如果不指定大小,则为1M,即为1024/8个block
--autoallocate设置extent大小由系统自动分配
--不管系统大小分配为多少,但统一尺寸是64k(在bitmap中标记位的大小)。
--autoallocate在dba_extents中的allocation_type中显示为 SYSRTEM
segment space management auto;
--segment中的block管理有两种:MSSM(Manual Segment Space Management),
ASSM(Auto Systemt Space Management)
--Auto 模式时只有pctfree参数起作用
--Manual 模式时freelist,pctfree,pctused参数起作用。
Tablespace 管理方式有两种:(管理extent)
1 数据字典空间管理 dictionary managed tablespace
通过管理两个主要的数据字典表,UET$(Used EXtends) 和FET$(Free EXtends)来实现
在9i以后已淘汰
缺点:1 并发访问争用
2 产生大量redo undo
3 空间碎片
2 本地表空间管理 Local managed tablespace
位图管理
数据文件头部加入位图区域
extent management local
具体空间分配方式:
1 autoallocate ----allocation_type=system
2 uniform ----allocation_type=uniform
ALLOCATION_TYPE 这个值有3个选项:
1、system:一旦设定该值,next_extent将为空,只有extents值。该值是默认值。这个选项的最小是64K
2、
user:一旦设定该值,就允许我们可以控制next_extent了。只有两种情况出现users:一是该ts是数据字典管理的;另外一个是该ts是从
数据字典管理转移到local的(用dbms_space_admin.tablespace_migrate_to_local)
3、uniform:将标明所有的extent的大小将一致,temp表空间只能采用这个方式;以上两个情况的extent的大小将不一致;uniform中的默认值为1M
未使用过的tablespace中新建第一个表t1
james@O10G>create table t1 (x int);
Table created.
sys@O10G>select extent_id,file_id,blocks,block_id,owner from dba_extents where owner='JAMES';
EXTENT_ID FILE_ID BLOCKS BLOCK_ID
OWNER
---------- ---------- ---------- ---------- ------------------------------
0 7 16 9
JAMES
bolck_id直接从9开始,前面的8个block留作他用
1-2位
是文件头信息
3-8位 是位图信息
dump 出这个文件头看看
主要信息如下
File Space Bitmap Block:
BitMap Control:
RelFno: 7, BeginBlock: 9, Flag: 0, First: 1, Free: 63487
已经分配了1个extent 还有63487是free可以使用的
Segment 管理方式有两种:(管理Block)
1 MSSM(Manual Segment Space Management)
2 ASSM(Auto Systemt Space Management)
1 MSSM(Manual
Segment Space Management)
通过在segment的段头分配自由列表(freelist)
来管理block
通过两个参数 pctfree pctused来管理block如何进出freelist
pctfree 值表示预留多少%的block空间用于更新
pctused 值表示低于这个值是,block会重新加入到freelist上
通过dba_tables,dba_indexes查看freelist,pctfree,pctused等参数的设置
2 ASSM(Auto
Systemt Space Management)
通过在segment的段头分配位图(bitmap)
来管理block
不再需要freelist
不在需要pctused,因为不需要从freelist上摘除block。
前面提到了数据文件上block1-2是数据头文件,block3-8是extent的位图。
block9-10是ASSM的block的一级和二级位图。
ASSM最大支持三级为图,但是一般非常难见到使用三级目录的
分享到:
相关推荐
oracleDBA表空间管理 表空间管理 表空间管理
oracle的本地管理表空间的技巧介绍,介绍创建本地管理表空间的一些选项。
oracle表空间管理汇总
Oracle本地管理表空间实验讲解
在 Oracle8i 之后,创建表空间都推荐使用“本地管理表空间”,这种表空间中的分区是一个固定大小的值。语法结构如下: ``` CREATE TABLESPACE 空间名称 DATAFILE '文件名 1' SIZE 数字 M [,'文件名2' SIZE 数字….] ...
前言 表空间是 Oracle 特有的一种逻辑...今天小编就从永久表空间管理和临时表空间管理两个维度,详细介绍 Oracle表空间管理的具体操作。 永久表空间管理 1.1 创建表空间 参数说明: EXTENT MANAGEMENT LOCAL AUTO
oracle Undo表空间管理,oracle 学习人员必看的不可缺少的资料。
ORACLE 空闲空间管理 PDF ,优化技巧
Oracle RAC 增加 ASM 盘, 创建表空间 Oracle RAC 是一种高可用、高性能的数据库解决方案,通过将多个服务器节点组成一个集群,提供了高可用性和高性能的数据库服务。在 Oracle RAC 中,ASM(Automated Storage ...
Oracle表空间和数据文件的管理
oracle 移动表空间,比较详细,对于管理员有一定帮助
《Oracle Spatial空间信息管理:Oracle Database 11g》是世界级Oracle Spatial专家Ravi Kothuri、Albert Godfrind和Euro Beinat自力作,旨在向您提供空间信息管理方面的概念知识和实用技能,帮助您成为该领域的专家。...
《Oracle Spatial空间信息管理:Oracle Database 11g》是世界级Oracle Spatial专家Ravi Kothuri、Albert Godfrind和Euro Beinat自力作,旨在向您提供空间信息管理方面的概念知识和实用技能,帮助您成为该领域的专家...
Oracle 表空间查询与操作方法
本书是世界级Oracle Spatial专家Ravi Kothuri、Albert Godfrind和Euro Beinat的力作,旨在向您提供空间信息管理方面的概念知识和实用技能,帮助您成为该领域的专家。书中涵盖了Oracle数据库中空间信息管理的所有内容...
Oracle数据库空间的使用和管理,里面有如何管理数据空间及使用的SQL语句
Oracle 是一种流行的关系数据库管理系统,创建数据库表空间是 Oracle 数据库管理员的一项基本任务。本文将详细介绍如何在 Linux 环境下创建和删除 Oracle 表空间及用户。 一、创建临时表空间 在 Oracle 中,临时表...
Oracle存储空间管理与应用方案.doc