转译:Oracle 中 Object_iD 和 Data_Object_ID 的区别
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_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已经发生变化了。
嗯,这就是有一样我学到的东西,我很肯定除了我之外,所有人都应该了解它,但之前我的确不清楚这个知识。老实说,我居然不清楚1件微小而简单的事情,实在令我受刺激了。再次令我深心一个人无论什么时候都要“stay hungry, stay foolish“(保持饥饿感,不自满)(斯提芬.佐治 名言),还有十分感谢Tom Kyte,他一直在帮我们更深地了解oracle 数据系统。
转译:Oracle 中 Object_iD 和 Data_Object_ID 的区别相关推荐
- oracle中having作用,oracle中having与where的区别
1.where 不能放在group by 的后面 2.HAVING 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当于WHERE 3.WHERE 后面的条件中不能有聚集函 ...
- oracle中存储过程和函数有什么区别,Oracle中存储过程和函数的区别
Oracle中存储过程和函数的区别 存储过程和函数: www.2cto.com 例子: [sql] //创建过程 create or replace procedure add_emailinfo( ...
- oracle binary_integer pls_integer,oracle中binaryinteger与plsinteger的区别
oracle中binaryinteger与plsinteger的区别 Oracle 中 Binary_Integer 与 Pls_Integer 的区别Binary_Integer 与 Pls_Int ...
- oracle中varchar与varchar2的区别
一.oracle中varchar与varchar2的区别 varchar保留,Oracle以支持null将来与空字符串之间的区别,这是ANSI标准规定的. varchar2不区分null和空字符串,也 ...
- oracle中totimestamp,oracle中to_timestamp和to_date什么区别
date类型是Oracle常用的日期型变量,时间间隔是秒.两个日期型相减得到是两个时间的间隔,注意单位是"天". timestamp是DATE类型的扩展,可以精确到小数秒(frac ...
- oracle 24365,深入解析:DBA_OBJECTS中的OBJECT_ID与DATA_OBJECT_ID的区别
墨墨导读:在Oracle dba_objects视图中存在object_id和data_oubject两个列,已经存在object_id列了为什么还会有一个data_object_id列呢,这两个列有 ...
- 深入解析:DBA_OBJECTS中的OBJECT_ID与DATA_OBJECT_ID的区别
墨墨导读:在Oracle dba_objects视图中存在object_id和data_oubject两个列,已经存在object_id列了为什么还会有一个data_object_id列呢,这两个列有 ...
- Oracle中NVARCHAR2与VARCHAR2的区别
Oralce官方文档"Datatypes"部分对NVARCHAR2.VARCHAR2以及VARCHAR有一段描述,可以清晰得到它们的区别.罗列在此,供大家参考. [链接]http: ...
- oracle中rownum和row_number()的区别
见:http://www.jb51.net/article/65960.htm row_number()over(partition by col1 order by col2)表示根据col1分组, ...
最新文章
- 问题和任务包003.使用报告.数据可视化.PowerBI.微软的新武器
- linux实现自动远程备份(scp+ssh)
- 如何处理计算机显示器故障,显示器突然黑屏怎么办?教你这样操作,轻松解决黑屏问题!...
- 【转载】通过SQL获取MSSQL的数据库相关信息收藏
- 【DevExpress】 SearchLookUpEdit
- 《FLUENT 14流场分析自学手册》——1.6 计算网格与边界条件
- java如何调用webservice_Java如何调用WebService接口
- phpstorm主题下载地址及安装
- Linux系统盘满了,如何解决。
- 企业口碑营销,如何塑造全网优质口碑
- 图片怎么压缩?这些方法值得收藏
- html------轮播图
- java窗口弹出的位置_java的窗口弹出和动手动脑
- 好好学习,天天向上——“C”
- Windows服务器双网卡绑定的方法(HP/Broadcom网卡)
- 到底什么是叶脊网络(Spine-Leaf)?
- spring boot 图文验证码(Kaptcha)使用
- 【无标题】分享我的三次审稿意见
- Google Glass不属于VR/AR团队,谷歌已确认
- python用于pmc排产可以吗_生产计划管理PMC如何有效实施?