语法: 本地化管理的表空间的创建过程:
语法:CREATE TABLESPACE 表空间名字 DATAFILE ‘数据文件详细信息‘ [EXTENT MANAGEMENT { LOCAL {AUTOALLOCATE | UNIFORM [SIZE INTETER [K|M] ] } } ]
先来看一个创建表空间的参数:
CREATE TABLESPACE testdata DATAFILE ‘/oracle/oradata/orcldb/test.dbf‘ SIZE 250M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING ONLINE PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON;
01. LOGGING
LOGGING 这个是默认的参数, 指定表,视图,索引等的 loging 属性。
该属性针对 undo 和 temporary 表空间不启作用。
在表空间级别设置的 logging 属性可以被表等对象自身的属性覆盖。
02.PERMANENT
该选项主要用于指定表空间的类型, permanent 表示永久的,不写默认就是永久,如果是其他类型,则写 temporary 或者 undo。 如果是创建 SYSAUX 表空间,则必须指定 extent managent 类型和 segment space management 类型。
03.extent managent
根据表空间中区的管理方式不周,表空间可以分为数据字典管理( Dictionary managed) 与本地化管理( Local Managed) 类型。
在数据字典管理表空间中,区大小由参数:initial, next, minextents, maxextents, pctincrease 决定。
在本地化管理中,区大小设置方式分为 uniform 及 autoallocate 两种类型。 Uniform:区的大小相同。如果设置了 uniform 则 pctincrease 自动为 0。比如:uniform size 128k。
Autoallocate:区大小 oracle 自动分配
如:
extent managent local uniform size 1M
在 8i 中,字典管理还是默认的管理方式,当选择了 LOCAL 关键字,即表明这是一个本地管理的表空间。当然还可以继续选择更细的管理方式:是 AUTOALLOCATE 还是 UNIFORM.。若为 AUTOALLOCATE,则表明让 Oracle 来决定区块的使用办法;若选择了 UNIFORM,则还可以详细指定每个区块的大小,若不加指定,则为每个区使用 1M 大小。
当自动分配时,发现开始第一个区分配8个块(64K), 到17区开始, 每个区分配128个块(大小1M). 我做过实验当 initial 足够大时, 第一个区的大小不一定都是 64K, 可以是 1M, 8M, 64M 甚至是 256M.
1. ORACLE 通过强制性的手段使本地管理表空间中的所有 Extent 是同样大小的, 尽管可能自定义 了不同的存储参数.
2. 在自动分配的本地管理的表空间中, 区间尺寸可能由以下尺寸组成 64K, 1M, 8M, 64M 甚至是 256M. 但是不管多大, 都有一个通用尺寸 64k, 所以 64K 就是该表空间的位大小.
Oracle9i 之前的,通常是数据字典管理。 Oracle9i 及以后,通常使用本地化管理表空间。
原文地址:https://www.cnblogs.com/black-start/p/11015757.html