Home > Database > Mysql Tutorial > Oracle 区管理和段空间管理小结

Oracle 区管理和段空间管理小结

WBOY
Release: 2016-06-07 17:22:53
Original
998 people have browsed it

Oracle 区管理和段空间管理小结,区管理实际上就是表空间的管理,8i以前,是字典管理表空间,当创建或删除对象时,Oracle的空间分

作为一名DBA,常见的一个场景之一:

创建表空间:

create tablespace Think 
datafile '/u01/app/Oracle/oradata/orcl/think.dbf' size 100M 
autoextend on next 10M maxsize 4096M 
extent management local uniform size 256K 
segment space management auto;

创建用户:

create user bin 
default tablespace Think 
temporary tablespace temp; 

授予权限:

grant connect,resource to bin; 
revoke unlimited tablespace from bin; 
alter user bin quota unlimited on Think; 

在这个场景中,,有两条语句:

① extent management local uniform size 256K

② segment space management auto

其中,前者是区管理;后者则是段空间管理

㈠ 区管理

区管理实际上就是表空间的管理

8i以前,是字典管理表空间,当创建或删除对象时,Oracle的空间分配或回收是通过数据字典来记录和管理

在高并发系统中,这会导致性能衰减、空间碎片等难题

这已经是门过去的技术,这里就不赘述了。

8i开始,Oracle引入本地表空间管理

在每个表空间的数据文件的头部加入了一个位图区域

一个段的第一个区的第一个块是first level bitmap block

第二个块是second level bitmap block

第三个块才是段头块

这两个块是用来管理free block

语法:

extent management local { autoallocate | uniform size n K/M}

是自动分配还是统一尺寸

若为自动分配,则Oracle会按照递增算法来分配空间

如果选择统一尺寸,还可以详细指定每个区间的大小

dba_extents这个视图可以看到哪些对象分配了多少区间

linux

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template