包含LOB类型字段的表往往需要特殊关照,如何快速的获得包含LOB对象的数据库表?
使用DBA_LOBS、ALL_LOBS和USER_LOBS视图可以很方便地获得包含BLOB或CLOB字段的表。
简单看一下效果。
1.创建两个包含LOB类型字段的表T1和T2
sec@ora10g> create table t1 (a clob);
Table created.
sec@ora10g> create table t2 (a blob);
Table created.
2.使用USER_LOBS视图查看SEC用户下哪些表包含LOB字段
sec@ora10g> col TABLE_NAME for a10
sec@ora10g> col COLUMN_NAME for a10
sec@ora10g> col SEGMENT_NAME for a25
sec@ora10g> col TABLESPACE_NAME for a15
sec@ora10g> select TABLE_NAME,COLUMN_NAME,SEGMENT_NAME,TABLESPACE_NAME from USER_LOBS;
TABLE_NAME COLUMN_NAM SEGMENT_NAME TABLESPACE_NAME
---------- ---------- ------------------------- ---------------
T1 A SYS_LOB0000011879C00001$$ USERS
T2 A SYS_LOB0000011882C00001$$ USERS
3.关于ALL_LOBS视图官方文档中的参考信息
sec@ora10g> desc ALL_LOBS
Name Null? Type
---------------------------- -------- ------------------------
OWNER VARCHAR2(30)
TABLE_NAME VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
SEGMENT_NAME VARCHAR2(30)
TABLESPACE_NAME VARCHAR2(30)
INDEX_NAME VARCHAR2(30)
CHUNK NUMBER
PCTVERSION NUMBER
RETENTION NUMBER
FREEPOOLS NUMBER
CACHE VARCHAR2(10)
LOGGING VARCHAR2(7)
IN_ROW VARCHAR2(3)
FORMAT VARCHAR2(15)
PARTITIONED VARCHAR2(3)
关于每个字段的解释可以参考Oracle的官方文档中的介绍,链接地址如下:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_1092.htm#i1581211
4.小结
数据库设计过程中,在不得不使用大对象的时候,我们需要的是“特殊关照”,特殊类型字段特殊处理,具体问题具体分析。
转载 http://blog.itpub.net/519536/viewspace-664203/