【LOB】使用USER_LOBS视图获得当前用户包含LOB字段的表

包含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/

原文地址:https://www.cnblogs.com/future2012lg/p/4532488.html