大家都知道Oracle的表空间是通过segment的方式来管理相应的对象,比如数据段,索引段,临时段等等,当在数据库中创建相应对象后,必然会在产生一个segment. 对于LOB字段也是这样的,新建一个LOB字段,必然会在数据库中产生一个LOB segment和相应的index segment. Oracle会对他们进行单独的管理,如果要建立一个包含LOB段的table, oracle会最少建立几个段呢?
下面来做个实验:
C:\>sqlplus /nolog
SQL*Plus: Release 9.2.0.8.0 - Production on 星期五 6月 13 16:11:26 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn alan/passw0rd@abc
已连接。
SQL> select segment_name,segment_type from dba_segments
2 where wner='ALAN';
未选定行
SQL> create table test_lob
2 (id blob,
3 name clob);
表已创建。
SQL> select segment_name,segment_type from dba_segments
2 where wner='ALAN';
SEGMENT_NAME
--------------------------------------------------------------------------------
SEGMENT_TYPE
------------------
TEST_LOB
TABLE
SYS_IL0000026870C00001$$
LOBINDEX
SYS_IL0000026870C00002$$
LOBINDEX
SEGMENT_NAME
--------------------------------------------------------------------------------
SEGMENT_TYPE
------------------
SYS_LOB0000026870C00001$$
LOBSEGMENT
SYS_LOB0000026870C00002$$
LOBSEGMENT
SQL> drop table test_lob;
表已丢弃。
SQL> select segment_name,segment_type from dba_segments
2 where wner='ALAN';
未选定行
基本上就是这样
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12361284/viewspace-345695/,如需转载,请注明出处,否则将追究法律责任。