當前位置:首頁 » 存儲配置 » asm自動存儲管理

asm自動存儲管理

發布時間: 2022-09-26 14:25:35

1. ASM是什麼意思

ASM指的是匯編語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。

在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。

(1)asm自動存儲管理擴展閱讀

匯編語言比機器語言的可讀性要好,但跟高級語言比較而言,可讀性還是較差。不過採用它編寫的程序具有存儲空間佔用少、執行速度快的特點,這些是高級語言所無法取代的。在實際應用中,是否使用匯編語言,取決於具體應用要求、軟體開發時間和質量等方面作權衡。

匯編語言作為機器語言之上的第二代編程語言,它也有很多優點:

1、可以輕松的讀取存儲器狀態以及硬體I/O介面情況

2、編寫的代碼因為少了很多編譯的環節,可以能夠准備的被執行

3、作為一種低級語言,可擴展性很高

參考資料來源:網路-匯編語言

2. oracle 11g中asm是什麼意思

自動存儲管理 (ASM) 是 Oracle Database 的一個特性,它為資料庫管理員提供了一個在所有伺服器和存儲平台上均一致的簡單存儲管理介面。作為專門為 Oracle 資料庫文件創建的垂直集成文件系統和卷管理器,ASM 提供了直接非同步 I/O 的性能以及文件系統的易管理性。ASM 提供了可節省 DBA 時間的功能,以及管理動態資料庫環境的靈活性,並且提高了效率。ASM 的主要優點有:
簡化和自動化了存儲管理
提高了存儲利用率和敏捷性
提供可預測的性能、可用性和可伸縮性

3. 如何將ASM中的數據文件復制到操作系統中

您好,如果你的Oracle資料庫系統使用正使用ASM自動存儲管理,你可曾想過要窺視一下ASM中的數據文件,ASM是個黑匣子,通過操作系統無法看到裡面的數據文件,也不能通過操作系統命令對它們進行復制、刪除等操作。下面給大家介紹一個可以復制出ASM中數據文件的小方法,簡單適用。工具大家都很熟悉,那就是:Rman !
大家都知道在進行跨平台移植數據的時候會碰到操作系統位元組存儲次序的問題,通常都會利用Rman的convert的命令來轉換表空間或者數據文件的位元組序。同樣,下面也通過Rman的convert來給大家介紹一下如何從ASM中復制出數據文件;
如下:在asmcmd中查看數據文件,我要復制出名為SEVEN.320.822828439的數據文件(注意路徑):
ASMCMD> pwd
+seven/prod/datafile
ASMCMD> ls
EXAMPLE.267.819799305
SEVEN.320.822828439
SYSAUX.257.819799141
SYSTEM.256.819799141
UNDOTBS1.258.819799143
UNDOTBS2.268.819799499
USERS.259.819799143
ASMCMD>
通過一下命令在Rman下進行轉換:
convert datafile
'+seven/prod/datafile/SEVEN.320.822828439'
db_file_name_convert
'+seven/prod/datafile','/home/oracle';
命令很簡單,單數據的轉換,需要db_file_name_convert關鍵字來指定轉換之前和轉換之後數據文件所在的路徑,此實驗中是將名為SEVEN.320.822828439的數據文件,從原始路徑+seven/prod/datafile 中,轉換到之後的/home/oracle目錄中,同時文件名不變;
輸出內容如下,顯示完成轉換:
Starting backup at 07-AUG-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile conversion
input filename=+SEVEN/prod/datafile/seven.320.822828439
converted datafile=/home/oracle/seven.320.822828439
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:05
Finished backup at 07-AUG-13
OK!轉換結束,可以去/home/oracle 目錄下查看是否有此數據文件了;
[oracle@ora1 ~]$ ls -al seven.320.822828439
-rw-r----- 1 oracle oinstall 52436992 Aug 7 16:41 seven.320.822828439
[oracle@ora1 ~]$
如上:數據文件SEVEN.320.822828439已經在/home/oracle目錄中,現在可以對數據文件做些你想做的事了。

4. ASM是什麼

德國ASM所生產的位移感測器廣泛被用於需要自動控制,檢測,監測距離、位置或長度的測量,用戶遍布全球。加速模擬工況法 AccelerationSimulation Mode 我們在享受汽車工業蓬勃發展帶來便利的同時也深受其害,大量汽車尾氣造成了城市環境污染,主要排放物HC、CO和NOx會形成光化學霧,嚴重危害城市居民生命財產安全。傳統的怠速法檢測汽車尾氣,識別率低,人為因素多,很難將高污染車"繩之於法",也無法將這些車修理到真正尾氣達標的狀態。 早在60年代人們已經意識到了負荷試驗法的優勢,發展了一系列檢測方法,如YTEST239、IM240等.到了80年代中期,從多種負荷試驗方法中明確了加速模擬工況法(AccelerationSimulation Mode,縮寫為ASM)是最佳的方法之一,美國國家環保局(縮寫為EPA)於90年代確認了ASM為I/M中的一種檢驗方法,並被廣泛採用。匯編語言 ASM也是匯編語言源程序的擴展名,匯編程序員也稱匯編為ASM 匯編語言(Assembly Language)是面向機器的程序設計語言.匯編語言是一種功能很強的程序設計語言,也是利用計算機所有硬體特性並能直接控制硬體的語言。 在匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。因此匯編語言亦稱為符號語言。 使用匯編語言編寫的程序,機器不能直接識別,要由一種程序將匯編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統軟體中語言處理系統軟體。匯編語言把匯編程序翻譯成機器語言的過程稱為匯編。 匯編語言比機器語言易於讀寫、調試和修改,同時具有機器語言全部優點。但在編寫復雜程序時,相對高級語言代碼量較大,而且匯編語言依賴於具體的處理器體系結構,不能通用,因此不能直接在不同處理器體系結構之間移植。 匯編語言的特點: 1.面向機器的低級語言,通常是為特定的計算機或系列計算機專門設計的。 2.保持了機器語言的優點,具有直接和簡捷的特點。 3.可有效地訪問、控制計算機的各種硬體設備,如磁碟、存儲器、CPU、I/O埠等。 4.目標代碼簡短,佔用內存少,執行速度快,是高效的程序設計語言。 5.經常與高級語言配合使用,應用十分廣泛。 匯編語言的應用: 1.70%以上的系統軟體是用匯編語言編寫的。 2.某些快速處理、位處理、訪問硬體設備等高效程序是用匯編語言編寫的。 3.某些高級繪圖程序、視頻游戲程序是用匯編語言編寫的。 匯編語言(Assembly Language)的源程序的擴展名是.ASM(Assembly的縮寫),所以匯編程序員也稱匯編為ASM自動存儲管理 Automatic Storage Management 自動存儲管理 (ASM) ASM 是 Oracle 資料庫 10g 中一個非常出色的新特性,它以平台無關的方式提供了文件系統、邏輯卷管理器以及軟體 RAID 等服務。ASM 可以條帶化和鏡像磁碟,從而實現了在資料庫被載入的情況下添加或移除磁碟以及自動平衡 I/O 以刪除"熱點"。它還支持直接和非同步的 I/O 並使用 Oracle9i 中引入的 Oracle 數據管理器 API(簡化的 I/O 系統調用介面)。 ASM 不是一個通用的文件系統,並只能用於 Oracle 數據文件、重做日誌以及控制文件。ASM 中的文件既可以由資料庫自動創建和命名(通過使用 Oracle 管理文件特性),也可以由 DBA 手動創建和命名。由於操作系統無法訪問 ASM 中存儲的文件,因此對使用 ASM 文件的資料庫執行備份和恢復操作的唯一途徑就是通過恢復管理器 (RMAN)。 ASM 作為單獨的 Oracle 實例實施,只有它在運行時其他資料庫才能訪問它。在 Linux 上,只有運行 OCSSD 服務(由 Oracle 通用安裝程序默認安裝)才能使用 ASM。ASM 需要的內存不多:對大多數系統,只需 64 MB。 安裝ASM 在Linux 平台上,ASM 可以使用原始設備,或通過 ASMLib 介面管理的設備。出於易於使用和性能方面的原因,Oracle 建議在原始設備上使用 ASMLib。ASMLib 現在可以從 OTN 免費下載。本部分逐步講解使用 ASMLib 配置一個簡單 ASM 實例和構建一個使用 ASM 進行磁碟存儲的資料庫的全過程。 確定所需的 ASMLib 版本 ASMLib 以三個 Linux 程序包組成的程序包集提供: oracleasmlib - ASM 庫 oracleasm-support - 用於管理 ASMLib 的實用程序 oracleasm - ASM 庫的內核模塊 每個Linux 發行套件都有其自己的 ASMLib 程序包集。

5. asm是什麼意思

ASM

解釋:

abbr. 空對地導彈(air-to-surface missile);美國金屬協會(American Society for Metals);輔助存貯管理程序(auxiliary storage manager);

大區銷售經理(area sale manager);舞台監督助理(assistant stage manager)

用法:

angio asm血管痙攣

idio asm局部痙攣

mobile asm手足徐動症


(5)asm自動存儲管理擴展閱讀:

近義詞:

missile

讀法:英[ˈmɪsaɪl]美[ˈmɪsl]

解釋:

導彈;投射物

導彈的;可投擲的;用以發射導彈的

用法:

cruise missile[航][軍]巡航導彈 ; 經營機制

ballistic missile[航][軍]彈道導彈 ; 彈道飛彈 ; 彈道式導彈 ; 彈道飛彈潛艇

anti-ship missile反艦導彈 ; 反艦飛彈 ; 艦飛彈

6. ASM是什麼⊙∀⊙

自動存儲管理(ASM,Automatic Storage Management)
ASM 是 Oracle 資料庫 10g 中一個非常出色的新特性,它以平台無關的方式提供了文件系統、邏輯卷管理器以及軟體 RAID(磁碟陣列) 等服務。ASM 可以條帶化和鏡像磁碟,從而實現了在資料庫被載入的情況下添加或移除磁碟以及自動平衡 I/O 以刪除「熱點」。它還支持直接和非同步的 I/O 並使用 Oracle9i 中引入的 Oracle 數據管理器 API(簡化的 I/O 系統調用介面)。

7. 什麼是asm

假設您要在資料庫中使用 10 個磁碟。利用 ASM,您不需要在 OS 端創建任何東西,該特性將把一組物理磁碟集合成一個邏輯實體(稱為磁碟組)。

磁碟組類似於一個分段(和可選鏡像)文件系統,但具有重要的差異:它不是一個用於存儲用戶文件的通用文件系統,並且它不進行緩沖。由於後面的原因,磁碟組提供了直接作為原始設備來訪問這個空間,並仍提供文件系統的便利性和靈活性的好處。

ASM它提供了以平台無關的文件系統、邏輯卷管理以及軟RAID服務。ASM可以支持條帶化和磁碟鏡像,從而實現了在資料庫被載入的情況下添加或移除磁碟以及自動平衡I/O以刪除「熱點」。它還支持直接和非同步的I/O並使用Oracle9i中引入的Oracle數據管理器API(簡化的I/O系統調用介面)。

(7)asm自動存儲管理擴展閱讀:

ASM使用獨特的鏡像演算法:不鏡像磁碟,而是鏡像盤區。作為結果,為了在產生故障時提供連續的保護,只需要磁碟組中的空間容量,而不需要預備一個熱備(hot spare)磁碟。

不建議用戶創建不同尺寸的故障組,因為這將會導致在分配輔助盤區時產生問題。ASM將文件的主盤區分配給磁碟組中的一個磁碟時,它會將該盤區的鏡像副本分配給磁碟組中的另一個磁碟。給定磁碟上的主盤區將在磁碟組中的某個夥伴磁碟上具有各自的鏡像盤區。

ASM確保主盤區和其鏡像副本不會駐留在相同的故障組中。磁碟組的冗餘可以有如下的形式:雙向鏡像文件(至少需要兩個故障組)的普通冗餘(默認冗餘)和使用三向鏡像(至少需要3個故障組)提供較高保護程度的高冗餘。

8. 請問使用oracle asm自動存儲管理,今天突然一個asm diskgroup無法mount了

一般當ASM元數據塊(metadata block)被檢驗存在嚴重問題時才會觸發本文所介紹的ORA-15196錯誤。

該ORA-15196報錯的一般格式是:

ORA-15196:invalid ASM block header [1st] [2nd] [3rd] [4th] [5th != 6th]

相關的變數的含義為:

1st, 觸發該意外報錯的Oracle內核函數的名字以及其在代碼中的行數
2nd, 驗證發現問題的區域名字
3rd, 存放在該塊中的ASM對象號 http://www.parnassusdata.com/
4th,存放在該塊中的ASM的塊號
5th, 2nd指定的區域中實際存放的值
6th, 2nd指定的區域中應當存放的值 詩檀軟體專業修復Oracle資料庫

例如:

ORA-15196:invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0]

其中kfc.c:7997,說明觸發本次ORA-15196錯誤的代碼是kfc.c 內核源代碼的7997行的代碼
endian_kfbh:驗證發現問題的區域名字,這個endian_kfbh是用來描述endian屬性的
存放在該塊中的ASM對象號:1
存放在該塊中的ASM的塊號:93
2nd指定的區域中實際存放的值:211
2nd指定的區域中應當存放的值:0

進一步解析上面的參數

l 驗證發現問題的區域名字
ASM metadata元數據由多種多樣的結構組成,例如FILE directory文件目錄,Disk Directory磁碟目錄,Active ChangeDirectory(ACDC),這些信息都存放在ASM的第1號文件到第255文件之間。每一個文件又由ASM Extent組成,Extent又由大小為4096 bytes的ASM block組成(僅僅對於Metadata File是這樣的,對於Oracle Datafile數據文件則仍是由DB_BLOCK_SIZE大小的數據塊組成)。這里每一個ASM BLOCK均有一個必備的塊頭KFBH,如下面的例子:
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 4 ; 0x002:KFBTYP_FILEDIR
kfbh.datfmt: 1 ; 0x003: 0x01
kfbh.block.blk: 1 ; 0x004: blk=1
kfbh.block.obj: 1 ; 0x008: file=1
kfbh.check: 325804796 ; 0x00c:0x136b62fc
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000

KFBH說到底是一個C語言頭文件中定義的Structure,其定義大致如下:

endian_kfbh /* endianness of writer */
hard_kfbh /* H.A.R.D. magic # and blocksize */
type_kfbh /* metadata block type */
datfmt_kfbh /* metadata block data format */
block_kfbh /* block location of this block */
check_kfbh /* check value to verify consistency */
fcn_kfbh /* change number of last change */
spare1_kfbh /* zero pad out to 32 bytes */
spare2_kfbh /* zero pad out to 32 bytes */

以上的每一個區域實際均可能是 「驗證發現問題的區域」,例如:

ORA-15196:invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0]
ORA-15196INVALID ASM BLOCK HEADER [KFC.C 8064] [CHECK_KFBH] [2147483827] [2]

l 存放在ASM Block中的ASM對象號object_number

這里每一個ASMmetadata block都對應於特定的ASM結構元文件。kfbh.block.obj即塊頭的對象號信息,實際也是ASM的文件號。例如下面的例子 即是1號文件KFBTYP_FILEDIR File Directory

[oracle@mlab2~]$ kfed read /oracleasm/asm-disk01aun=2 blkn=1 aus=4194304|less
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 4 ; 0x002:KFBTYP_FILEDIR
kfbh.datfmt: 1 ; 0x003: 0x01
kfbh.block.blk: 1 ; 0x004: blk=1
kfbh.block.obj: 1 ; 0x008: file=1
kfbh.check: 325804796 ; 0x00c: 0x136b62fc
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000

ASMFile number: ASM Metadata: kfbh.type 的對應關系

ASM File number

ASM Metadata

kfbh.type

1

File Directory

KFBTYP_FILEDIR

2

Disk Directory

KFBTYP_DISKDIR

3

Active Change Directory (ACD)

KFBTYP_CHNGDIR

4

Continous Operations Directory (COD)

KFBTYP_COD_DATA

5

Template Directory

KFBTYP_TMPLTDIR

6

Alias Directory

KFBTYP_ALIASDIR

9

Attributes Directory

KFBTYP_ATTRDIR

12

Staleness Directory

KFBTYP_STALEDIR

對於其他的metadata結構如PST、KFBTYP_DISKHEAD等其kfbh.block.obj總是2147483648,即16進制 0x 80000000,如:

[oracle@mlab2~]$ kfed read /oracleasm/asm-disk01aun=0 blkn=0 aus=4194304|less
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 1 ; 0x002:KFBTYP_DISKHEAD
kfbh.datfmt: 1 ; 0x003: 0x01
kfbh.block.blk: 0 ; 0x004: blk=0
kfbh.block.obj: 2147483648 ; 0x008: disk=0
kfbh.check: 852050979 ; 0x00c:0x32c94423
kfbh.fcn.base: 106569 ; 0x010: 0x0001a049
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000

l 存放在ASM block中的塊號 block number

一個ASMFile往往由多個Extent組成,一個Extent可以是一個Allocation Unit,也可以使多個allocation Units(VariableExtent Size)。 一個Extent又由多個ASM metadata block(一般為4096 bytes大小)組成。默認1MB AU下,一個extent對應256個ASM metadata block。

kfbh.block.blk代表某個文件中的塊號。例如kfbh.block.blk=93,那麼一般存放在某個文件的第一個extent里。而這個extent可以由Disk group上任意ASM disk上的任意AU組成。

l 2nd指定的區域中實際存放的值

即第二個變數中現在實際存放的數值

l 2nd指定的區域中應當存放的值

即第二個變數中理論上應當存放的數值

我們來看一個例子:

ORA-15196:invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0]

可以解釋為1號文件的93塊 中的endian_kfbh區域在kfc.c的7997代碼做檢測時發現,其實際存放的值為211,而實際上endian_kfbh 一般只有2個值 0x01 或者 0x00,0x01代表Little Endian,0x00代表Big Endian。 211這個實際存放值是非法的,說明這個重要的1號文件的93號塊出現了損壞。

ORA-15196相關的一些BUG Note如下:

Bug 14545129 - ORA-15196_ INVALID ASM BLOCK HEADER [KXDAM

Bug 14740185 - ASM REPORTED CORRUPTED AT BLOCKS _ ORA-15196_ INVALID ASM BLOCK HEADER [KFC

Bug 5554692 - Error ORA-15196 reporting ASM block header invalid ora-15196 after ORA-.pdf

ORA-15196 and ORA-600 [kfgpn lclenq] Resizing Datafile or Dropping User (Doc ID 759379.1)

ORA-15196 WITH ASM DISKS LARGER THAN 2TB (Doc ID 736891.1)

Querying V$ASM_FILE Gives ORA-15196 After ASM Was Upgraded From 10gR2 To 11gR2 with an AU size 1M (Doc ID 1145365.1)

Bug 11801536 ORA-15196 INVALID ASM BLOCK HEADER [KFC.C 8064] [CHECK_KFBH] [2147483827]

Bug 13605059 - ORA-15196_ INVALID ASM BLOCK HEADER [KFC

但主要引起ORA-15196錯誤的原因並不是ORACLE自身的BUG,而是ORACLE之外的一些因素:

1. ASM使用的磁碟被從OS級別做了某種格式化,或者頭部被覆蓋,例如AIX下chdev設置了pv頭
2. ASM使用的磁碟被分配為文件系統,這個一般是誤操作導致的,例如SA系統管理員看到一塊ASM磁碟被有被操作系統使用,就認為這是浪費,而在上面mkfs
3. 由於IO鏈路或者存儲故障,如丟失寫等
4. 由於第三方應用引起

l 建議收集的數據

對於該ORA-15196詩檀建議收集如下的數據:

Oracle告警日誌alert.log和相關的trace文件
發生問題的ASMDisk的前300MB數據的DD

首先通過alert.log的內容確定損壞發生的ASM Disk號:
WARNING:cache failed to read fn=1 blk=80 from disk(s): 0
ORA-15196:invalid ASM block header [kfc.c:7997] [endian_kfbh] [1] [93] [211 != 0]

這里disk(s):0,指DISK_NUMBER=0的ASM DISK,之後通過dd命令復制300MB數據:

$ddif=<device path> of=/tmp/disk.dd bs= 1048576 count=300

如果自己搞不定可以找詩檀軟體專業ORACLE資料庫修復團隊成員幫您恢復!

9. oracle 資料庫使用了asm自動存儲管理來放數據文件,請問要怎麼給asm diskgroup磁

【日常管理】Asm Diskgroup增加磁碟add disk


sql">showparameterpower

altersystemsetasm_power_limit=0;'/asmdisks/asmdiskA28';
'/asmdisks/asmdiskA27';
'/asmdisks/asmdiskA26';
'/asmdisks/asmdiskA25';
'/asmdisks/asmdiskA24';
'/asmdisks/asmdiskA23';
'/asmdisks/asmdiskA22';
'/asmdisks/asmdiskB50';
'/asmdisks/asmdiskB49';
'/asmdisks/asmdiskB48';
'/asmdisks/asmdiskB45';
'/asmdisks/asmdiskB44';
'/asmdisks/asmdiskB43';
'/asmdisks/asmdiskB42';

;
select*fromv$asm_operation;
熱點內容
單機江湖腳本 發布:2025-04-05 10:08:32 瀏覽:760
愛奇藝離線緩存怎麼傳藍牙 發布:2025-04-05 10:00:48 瀏覽:138
阿里雲伺服器內存超頻 發布:2025-04-05 10:00:48 瀏覽:574
如何登錄pubg國際服安卓手機 發布:2025-04-05 09:40:07 瀏覽:412
javafor表達式 發布:2025-04-05 09:22:22 瀏覽:868
可逆的加密演算法 發布:2025-04-05 09:22:22 瀏覽:495
我的世界怎麼讓別人進我的伺服器 發布:2025-04-05 09:11:59 瀏覽:800
iphone手機怎麼玩安卓的游戲賬號 發布:2025-04-05 09:09:49 瀏覽:713
存儲過程編程 發布:2025-04-05 09:09:13 瀏覽:138
qq相冊加密如何打開 發布:2025-04-05 08:59:09 瀏覽:679