转译自Aman Sharma的blog:
http://blog.aristadba.com/?tag=data_object_id

事实上还有很多关于Oracle数据库的知识我不了解,特别是一些辅助性的知识点。几乎每一天,都会有一些新的东西出现在我面前,这让我意识到我所知道的是多么少?  昨天和今天也不例外,我知道了两个以前我并不了解的新东西。现在我把其中1项分享出来,迟d我会分享另1个。

几天前有人问我1个问题: 是否有1个东西叫Data_object_id, 如果有的话,它是用来做什么的呢? 正巧,在OTN论坛也有人问这个问题。我当时并不清楚Data_object_id 是什么,但它的确在视图ALL_OBJECTS里存在。 Hmmm..有趣,它到底是什么。ASK Tom最现在那个论坛里回答了, 根据TOM所说:

object_id 是数据库里的对象的唯一标识--数据库中每1个对象都会被分配1个唯一的好号码作为区别的标志。
同样地,每1个数据库object都会link住1个segment(数据段), 而Data_object_id就是分配给那个对应的segment.
(译者住:上面那句不保证正确性,因为1个数据库对象是可以对应不同表空间内多个segment的)
当那个segment发生了任何物理变动,都会令这个数值改变。 这两个ID的值在一开始是相等的,但是当对应segment
发生变动时, Data_object_id会改变。 这两个ID都是Oracle用来表示存放在数据字典的元数据(数据目录)。

看1个例子:
首先查看数据库版本

创建1张表

查看该表的object_idData_object_id,
注:表tab$OBJ# 存放的就是对象的object_id, 而 dataobj#存放的就是对象的data_object_id.

截断这张表

再查看该表的object_idData_object_id, ..(无变化,作者原文是变化了的,可能由于这张表原来就是空表的关系)

 
执行alter table xxx move, 这个语句一般用来移动表到另1个表空间(move 后面要加表空间参数),或者用来整理碎片(消除行移植和行链接), 但是会导致索引失效,所以要重建索引。
alter index xxx rebuild online

再查看该表的object_idData_object_id, 见到Data_obj_id已经发生变化了。

嗯,这就是有一样我学到的东西,我很肯定除了我之外,所有人都应该了解它,但之前我的确不清楚这个知识。老实说,我居然不清楚1件微小而简单的事情,实在令我受刺激了。再次令我深心一个人无论什么时候都要“stay hungry, stay foolish“(保持饥饿感,不自满)(斯提芬.佐治 名言),还有十分感谢Tom Kyte,他一直在帮我们更深地了解oracle 数据系统。

转译:Oracle 中 Object_iD 和 Data_Object_ID 的区别相关推荐

  1. oracle中having作用,oracle中having与where的区别

    1.where 不能放在group by 的后面 2.HAVING 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当于WHERE 3.WHERE 后面的条件中不能有聚集函 ...

  2. oracle中存储过程和函数有什么区别,Oracle中存储过程和函数的区别

    Oracle中存储过程和函数的区别 存储过程和函数:  www.2cto.com 例子: [sql] //创建过程 create or replace procedure add_emailinfo( ...

  3. oracle binary_integer pls_integer,oracle中binaryinteger与plsinteger的区别

    oracle中binaryinteger与plsinteger的区别 Oracle 中 Binary_Integer 与 Pls_Integer 的区别Binary_Integer 与 Pls_Int ...

  4. oracle中varchar与varchar2的区别

    一.oracle中varchar与varchar2的区别 varchar保留,Oracle以支持null将来与空字符串之间的区别,这是ANSI标准规定的. varchar2不区分null和空字符串,也 ...

  5. oracle中totimestamp,oracle中to_timestamp和to_date什么区别

    date类型是Oracle常用的日期型变量,时间间隔是秒.两个日期型相减得到是两个时间的间隔,注意单位是"天". timestamp是DATE类型的扩展,可以精确到小数秒(frac ...

  6. oracle 24365,深入解析:DBA_OBJECTS中的OBJECT_ID与DATA_OBJECT_ID的区别

    墨墨导读:在Oracle dba_objects视图中存在object_id和data_oubject两个列,已经存在object_id列了为什么还会有一个data_object_id列呢,这两个列有 ...

  7. 深入解析:DBA_OBJECTS中的OBJECT_ID与DATA_OBJECT_ID的区别

    墨墨导读:在Oracle dba_objects视图中存在object_id和data_oubject两个列,已经存在object_id列了为什么还会有一个data_object_id列呢,这两个列有 ...

  8. Oracle中NVARCHAR2与VARCHAR2的区别

    Oralce官方文档"Datatypes"部分对NVARCHAR2.VARCHAR2以及VARCHAR有一段描述,可以清晰得到它们的区别.罗列在此,供大家参考. [链接]http: ...

  9. oracle中rownum和row_number()的区别

    见:http://www.jb51.net/article/65960.htm row_number()over(partition by col1 order by col2)表示根据col1分组, ...

最新文章

  1. 问题和任务包003.使用报告.数据可视化.PowerBI.微软的新武器
  2. linux实现自动远程备份(scp+ssh)
  3. 如何处理计算机显示器故障,显示器突然黑屏怎么办?教你这样操作,轻松解决黑屏问题!...
  4. 【转载】通过SQL获取MSSQL的数据库相关信息收藏
  5. 【DevExpress】 SearchLookUpEdit
  6. 《FLUENT 14流场分析自学手册》——1.6 计算网格与边界条件
  7. java如何调用webservice_Java如何调用WebService接口
  8. phpstorm主题下载地址及安装
  9. Linux系统盘满了,如何解决。
  10. 企业口碑营销,如何塑造全网优质口碑
  11. 图片怎么压缩?这些方法值得收藏
  12. html------轮播图
  13. java窗口弹出的位置_java的窗口弹出和动手动脑
  14. 好好学习,天天向上——“C”
  15. Windows服务器双网卡绑定的方法(HP/Broadcom网卡)
  16. 到底什么是叶脊网络(Spine-Leaf)?
  17. spring boot 图文验证码(Kaptcha)使用
  18. 【无标题】分享我的三次审稿意见
  19. Google Glass不属于VR/AR团队,谷歌已确认
  20. python用于pmc排产可以吗_生产计划管理PMC如何有效实施?

热门文章

  1. Linux中如何安装MySQL详细步骤
  2. Linux Kernel中gicv3实现:SPIs中断routing到指定的CPU
  3. 面向对象封装继承多态五大基本原则魔法方法反射
  4. 密码篇——对称加密—3DES
  5. repne scasb 内联实现 strlen
  6. 2020-11-10(service入门)
  7. 分享SSRF漏洞的学习和利用
  8. 无线网络渗透测试-使用Wifite破解无线网络
  9. PE学习(十)第十章: 加载配置信息表
  10. 3、HTML导入外部样式表(HTML导入CSS文件)