本文的环境:Oracle Databae 12.1.0.2, rhel5.9 x86-64bit

[oracle@rhel59 orcl]$ pwd
/u01/app/oracle/oradata/orcl
[oracle@rhel59 orcl]$ ls -lrt
total 2386544
drwxr-x--- 2 oracle oinstall 4096 Dec 26 2014 pdbseed
drwxr-x--- 2 oracle oinstall 4096 Dec 26 2014 PN1
drwxr-x--- 2 oracle oinstall 4096 Dec 26 2014 PN2
-rw-r----- 1 oracle oinstall 5251072 Jul 31 13:26 users01.dbf
-rw-r----- 1 oracle oinstall 52429312 Jul 31 13:26 redo03.log
-rw-r----- 1 oracle oinstall 52429312 Jul 31 13:26 redo01.log
-rw-r----- 1 oracle oinstall 74457088 Jul 31 20:01 temp01.dbf
-rw-r----- 1 oracle oinstall 602939392 Jul 31 20:25 undotbs01.dbf
-rw-r----- 1 oracle oinstall 870326272 Jul 31 20:25 system01.dbf
-rw-r----- 1 oracle oinstall 765468672 Jul 31 20:25 sysaux01.dbf
-rw-r----- 1 oracle oinstall 52429312 Jul 31 20:26 redo02.log
-rw-r----- 1 oracle oinstall 17973248 Jul 31 20:26 control01.ctl
[oracle@rhel59 orcl]$ dd if=/u01/app/oracle/oradata/orcl/system01.dbf bs=512 count=1 | od -x
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.027559 seconds, 18.6 kB/s
0000000 a200 0000 0000 ffc0 0000 0000 0000 0000
0000020 6567 0000 2000 0000 9f00 0001 7c7d 7a7b
0000040 81a0 0000 0000 0000 0000 0000 0000 0000
0000060 0000 0000 0000 0000 0000 0000 0000 0000
*
0001000
[oracle@rhel59 orcl]$ dd if=/u01/app/oracle/oradata/orcl/system01.dbf bs=512 count=1 | od -i
1+0 records in
1+0 records out
512 bytes (512 B) copied, 2.9e-05 seconds, 17.7 MB/s
0000000 41472 -4194304 0 0
0000020 25959 8192 106240 2054913149
0000040 33184 0 0 0
0000060 0 0 0 0
*
0001000
[oracle@rhel59 orcl]$
[oracle@rhel59 orcl]$
[oracle@rhel59 orcl]$ ls -lrt 8192*106240=870318080
而 ls -lrt的结果中显示system01.dbf的大小为:870326272
870326272-870318080=8192,这多出的一个就是datafile中的os header,
參见文章:
How to Detect and Fix a Corruption in the Datafile OS Header/Block Zero - ORA-27047 DBV-107 ORA-1157/ORA-27048 (文档 ID 360032.1)

8192手工计算过程;

2000 0000  翻转后:00002000,换算成十进制,就是8192

106240手工计算过程:

9f00 0001  翻转后:00019f00, 换算成十进制,就是106240

參考文章:

HOW TO GET DATAFILE SIZE THROUGH DD (文档 ID 274445.1)

注:该文章只能提供计算的思路,事实上里边的db block 的数量的换算过程是错误的。

Oracle database datafile header中记录的datafile的大小的更多相关文章

  1. ORACLE数据库删除表中记录报record is locked by another user

    在操作ORACLE数据库的时候,由于执行完,没有COMMIT,直接把PL/SQL关闭掉,后来导致那张表被锁住,当编辑时就会出现这个信息,record is locked by another user ...

  2. PL/SQL Developer的安装以及与64位Oracle Database进行连接

    本文转载自budongs 一.下载 官网安装包(1106版本)下载链接: plsqldev1106.exe 官网中文语言包(110版本) 下载链接: chinese.exe [中文语言包的使用方法为: ...

  3. Win8.1卸载64位Oracle Database 11g的详细图文步骤记录

    Oracle Database 11g在Win8 上的卸载过程记录. Step1停用oracle服务:进入计算机管理/任务管理器,在服务中,找到oracle开头的所有服务,右击选择停止: Step2 ...

  4. 问题: Oracle Database 10g 未在当前操作系统中经过认证

    问题: Oracle Database 10g 未在当前操作系统中经过认证 在Windows 7中安装Oracle 10g. 使用的Orcale版本是10g. 步骤1: 在Orcale官网上下载,下载 ...

  5. Oracle database link中查询会开启事务吗?

    关于oracle database link,使用database link相关的查询语句是否会开启事务呢?我们知道,在数据库中一个简单的SELECT查询语句不会产生事务(select for upd ...

  6. oracle数据库误删的表以及表中记录的恢复

    oracle数据库误删的表以及表中记录的恢复 一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: --1.从flash bac ...

  7. 同一台电脑中同时安装oracle database 服务器端和oracle client 客户端时注意

    如果在一台电脑中同时安装oracle的客户端和服务器端软件, 一定要先安装oracle database 服务端,并进行相应的配置 listener.ORA. 然后再去安装oracle client ...

  8. Oracle查询库中记录数大于2千万的所有表

    Oracle查询库中记录数大于2千万的所有表 假如当前用户拥有select any table权限,则可以使用下列sql语句: select table_name, num_rows from dba ...

  9. Oracle安装过程中Oracle Database Configuration Assistant失败问题解决

    今天在安装Oracle的过程中出现了oracle Database Configuration Assistant问题,我解决该问题的方法是将我的计算机用户名更改了一下,改成了pc1.之后再在orac ...

随机推荐

  1. c++ 堆、栈、自由存储区、全局/静态存储区和常量存储区

    在C++中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区.里面的变量通常是局部变量.函数参数 ...

  2. (28)C#委托,匿名函数,lambda表达式,事件

    一.委托 委托是一种用于封装命名和匿名方法的引用类型. 把方法当参数,传给另一个方法(这么说好理解,但实际上方法不能当参数,传入的是委托类型),委托是一种引用类型,委托里包含很多方法的引用 创建的方法 ...

  3. Combination Sum III - LeetCode

    Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...

  4. POJ1741 Tree(树的点分治)

    题目给一棵边带权的树,统计路径长度<=k的点对数. 楼教主男人八题之一,分治算法在树上的应用. 一开始看论文看不懂,以为重心和距离那些是一遍预处理得来的..感觉上不敢想每棵子树都求一遍重心和距离 ...

  5. Struts2笔记--文件上传

    Servlet 3.0规范的HttpServletRequest已经提供了方法来处理文件上传但这种上传需要在Servlet中完成.而Struts2则提供了更简单的封装. Struts2默认使用的是Ja ...

  6. Java StringBuffer与StringBuider

    String 的值是不可变的,每次对String的操作都会生成新的String对象,不仅效率低,而且耗费大量内存空间. StringBuffer类和String类一样,也用来表示字符串,但是Strin ...

  7. adb devices 找不到设备怎么办 --- 2

    问题现象:在电脑上安装好手机驱动后,手机进入设置---->应用程序---->开发----->勾选USB调试后连接电脑,,在CMD命令中输入adb devices发现没有设备. 解决方 ...

  8. 1· linux命令:查看依赖的共享库 - ldd命令

    今天使用qt链接mysql的时候,发现提示driver not load 而出现此错误一般是没有mysql驱动的原因,但是qt5.4已经提供了mysql驱动的 查看plugins/sqldrivers ...

  9. 【转载】struts应用在断网情况下启动报错解决办法(java/net/AbstractPlainSocketImpl.java:178:-1)

    无意间struts应用在有网络的情况下启动正常,在断网的情况下启动报错,报错代码如下图所示: SEVERE: Exception starting filter struts2 Class: java ...

  10. haproxy + rabbitmq + keepalived的高可用环境搭建

    一.rabbitmq的搭建:参考rabbimq的安装及集群设置 二.安装和配置haproxy 1.安装haproxyyum install haproxy 2.安装rsysloga. 检查rsyslo ...