表空间对空闲区的管理两种方式
1 数据字典管理 所有表空间上的空闲区通过数据字典集中管理(通过两张表FET$和UET$管理)
缺点:任何表空间创建对象时都要先访问数据字典(每次进行空间分配时都要更新两张字典表,会同时产生undo和redo,并发DML操作时竞争激烈)
10g以后默认本地管理
system是dictionary管理方式,我们才能创建dictionary方式管理的表空间(也能创建extents本地管理的表空间)
system是local管理方式不能创建dictionary方式管理的表空间
2 本地管理
SQL> select TABLESPACE_NAME,EXTENT_MANAGEMENT,contents from dba_tablespaces;
TABLESPACE EXTENT_MAN CONTENTS
---------- ---------- ---------
SYSTEM LOCAL PERMANENT
SYSAUX LOCAL PERMANENT
UNDOTBS1 LOCAL UNDO
TEMP LOCAL TEMPORARY
USERS LOCAL PERMANENT
EXAMPLE LOCAL PERMANENT
create tablespace tbs_dict datafile ‘/home/oracle/tbs_dict01.dbf‘ size 10m extent management dictionary;
create tablespace tbs_dict datafile ‘/home/oracle/tbs_dict01.dbf‘ size 10m extent management dictionary
*
ERROR at line 1:
ORA-12913: Cannot create dictionary managed tablespace
原因system管理方式是local