关于segment的一个小问题

作者: admin 分类: Oracle,公众号存档            0 次浏览 发布时间: 2014-02-27 15:47

今天统计数据的时候,发现一个奇怪的小问题,通过segment去判断一个表的大小,然后查表的count,有一个表明明在,但是从segment里面去查的时候查不出来。

SQL> select distinct segment_name,to_number(to_char(sum(bytes/1024/1024/1024))) from user_segments

where segment_name in (select table_name from user_tables where table_name=’ADDRESS_D’ ) group by segment_name order by 2 desc;  2

no rows selected

–其他的表都可以。
查询user_tables,可以查到这个表示存在的。

SQL> select table_name from user_tables where table_name=’ADDRESS_D’;

TABLE_NAME

——————————————————————————————

ADDRESS_D

琢磨了一会,突然想起来11g有一个新特性,一查果然就是。

SQL> show parameter seg

NAME                                 TYPE                              VALUE

———————————— ——————————— ——————————

deferred_segment_creation            boolean                           TRUE

rollback_segments                    string

transactions_per_rollback_segment    integer                           5

SQL>
把这个值置为false就好了,这个参数的变更支持在线变更。

回过头来看这个参数,发现有相关的两个问题

EXP 00003, 有一个oracle bug(BUG
9285196) from 11gR2,  MOS doc ID. (9285196.8)

ORA-01950, related link
http://www.acehints.com/2012/07/11g-deferred-segment-ora-01950-no.html


📌 本文来自作者的 ITPUB 技术博客存档(2014 年),原文链接:https://blog.itpub.net/23718752/viewspace-1094486/

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注