中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據文件OS塊的大小

發布時間:2020-06-28 20:40:14 來源:網絡 閱讀:505 作者:7343696 欄目:關系型數據庫

在前一個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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荣成市| 广宗县| 纳雍县| 林口县| 大渡口区| 安塞县| 浑源县| 景泰县| 闻喜县| 班玛县| 鲁甸县| 荔浦县| 昌平区| 东平县| 玛多县| 循化| 淳安县| 仲巴县| 阿拉善左旗| 康乐县| 香港| 汉中市| 金沙县| 台湾省| 个旧市| 衡山县| 色达县| 扶余县| 陇西县| 中江县| 新密市| 大荔县| 奉新县| 肥城市| 嘉义市| 秭归县| 铁岭县| 合山市| 成武县| 泸定县| 社旗县|