我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据文件OS块的大小

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据文件OS块的大小

在前一个BLOG里面说到了怎么计算数据文件的大小,ls –l /8192-1,其实这里的8192是不正确的,只是通用情况下是这样的,下面是MOS给的官方文档,关于每种平台下面的OS块的大小

欢迎大家加入ORACLE超级群:17115662 免费解决各种ORACLE问题,以后BLOG将迁移到http://www.htz.pw

How an Oracle block# is mapped to a file offset (in bytes or OS blocks) (文档 ID 761734.1)

 

修改时间:2011-2-15

数据文件OS块的大小

类型:HOWTO

数据文件OS块的大小

In this Document

  Goal

  Solution

     Generic Platform Formula:

     Alternate Platform Specific Formula (i.e. AIX and HP Tru64):

 

APPLIES TO:

Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.1.0.8 - Release: 10.2 to 11.1

Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.1.0.8   [Release: 10.2 to 11.1]

Information in this document applies to any platform.

 

GOAL

 

This document is about how an Oracle block number is mapped to a file offset (in bytes or OS blocks) for Generic OS platforms and includes an alternate formula for specific OS platforms like AIX and HP Tru64. These are the only 2 platforms where the Volume Manager reserves space for Metadata in the Oracle datafile.

 

For Oracle 10g and 10gR2 there are only two platforms with logical volume Metadata on raw devices: AIX and HP Tru64.

 

HP Tru64 is no longer supported on Oracle 11g, so AIX is the only one in 11g.

 

SOLUTION

 

Every Oracle file has an Operating System file header block ("BLOCK 0") created and maintained by Oracle, which is the size of a standard Oracle block. If multiple block sizes are being used then V$DATAFILE.BLOCK_SIZE should be queried for the file# in question. 

 

"BLOCK 0" can be know as the "Oracle OS Header Block" or "Database Block# 0".

 

"BLOCK 1" is the Oracle Header Block that contains generic information for the File.

 

From the documentation: V$DATAFILE.BLOCK1_OFFSET is the "Offset from the beginning of the file to where the Oracle generic information begins.". 

 

"BLOCK 1" offset = v$datafile.block1_offset

 

V$DATAFILE.BLOCK1_OFFSET do not make much sense for ASM. The value displayed is UB4MAXVAL (4-byte unsiged int max) for ASM when it cannot be computed. 

Generic Platform Formula:

A general formula to locate the byte offset in any platform is:

 

block1_offset = v$datafile.block1_offset

oracle_block_size = v$datafile.block_size

 

offset = block1_offset + (oracle_block_number  - 1) * oracle_block_size

Another way to calculate this offset is using the platform specific information:

 

Alternate Platform Specific Formula (i.e. AIX and HP Tru64):

 

Platform specific formula for a file offset to locate an Oracle block in a RAW Device:

 

 

offset = raw_device_block0_offset + (oracle_block_number * oracle_block_size)

AIX:

On AIX raw device, the logical volume metadata uses 4096 bytes. That would be the block0_offset on this platform. On HP Tru64 it is 65536 bytes. 

 

raw_device_block0_offset = 4096

file_system_block0_offset = 0

 

Example:

 

Calculate the byte offset using the platform specific formula for block 30 in a RAW Device in AIX

 

oracle_block_size = 8192 (v$datafile.block_size)

oracle_block_number = 30

AIX raw_device_block0_offset = 4096

 

offset = 4096 + (30*8192) = 249856

 

Notes:

 

The above formulas are given in bytes.

file_system_block#_offset refers to any file systems like veritas, zfs, etc.

raw_device_block0_offset is the byte offset to locate the Oracle "BLOCK 0" in a raw device.

file_system_block0_offset is the byte offset to locate the Oracle "BLOCK 0" in a file system.

 

Formula To produce an offset in 4096 blocks in a RAW device in AIX:

 

 

offset <in 4096 blocks> = 1 + (oracle_block_number*(oracle_file_block_size/4096))

 

HP Tru64:

 

For HP Tru64 use:

 

raw_device_block0_offset = 65536

file_system_block0_offset = 0

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据文件OS块的大小

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql怎么查看数据文件大小

在MySQL中,可以使用以下两种方法来查看数据文件的大小:使用MySQL客户端工具查看:连接到MySQL数据库服务器,并选择要查看的数据库。运行以下查询语句来查看数据库中表的大小:SELECT table_name AS "Table N
mysql怎么查看数据文件大小
2024-04-09

oracle怎么查看数据库文件大小

要查看Oracle数据库文件的大小,可以使用以下SQL查询语句:SELECT file_name, bytes/1024/1024 AS size_in_mbFROM dba_data_files;这将列出数据库中所有数据文件的文件名和
oracle怎么查看数据库文件大小
2024-04-22

云服务器如何选大小的数据文件

云服务器可以提供多种类型的数据存储,其中包括大量的文件和数据库。为了确保数据的高可用性,您需要考虑数据的大小。以下是一些选取合适大小数据文件的常见步骤:确定您想要保存的数据量。您可以计算数据文件的大小,并确定需要保存多大的数据量,以及您需要使用的存储空间量。检查数据量和所需存储空间的比例。如果您希望保存更大的数据,则需要考虑数据文件大小和所需存储空间的比例,选择适当的比例。选择合适的大小
2023-10-26

关于Python OS模块常用文件/目录函数详解

模块:包含定义函数和变量的python文件,可以被别的程序引入。 os模块是操作系统接口模块,提供了一些方便使用操作系统相关功能函数,这里介绍下os模块中对于文件/目录常用函数和使用方法。 1. 返回当前文件目录:getcwd()2.改变工
2022-06-02

云服务器如何选大小的数据文件夹

云服务器提供的数据文件夹可以通过使用其自带的文件系统来管理。以下是一些建议:使用NTFS磁盘分区:将所有数据文件和Exchange数据同步到一个磁盘分区。如果你的主机提供NTFS磁盘分区,那么可以在同一个磁盘上设置多个数据文件和Exchange数据分区。使用文件系统格式(DSM):使用DSM格式的文件系统可以在同一个磁盘上设置多个数据文件和Exchange数据分区。这种文件系统格式是通用的,可以适应各种文件系统。使用文件名:将...
2023-10-27

云服务器如何选大小的数据库文件

云服务器可以选择支持多种大小的数据库文件,以下是一些常见的选项:大文件:可以使用大容量的云服务器,比如大型数据库。在这种情况下,服务器需要存储大量的数据。可以使用多层级的数据存储结构来确保存储的数据是高质量的。小文件:可以使用小容量的云服务器,比如小型数据库。这种选项需要服务器支持较小的文件大小,但可以确保服务器可以处理更小的数据量。中等文件:可以使用中等大小的服务器,比如小型数据库。这种选项需要服务器拥有...
2023-10-27

Shell脚本创建指定大小文件的测试数据

我们在测试或调试的时候,有时候会需要生成某个size的文件,比如在测试存储系统时,需要将磁盘剩余空间减少5G,最简单的办法就是拷贝一个5G的文件过来,但是从哪儿去弄这样大小的文件呢,或许你想到随便找一个文件,不停的拷贝,最后合并,这也不失为
2022-06-04

云服务器如何选大小的数据文件格式

云服务器可以选择支持多种不同类型的数据文件格式,以下是一些常见的选项:文本文件格式:可以将一个文本文件转换成HTML、JavaScript、XML等数据文件格式,以便在云端处理和存储。常见的文本文件格式包括Word、Excel、PowerPoint等。图像文件格式:可以将一个图像文件转换为JPEG、TIFF、GIF等常见的图像文件格式,以便在云端处理和存储。常见的图像文件格式包括PNG、WebBMP、RAW等。数据库格式:可以将...
2023-10-27

Python递归文件中os模块的实际应用方式

本篇内容主要讲解“Python递归文件中os模块的实际应用方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python递归文件中os模块的实际应用方式”吧!os模块在实际的操作中应用非常广泛,
2023-06-17

云服务器如何选大小的数据库文件夹

首先,我们需要了解自己的数据库类型。对于一些大型的数据库,如MySQL、PostgreSQL等,我们需要选择一个更大的文件夹来存储它们。因为这些数据库文件可能需要更多的磁盘空间,所以我们需要选择更大的文件夹以便更好地管理和存储数据。其次,我们需要考虑数据库文件夹的大小。如果数据库文件夹比较大,那么我们需要考虑如何存储数
云服务器如何选大小的数据库文件夹
2023-10-28

python文件目录操作之os模块的示例分析

这篇文章将为大家详细讲解有关python文件目录操作之os模块的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几
2023-06-15

MySQL删除数据,表文件大小依然没变的原因

对于运行很长时间的数据库来说,往往会出现表占用存储空间过大的问题,可是将许多没用的表删除之后,表文件的大小并没有改变,想解决这个问题,就需要了解 InnoDB 如何回收表空间的。 对于一张表来说,占用空间重要分为两部分,表结构和表数据。通常
2022-05-20

云服务器如何选大小的数据库文件格式

MySQLMySQL是一种开源的关系型数据库管理系统,广泛用于Web应用程序和数据库应用程序中。MySQL支持多种数据库,包括MySQLServer、Oracle、PostgreSQL和MicrosoftSQLServer等。在选择MySQL数据库文件格式时,需要考虑以下几个因素:数据库类型:MySQL支持多种数据库类
云服务器如何选大小的数据库文件格式
2023-10-28

云服务器如何选大小的数据文件夹名称

首先,应该尽可能避免使用个人或公司的名称。这些名称可能会与其他人或公司的名称混淆,并且可能会导致用户或公司的个人信息被泄露。因此,应该选择一个通用且易于识别的名称。其次,应该选择一个具有足够存储空间的名称。如果一个云服务器提供商的数据文件夹很大,用户需要存储大量的数据,那么他们可能需要购买更多的云服务器,这可能会导致成
云服务器如何选大小的数据文件夹名称
2023-10-28

编程热搜

目录