oracle extent autoextend segment之间的关系

原创 2017年02月08日 16:13:19

首先看下oracle的逻辑结构
这里写图片描述
请注意绿色的线的关系,一个segment[段]可以跨多个数据文件的。例如一张表可能存储在多个数据文件中。
一个数据文件由一个或者多个extent[区]组成。
这是表空间的管理选项

这里写图片描述

  1. 表空间 由 segments->extents->dbblock组成
    block的个数和大小由segments管理选项决定。
    一般默认的是auto的,不用制定prtfree的参数。
    如果要是手动去制定则要制定块的大小和个数,这里有严格的要求。
  2. extent和autoextend
    前者是构成表空间的元素
    autoextend选项则是表空间自动扩展的属性,所以不能混淆。

eg:

15: You executed the following command to create a tablespace called SALES_DATA:
SQL> CREATE TABLESPACE sales_data DATAFILE SIZE 100M
SEGMENT SPACE MANAGEMENTAUTO;
Which two statements are true about the SALES_DATA tablespace? (Choose two.)
选项
A.The database automatically determines the extent-sizing policy for the tablespace.
B.The segments are automatically shrunk when the contents are removed from them.
C.The allocation of extents within the tablespace is managed through the dictionary tables.
D.The space utilization description of the data blocks in segments is recorded in bitmap blocks.
E.The space utilization description of the data blocks in segments is managed through free lists.

AD

这题是考得选项的默认值,extent management的的默认选项是local.所以c是错误的。
segement的默认值是auto用的是bitmap来管理块的所以E是错误的。
prtfree 10的意思是dbblock的快用到90%则使用其他的快,它的值影响segement的大小,如果光是删除数据的话
是影响不到segement的。(牵强些的解释)

3.一个数据库可以有不同块大小的表空间,一个表空间可以有不同大小的段。

(1)不同块大小的表空间

alter system set db_16k_cache_size=1 scope=both;
SQL> create tablespace tbs_test_16
  2  datafile 'D:\APP\ORADATA\IWHM\test01.DBF' size 128m
  3  blocksize 16k;
Tablespace created.

(2)一个表空间可以有不同大小的段.

每个段至少包含8个块。

eg:
139. Which two statements are true regarding a tablespace? (Choose two.)
A.It can span multiple databases.
B.It can consist of multiple data files.
C.It can contain blocks of different sizes.
D.It can contain segments of different sizes.
E.It can contain a part of a nonpartitioned segment.

BD

c ,一个表空间应该只有一个尺寸的block,要么就是标准块要么非标准块。

版权声明:本文为博主原创文章,未经博主允许不得转载。

表空间对应文件的AUTOEXTEND ON NEXT指定的值对性能的影响

创建表空间的时候指定的数据文件可以设为自动扩展,以及每次扩展多少容量,如果发现在大数据量插入的时候非常慢,可能的原因是NEXT指定的值太小. 下面来模拟一下这个过程: 1,创建一个表空间: CR...
  • kkdelta
  • kkdelta
  • 2012年08月30日 14:50
  • 5857

oracle設置數據文件自動擴展(autoextend的方法與利弊分析)

1.数据文件自动扩展的好处1)不会出现因为没有剩余空间可以利用到数据无法写入2)尽量减少人为的维护3)可以用于重要级别不是很大的数据库中,如测试数据库等2.数据文件自动扩展的弊端1)如果任其扩大,在数...

程序或-内存区域分配(五个段)--终于搞明白了

各个段的作用

tablespace和datafile之间的关系

tablespace是逻辑上的概念,datafile是物理上的概念。 一个tablespace可以由多个datafile组成,一个datafile不能跨越多个tablespace。table中的数据...

ORACLE数据文件(autoextend on)上限

1、smallfile       Oracle的限制,如果要建普通的datafile,最大的大小就是 (2^22-1)*32K = 128G (注:Oracle最大支持block为32k)。存在...

oracle表空间操作详解

oracle表空间操作详解 (2012-04-15 19:47) 分类: Oracle 1.创建表空间: create tablespace datafile '' s...

Oracle 自动段空间管理(ASSM:auto segment space management)

一. 官网说明 Logical Storage Structures http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/...

表空间(tableSpace) 段(segment) 盘区(extent) 块(block) 关系

Oracle表空间(tableSpace)、段 (segment)、盘区(extent)、块(block),这些都是Oracle用来保存数据库对象的分配单元   段 就是数据库对象,它...

Oracle Block Extent Segment Tablespace

Oracle Block Extent Segment Tablespace的测试 1,Extent管理中出现的问题 当正常使用默认参数建立tablespace,table后,我们可以看见exte...
  • deanza
  • deanza
  • 2012年07月15日 03:07
  • 754

Block,extent,segment介绍

oracle存储的最小粒度是data block,处于data block之上的逻辑数据库空间是extent,位于extent上的segment。 oracle为segment分配空间...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle extent autoextend segment之间的关系
举报原因:
原因补充:

(最多只允许输入30个字)