oracle表和段关系

TABLE &SEGMENT RELATIONSHIP:
一个表可以对应一个或者多个段,最简单的情况是一个表对应一个段。一般情况下创建一个表也就是创建一个表段,下面包含区,区下面又划分为块。这是一般的存储结构。也有例外情况。如:


会话1:
新建用户
SQL> create user user1 identified by user1;

User created.

SQL> grant connect,resource to user1;

Grant succeeded.

SQL> conn user1/user1;
Connected.
在新用户下查看段情况
SQL> select segment_name,segment_type from user_segments;

no rows selected

SQL> create table t (x int primary key,y clob,z blob);

Table created.
当创建完第一个表后在看一下段使用情况
SQL> col segment_name format a30
SQL> col segment_type format a10
SQL> select segment_name,segment_type from user_segments;

SEGMENT_NAME                   SEGMENT_TY
------------------------------                       ----------
SYS_C006061                                     INDEX
SYS_IL0000053473C00003$$       LOBINDEX
SYS_LOB0000053473C00003$$  LOBSEGMENT
SYS_IL0000053473C00002$$       LOBINDEX
SYS_LOB0000053473C00002$$   LOBSEGMENT
T                                                              TABLE

6 rows selected.

SQL> 
说明:在这里创建了一个表,但是是这个表不仅仅是对应一个段而是多个。表自己创建了一个段,主键索引创建了一个索引段,每个LOB列分别创建两个段,一个用来存放大对象所指的实际数据块,一个用来组织这些数据块。 LOB存储在LOGSEGMENT块中,LOGINDEX用来跟踪这些块在那里

如果创建一个空表什么也不加,没有主键,约束等。如:

SQL> create table user1(id int,name varchar2(50));

Table created.

SQL> select segment_name,segment_type from user_segments;

SEGMENT_NAME                   SEGMENT_TY
------------------------------ ----------
USER1                          TABLE   【这里就是一个表对应一个段的情况】
SYS_C006061                    INDEX
SYS_IL0000053473C00003$$       LOBINDEX
SYS_LOB0000053473C00003$$      LOBSEGMENT
SYS_IL0000053473C00002$$       LOBINDEX
SYS_LOB0000053473C00002$$      LOBSEGMENT
T                              TABLE

7 rows selected.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值