免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1109 | 回复: 0
打印 上一主题 下一主题

truncate导致data_object_id改变 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:43 |只看该作者 |倒序浏览

oracle中一般情况下表的OBJECT_ID与DATA_OBJECT_ID是一致的。

但在truncate后表达DATA_OBJECT_ID会发生改变。利用这一特性可以判断表是否发生过truncate操作。

注:(DATABASE LINK,FUNCTION,PROCEDURE,SEQUENCE,VIEW)没有DATA_OBJECT_ID。

Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0


Connected as report

SQL> SELECT t.table_name, t.last_analyzed, t.num_rows
  2    FROM USER_TABLES t
  3   WHERE t.table_name = 'T2';

TABLE_NAME LAST_ANALYZED       NUM_ROWS
---------- --------------------------          ----------
T2         2011-04-04 16:56:17                    3

--T2的 OBJECT_ID  与DATA_OBJECT_ID相同

SQL> SELECT object_name, object_type, object_id, data_object_id
  2    FROM USER_OBJECTS
  3   WHERE object_name = 'T2';

OBJECT_NAM OBJECT_TYPE          OBJECT_ID  DATA_OBJECT_ID
---------- -------------------                ----------         -----------------------
T2           TABLE                              75567                             75567

SQL> truncate table T2;
Table truncated

SQL>  analyze table t2 compute statistics;
Table analyzed

-- 对表T2进行truncate后OBJECT_ID未发生改变,而DATA_OBJECT_ID由 75567 变为 76592

SQL> SELECT object_name, object_type, object_id, data_object_id
  2    FROM USER_OBJECTS
  3   WHERE object_name = 'T2';
OBJECT_NAM OBJECT_TYPE          OBJECT_ID       DATA_OBJECT_ID
----------         -------------------        ----------           --------------
T2                  TABLE                         75567             76592

SQL>

from:http://www.linuxidc.com/Linux/2011-04/34164.htm

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP