segment type:table
index
table partition ---物理存储在不同的segment中,逻辑在一个segment中
cluster
index-organized table ----iot,数据是有序存放
undo segment
index partition
temporary segment --031-9 七分钟
lob segment(blob,clob)---可以认为它只是在表中的一个指针,真正数据在另外一个地方
nested table--把另外一个表作为一个表的列,视为逻辑上的行,实际上它是一个表
bootstrap segment ---用于oracle 启动和初始化,不用关心它
database--tablespace-segment ---关于它的存储参数优化级,也就是存储参数三个等级
create table zxy (id int)
tablespace users
storage(initial 100k next 100k);---初始分配的block_size的5倍,也就是40k
extent allocation and deallocation:
create ---initial
extented ---
altered --- 强制进行空间分配,segment可以跨数据文件,不可以跨表空间
alter table allocate extent(size 1m datafile '');---此处这个数据文件要对应对象所处的表空间
alter table zxy deallocate unused keep x;--free未用的分区
北京wisdom(932614463) 10:30:19
有个问题,请问要oracle10g中要是对一个表delete了,哪它的空闲空间,是自动free出来吧,不用和9i一样,
alter table zxy deallocate unused.这样才可以显式free 给os,其他可以重用这个空间,因为10g是采用bitmap管理了,是自动的对吧
君三&思 <
junsansi@hotmail.com> 10:30:57
不是~
君三&思 <
junsansi@hotmail.com> 10:31:08
hwm在10g中没有任何变化
北京wisdom(932614463) 10:31:19
哪大师的意思是
|▌情流感﹎(156053801) 10:31:23
……
blessedness(13537959) 10:31:36
truncate,或move
北京wisdom(932614463) 10:31:42
谢谢
君三&思 <
junsansi@hotmail.com> 10:31:49
hehe
blessedness(13537959) 10:31:53
deallocate unused 回收hwm后的
【Simple】(106127598) 10:32:00
truncate
北京wisdom(932614463) 10:32:12
truncate是重置了hwm
SQL> select * from mv;
no rows selected
SQL> insert into mv values(1);
1 row created.
SQL> insert into mv values(3);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from mv;
A
----------
1
3
SQL> truncate table mv;
Table truncated.
SQL> flashback table mv to before drop;
flashback table mv to before drop
*
ERROR at line 1:
ORA-38305: object not in RECYCLE BIN
create tablespace zxy datafile size blocksize xk;--在表空间级配置block size
block structure:
header ---从上往下
freespace --中间是自由空间值
data --从下往上
block storage:针对每个block的空间利用
initrans --1 to 255
maxtrans
pctused --当数据删除还有多少百分比,可以重新插入数据了,pctfree和pctused和freelists交互
pctfree ---为block以后更新reserved 的空间,否则造成行迁移,(真正数据不在老块,在新块了)
当向block存储数据时,预留多少空间,为以后update
assm ---automatic segment space management,要是有大的blob, 不能使用它