本文共 1125 字,大约阅读时间需要 3 分钟。
今天统计数据的时候,发现一个奇怪的小问题,通过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
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-1094486/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23718752/viewspace-1094486/