Oracle 中 Object_iD 和 Data_Object_ID 的区别

简介: Oracle 中 Object_iD 和 Data_Object_ID 的区别 转译自Aman Sharma的blog:http://blog.aristadba.com/?tag=data_object_id是否有1个东西叫Data_object_id, 如果有的话,它是用来做什么的呢? 正巧,在OTN论坛也有人问这个问题。

Oracle 中 Object_iD 和 Data_Object_ID 的区别





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


是否有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_id  和  Data_object_id
注:表 tab$  仲  OBJ#  存放的就是对象的 object_id , 而  dataobj# 存放的就是对象的 data_object_id .


截断这张表


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

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


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







About Me

.............................................................................................................................................

● 本文整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文博客园地址:http://www.cnblogs.com/lhrbest

● 本文pdf版、个人简介及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

.............................................................................................................................................

● QQ群号:230161599(满)、618766405

● 微信群:可加我微信,我拉大家进群,非诚勿扰

● 联系我请加QQ好友646634621,注明添加缘由

● 于 2017-09-01 09:00 ~ 2017-09-30 22:00 在魔都完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

.............................................................................................................................................

小麦苗的微店https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麦苗出版的数据库类丛书http://blog.itpub.net/26736162/viewspace-2142121/

.............................................................................................................................................

使用微信客户端扫描下面的二维码来关注小麦苗的微信公众号(xiaomaimiaolhr)及QQ群(DBA宝典),学习最实用的数据库技术。

   小麦苗的微信公众号      小麦苗的DBA宝典QQ群1     小麦苗的DBA宝典QQ群2        小麦苗的微店

.............................................................................................................................................


DBA笔试面试讲解群1
DBA笔试面试讲解群2
欢迎与我联系



目录
相关文章
|
8月前
|
SQL Oracle 关系型数据库
避坑,Oracle中left join 与 (+) 的区别
避坑,Oracle中left join 与 (+) 的区别
|
8月前
|
Oracle 关系型数据库 MySQL
mysql数据库和Oracle的区别
mysql数据库和Oracle的区别
155 1
|
SQL Oracle 关系型数据库
MySQL和Oracle的一些区别
MySQL和Oracle的一些区别
|
2月前
|
设计模式 JavaScript 前端开发
js中new和object.creat区别
【10月更文挑战第29天】`new` 关键字和 `Object.create()` 方法在创建对象的方式、原型链继承、属性初始化以及适用场景等方面都存在差异。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象。
|
4月前
|
存储 Oracle 关系型数据库
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
从基本特性、技术选型、字段类型、事务提交方式、SQL语句、分页方法等方面对比Oracle和MySQL的区别。
810 18
|
5月前
|
前端开发 Java 编译器
【前端学java】java中的Object类和前端中的Object有什么区别(9)
【8月更文挑战第10天】java中的Object类和前端中的Object有什么区别
55 0
【前端学java】java中的Object类和前端中的Object有什么区别(9)
|
5月前
|
JavaScript 前端开发
Object.freeze() 和 const 的区别详解
【8月更文挑战第31天】
40 0
|
6月前
|
JSON JavaScript API
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
159 0
|
8月前
|
JavaScript 前端开发 索引
JavaScript与Object C的区别
JavaScript与Object C的区别
41 1
|
7月前
|
存储 JavaScript 前端开发
Object和Map的区别
Object和Map的区别

推荐镜像

更多