1 Pctused and pctfree 表示什么含义有什么作用
! c# S" a O* {4 h* Mpctused与pctfree控制数据块是否出现在freelist中, pctfree控制数据块中保留用于update的空间,当数据块中的free space小于pctfree设置的空间时,该数据块从freelist中去掉,当块由于dml操作free space大于pct_used设置的空间时,该数据库块将被添加在freelist链表中。 ' g& O, ]5 f! i3 E% X
! ~* ]" M) N& N3 z0 r
2 简单描述tablespace / segment / extent / block之间的关系
& y3 [6 N$ A! H9 b$ c' S% }tablespace: 一个数据库划分为一个或多个逻辑单位,该逻辑单位成为表空间;每一个表空间可能包含一个或多个 Segment;
/ a6 m( w/ n& }' Q F# uSegments: Segment指在tablespace中为特定逻辑存储结构分配的空间。每一个段是由一个或多个extent组成。包括数据段、索引段、回滚段和临时段。 , ^9 m7 D0 A. M* u$ c
Extents: 一个 extent 由一系列连续的 Oracle blocks组成.ORACLE为通过extent 来给segment分配空间。
( U) ^( J# U9 U" k9 n% Q& iData Blocks:Oracle 数据库最小的I/O存储单位,一个data block对应一个或多个分配给data file的操作系统块。 ) t4 `3 S1 m9 R0 W0 H
table创建时,默认创建了一个data segment,每个data segment含有min extents指定的extents数,每个extent据据表空间的存储参数分配一定数量的blocks |