Heim > Datenbank > MySQL-Tutorial > Oracle 区管理和段空间管理小结

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

WBOY
Freigeben: 2016-06-07 17:22:53
Original
997 Leute haben es durchsucht

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

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage