LOB欄位在Oracle中的存放方式。

oracle_ace發表於2008-06-13
      大家都知道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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章