ORACLE中文教程—ASM管理_第1頁
ORACLE中文教程—ASM管理_第2頁
ORACLE中文教程—ASM管理_第3頁
ORACLE中文教程—ASM管理_第4頁
ORACLE中文教程—ASM管理_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1ASM:automatic storage management(自動存儲管理)Oracle10g之前,存儲設(shè)備的使用情況1、UNIX或者LINUX操作系統(tǒng)上安裝邏輯卷管理器(LVM)通過LVM將多個磁盤做成卷組在卷組上劃分邏輯卷(logical volume)在邏輯卷上創(chuàng)建文件系統(tǒng)將文件系統(tǒng)掛載到某個目錄下面2、windows將磁盤劃分成不同的分區(qū)分區(qū)上創(chuàng)建文件系統(tǒng)上面的都是通過文件系統(tǒng)對空間進行管理,軟件通過文件系統(tǒng)來訪問存儲空間3、裸設(shè)備:不通過文件系統(tǒng),而是直接由Oracle數(shù)據(jù)庫實例來讀寫磁盤對文件系統(tǒng)來說,管理文件相對容易,性能較差對裸設(shè)備來說,管理文件相對困難,性能好2Orac

2、le 10g中,Oracle結(jié)合了文件系統(tǒng)和裸設(shè)備的優(yōu)點,推出了ASM的概念。如果使用ASM作為存儲解決方案,則數(shù)據(jù)庫在讀寫文件時,采用類似裸設(shè)備的方法,繞過文件系統(tǒng)和操作系統(tǒng)。ASM管理的文件可以修改文件名、以及允許文件大小尺寸的動態(tài)擴展或收縮,再管理文件方面,ASM具有文件系統(tǒng)的優(yōu)點。ASM本身由兩大部分組成,ASM實例和ASM磁盤組ASM磁盤組里面只能存放Oracle數(shù)據(jù)庫文件:數(shù)據(jù)文件、聯(lián)機重做日志文件、控制文件等對ASM磁盤組的管理,則由ASM實例來完成ASM的好處1、ASM是跨平臺的,主流的硬件平臺都能使用、且管理方式一致2、數(shù)據(jù)均勻的分布在磁盤組里所有的磁盤上,實現(xiàn)了文件級別的條

3、帶化,提高了讀取和寫入數(shù)據(jù)的性能3、提供多重冗余級別,保證數(shù)據(jù)不丟失4、支持在線的磁盤更換,添加或刪除磁盤以后,自動重分布數(shù)據(jù),這個過程叫做rebalance3ASM磁盤組的概念如下ASM磁盤組ASM文件ASM磁盤分配單元(AU)磁盤物理塊1、ASM磁盤組可以包含多個磁盤2、磁盤中可以包含多個文件,因為文件打散以后放在多個磁盤上,因此磁盤和文件是多對多的關(guān)系3、一個ASM磁盤被分成多個AU,每個AU大小是1M,一個Oracle數(shù)據(jù)塊一定放在一個AU中,不會跨多個AU,一個AU則由多個物理磁盤塊組成,AU是ASM進行擴張和收縮時的最小單位4、一個磁盤組可以包含多個數(shù)據(jù)庫文件4ASM實例ASM實例

4、是用來管理元數(shù)據(jù),這些元數(shù)據(jù)就是數(shù)據(jù)庫實例在訪問、讀寫ASM文件時所必須的。數(shù)據(jù)庫實例可以直接打開ASM磁盤組,并從中讀取ASM文件,與ASM實例通信只是為了獲取這些ASM磁盤以及連接到ASM磁盤的方法而已ASM的體系結(jié)構(gòu)5Group ServicesDgroupA=+ASMDgroupB=+ASM數(shù)據(jù)庫實例DBWnASMBRBALASM實例SID=+ASMRBALARBnGMONASM磁盤組 DgroupAASM磁盤ASM磁盤ASM磁盤組 DgroupBASM磁盤ASM磁盤數(shù)據(jù)庫實例DBWnASMBRBALSID=ora10gSID=xkjASM體系結(jié)構(gòu)6ASM實例有3個類型的后臺進程1、R

5、BAL:負責協(xié)調(diào)組內(nèi)不同磁盤組之間的rebalance工作,reblance工作指的是數(shù)據(jù)在不同的磁盤之間轉(zhuǎn)移2、ARBn:用來實際完成rebalance工作,可以由多個進程并發(fā)完成rebalance的工作3、GMON:用來監(jiān)控磁盤組內(nèi)有關(guān)元數(shù)據(jù)的維護操作每個使用了ASM存儲的數(shù)據(jù)庫實例也有兩個新的進程1、RBAL:用來打開磁盤組里的磁盤,然后通過DBWn進程將數(shù)據(jù)寫入到這些打開的磁盤里去2、ASMB:在第一次訪問ASM文件時動態(tài)創(chuàng)建,他作為前臺進程連入到ASM實例,從而使得數(shù)據(jù)庫實例和ASM實例之間建立了一個連接通道。通過該通道,定期在兩個實例之間傳遞數(shù)據(jù),并保持兩個實例都正常工作。ASMB

6、會訪問Group Services,從中獲取有關(guān)ASM實例所管理的磁盤組的信息。當數(shù)據(jù)庫實例要向某個磁盤組里寫入數(shù)據(jù)時,通過GROUP Services,數(shù)據(jù)庫實例知道磁盤組是由哪個ASM實例管理的(例如DGruopA由+ASM管理)以及連接到該磁盤組的信息,并通過RBAL進程打開磁盤組,于是就可以將數(shù)據(jù)寫入磁盤組。由于數(shù)據(jù)庫實例一次只能連接到一個ASM實例上,因此只能存在一個ASMB進程7Group Services用來注冊ASM實例所管理的磁盤組,以及連接磁盤組的信息。當一個ASM實例與另外一個磁盤組關(guān)聯(lián)時(這個過程叫做mount),他會將磁盤組以及該磁盤組的連接信息注冊到Group Se

7、rvices里面。數(shù)據(jù)庫實例只能與其所在的同一臺主機上的ASM實例通信,如果當前主機上存在多個數(shù)據(jù)庫,則這些數(shù)據(jù)庫可以共享同一個ASM實例。8創(chuàng)建ASM實例ASM實例與數(shù)據(jù)庫實例類似,也需要參數(shù)文件spfile可以使用dbca完成spfile的創(chuàng)建也可以手工編輯pfile,然后創(chuàng)建spfile選擇配置ASM以后,需要我們運行一個腳本。9另開一個窗口,運行腳本。使用root用戶執(zhí)行。10ASM實例的管理員帳號也是sys,給sys輸入一個密碼。11使用DBCA創(chuàng)建的ASM實例的名字是+ASM。上面的界面出現(xiàn)以后,說明ASM實例已經(jīng)創(chuàng)建成功。我們可以以后再創(chuàng)建ASM磁盤組。Cancel退出。12這就

8、是pfile的內(nèi)容。這是一個ASM實例,數(shù)據(jù)庫實例是RDBMS。13ASM實例,還有幾個重要的參數(shù)1、db_unique_name:ASM實例的名字2、asm_power_limite:默認為1,表示ASM磁盤組在進行rebalance時的速度。取值從1到11,1表示最小,對前臺的影響最小,11表示最大,對前臺用戶的影響也越大3、asm_disk_string:表示在創(chuàng)建磁盤組時,在指定的路徑下搜索磁盤。如果要創(chuàng)建磁盤組,必須設(shè)置該參數(shù),如果設(shè)置為/dev/raw/raw,那么表示磁盤組里面的磁盤都位于/dev/raw下面,以raw開頭4、asm_diskgroup:表示啟動實例時,自動mou

9、nt那些磁盤組,可以寫多個磁盤組名。中間以逗號分開,不要在磁盤組名兩邊加引號diskgroupa,diskgroupb5、large_pool_size,必須定義,至少為1MB14我們可以使用dbcontrol來管理ASM實例,默認情況下,沒有設(shè)置ASM實例的主頁。需要進行一些轉(zhuǎn)換。單擊continue輸入ASM實例的sys密碼和oracle用戶及密碼1516單擊注銷退出17重新登陸后。18創(chuàng)建完成ASM以后,我們可以對ASM實例進行啟動和關(guān)閉。ASM實例的啟動分為以下兩個階段1、nomount:該階段讀取spfile,根據(jù)其中的參數(shù)定義啟動ASM實例2、mount:將初始化參數(shù)asm_dis

10、kgroup所定義的磁盤組mount起來這個錯誤只是說明我們沒有定義ASM實例啟動時默認要mount起來的磁盤組而已,可以忽略。19實例啟動起來以后,可以手工的mount磁盤組關(guān)閉ASM實例,也可以有四個參數(shù):normal、transactional、immediate、abort如果沒有以abort選項關(guān)閉ASM實例,且這個時侯數(shù)據(jù)庫實例正在使用ASM實例,則無法關(guān)閉ASM實例如果以abort關(guān)閉ASM實例,首先會使用abort選項關(guān)閉連接在ASM上的數(shù)據(jù)庫實例,然后關(guān)閉ASM實例對ASM發(fā)出startup force命令,這與數(shù)據(jù)庫實例一樣,先以abort選項關(guān)閉ASM實例,然后再star

11、tup,從而啟動ASM實例對于單實例的ASM來說,如果ASM實例異常中斷或發(fā)出shutdown abort、startup force命令時,則當ASM實例啟動的以后,會讀取磁盤組里的日志文件,進行實例的恢復(fù),如果是多ASM實例,也就是配置了ASM集群,如果其中一個實例崩潰,其他ASM實例會負責恢復(fù)該實例的數(shù)據(jù)。20管理ASM磁盤組ASM磁盤組就是將多塊磁盤組合在一起,在邏輯上作為一個整體,磁盤組里的每塊物理磁盤都有一個ASM的磁盤名稱,該名稱可以由ASM自動生成,也可以由我們指定。磁盤本身的名稱在ASM磁盤組里叫做路徑,例如一塊磁盤的物理路徑是/dev/rdsk/c0b0t2d0s1,我們可

12、以給這個磁盤起一個名字disk1ASM磁盤組將每塊磁盤都分割成多個大小1MB的單元,叫做分配單元(allocation unit),對于磁盤組里的數(shù)據(jù)文件來說,ASM會將數(shù)據(jù)文件分割成多個大小為1MB的塊(chunk),并將這些chunk均勻的分布在所有的磁盤上,這叫做coarse striping。對于聯(lián)機重做日志文件和控制文件來說,因為文件較小,因此分割成128KB大小的chunk,這叫做fine-grained striping。一個AU里面就存放多個128KB的chunk。21通過將文件分割成多個chunk,平均分布在ASM磁盤組里所有的磁盤上,并進行條帶化,我們應(yīng)該確保ASM磁盤組里

13、面的磁盤尺寸應(yīng)該是一致的、轉(zhuǎn)速應(yīng)該是一致的。ASM磁盤組的個數(shù)不應(yīng)該過多,兩個就夠用了,一個用來存放數(shù)據(jù)、一個用來存放flash recovery area。故障組(failure group FG)在磁盤組這么一個邏輯組里面,再次劃分成更小的邏輯組,這個更小的邏輯組就叫做故障組。通過故障組將多塊磁盤組織起來。故障組主要是為了鏡像。在ASM磁盤組里面,鏡像是在AU級別上完成的,而不是文件級別上。三種鏡像級別1、外部鏡像(external redundancy)不在ASM磁盤組里面提供鏡像功能,如果ASM本身就建立在硬件冗余的基礎(chǔ)上,或者容忍數(shù)據(jù)的丟失,可以配置成外部鏡像。2、普通鏡像(norm

14、al redundancy)提供兩重鏡像功能,對于文件里面的每個AU,都會存在該AU的一份副本。3、高鏡像(high redundancy)提供三重鏡像功能,對于文件里面的每個AU,都會存在該AU的兩份副本22磁盤組Dgroup1故障組(FG1)故障組(FG2)23ASM在進行鏡像的時候,有一條規(guī)則:永遠不會將AU(主AU)與他的副本放在同一個故障組里面。假設(shè)我們有一個數(shù)據(jù)文件,由6個AU組成。其所在的磁盤組上定義了兩重鏡像。AU分布如下:磁盤組Dgroup1故障組(FG1)故障組(FG2)P主AUM鏡像副本P1P2P3P4P5P6M6M5M4M3M2M1每一塊從盤都包含主AU和鏡像副本AU,

15、單個磁盤損壞或者整個故障組損壞,始終都不會丟失數(shù)據(jù)。24假設(shè)有兩個磁盤控制器,每個磁盤控制器有三個磁盤,那么我們可以建立兩個故障組,每個故障組建立在一個磁盤控制器上的三塊硬盤上。如果沒有指定磁盤屬于哪個故障組,ASM會為該磁盤單獨創(chuàng)建一個故障組。如果我們在磁盤組上定義了外部冗余,則該磁盤組里不能創(chuàng)建故障組。如果我們定義了兩重鏡像,那么該磁盤組至少需要有兩個故障組。如果我們定義了三重鏡像,那么該磁盤組至少需要有三個故障組。我們不能直接刪除故障組,當故障組的最后一塊硬盤被刪除以后,該故障組就被刪除。ASM磁盤組支持熱插拔磁盤,當我們向磁盤組里添加硬盤時,ASM會自動從該磁盤組里的每塊磁盤上取出部分

16、AU,并放入到新加入的磁盤里,從而使得每塊磁盤的數(shù)據(jù)量大致相等。當我們從磁盤組里面刪除磁盤的時候,ASM會自動的將被刪除的磁盤里的AU平均分配到剩余的磁盤中,這個過程叫做再平衡。Rebalance的過程完全是自動進行,不需要人工的干預(yù)。asm_power_limite的值可以決定rebalance的速度,1-11.25ASM里并沒有數(shù)據(jù)字典信息,不能將磁盤與磁盤組以及故障組的對應(yīng)關(guān)系記錄在數(shù)據(jù)字典里面。ASM通過在物理磁盤的頭部記錄元數(shù)據(jù),從而描述了每塊磁盤屬于哪個磁盤組以及故障組,因此ASM里的每塊磁盤都是自我描述的。下面的例子,在linux下面模擬了一些物理的磁盤26將這些文件和裸設(shè)備關(guān)聯(lián)

17、起來。如果要刪除通過dd模擬出來的虛擬磁盤文件的話,直接刪除模擬出來的磁盤文件還不夠,還必須執(zhí)行l(wèi)osetup d /dev/loopN。在這里N從1到6,否則磁盤空間不能釋放。27使用DBCA創(chuàng)建磁盤組28只顯示沒有劃分到磁盤組的磁盤如果沒有發(fā)現(xiàn)磁盤,那么可以點擊change disk discovery path,這其實就是修改了asm_disk_string參數(shù)。29對于DBCA來說,只能用來創(chuàng)建ASM磁盤組。303132使用SQL語句來管理磁盤組可以指定size,也可以不指定。100M后面可以加上force,這表示這塊磁盤已經(jīng)屬于另外一個磁盤組,需要強行加入進來。如果磁盤沒有屬于任何組

18、,那么加上force會報錯。創(chuàng)建完成以后,會自動的mount磁盤組。33刪除磁盤前,磁盤組必須是mount狀態(tài)。刪除以后,里面的數(shù)據(jù)文件丟失,同時磁盤頭部記錄的磁盤信息被刪除。34Raw1屬于另外一個磁盤組,將raw1所在的磁盤組dismount以后,就可以將這個磁盤從另外一個磁盤組中拽出來,放進這個磁盤組中。35添加一塊磁盤到磁盤組中,如果沒有指定故障組,則磁盤組會為這塊磁盤創(chuàng)建一個新的故障組,故障組的名字就是磁盤的名字。刪除磁盤以后,ASM磁盤組會自動進行一次rebalance操作,添加磁盤后,還會進行一次rebalance。如果我們需要更換磁盤,那么建議將刪除和添加磁盤的操作放在一起執(zhí)行

19、。實際中1、先拔下?lián)p壞的磁盤,再插入新的磁盤以后,執(zhí)行下面的語句(假設(shè)DgroupB的Disk3損壞,現(xiàn)在使用raw4去替換)改變一個磁盤組的rebalance參數(shù)36使用em來管理ASM模擬了6塊大小400M的磁盤37ASM需要lsnrctl啟動以后才能啟動。38同樣建立DgroupB磁盤組3940管理ASM文件前面講了一個問題1、創(chuàng)建ASM實例、啟動和關(guān)閉ASM實例2、配置em可以管理ASM實例3、創(chuàng)建ASM磁盤組接下來做的事情就是使用ASM實例和磁盤組ASM文件指的是存放在ASM磁盤組里面的文件,這些文件都是Oracle管理文件(OMF)SQLcreate tablespace asm_

20、test datafile +DgroupA size 20M;創(chuàng)建了一個大小是20M的表空間,數(shù)據(jù)文件存放在ASM磁盤組DgroupA里面,數(shù)據(jù)文件的名字由OMF自動賦予。我們可以將數(shù)據(jù)庫里面的部分文件存放在文件系統(tǒng)里面,另外一部分文件存放在ASM磁盤里面。只能通過RMAN對ASM磁盤組里的文件進行備份。41ASM的多種命名方式1、完整的命名方式+/.:磁盤組名稱:數(shù)據(jù)庫的名稱:該文件的文件類型:對于數(shù)據(jù)文件來說,就是表空間的名稱.:表示唯一的值A(chǔ)SM磁盤組里也是有目錄概念的,其目錄概念與文件系統(tǒng)里的目錄概念類似,也是一顆目錄樹。這種命名方式,不能手工指定,必須由ASM自動賦予該名稱。我們只

21、能引用這個名稱。422、數(shù)字的命名方式同完整命名方式,也是只能引用,不能在創(chuàng)建時引用。由磁盤組名和唯一編號合并而成。數(shù)字命名不會出現(xiàn)在ASM的樹目錄里面,但是我們可以引用。對于上面的文件的數(shù)字命名是+DGROUPA.256.682257497+.3、別名的命名方式+/這種命名方式既可以在用戶創(chuàng)建時使用,也可以在引用文件時使用。命名時,所指定的目錄必須存在,不能在別名中帶有點和數(shù)字使用了別名的命名方式以后,該文件就不是OMF,刪除文件的時候,oracle不會自動的從物理上刪除該文件,建議在建立文件的時候不要使用這種方式,而是在創(chuàng)建完ASM以后,為新生成的文件取一個別名。433、帶模板的命名方式該

22、命名方式只能在創(chuàng)建ASM時使用,表示在創(chuàng)建文件時指定一個模板的名稱,以模板上定義的屬性值來創(chuàng)建新的文件。+ / ()4、不完全的命名方式+,創(chuàng)建ASM文件時使用,Oracle會根據(jù)所創(chuàng)建的ASM文件的類型選擇默認的模板來創(chuàng)建文件。5、帶模板的不完全的命名方式+(),這種方式只能用于創(chuàng)建ASM文件使用,Oracle會采用指定的模板來創(chuàng)建文件44ASM支持數(shù)據(jù)庫里大部分的文件類型,每種文件類型都會關(guān)聯(lián)一個默認的模板名稱。模板表示的是一個命名的屬性集合,將一堆屬性值組合起來,起一個名字來代表。在創(chuàng)建文件時使用模板,簡化了創(chuàng)建文件的過程每個磁盤組可以有不同的模板,當創(chuàng)建磁盤組的時候,ASM會為該磁盤組

23、創(chuàng)建默認的模板。默認模板針對不同類型的文件提供了不同的默認值屬性,可以在創(chuàng)建完成磁盤組以后修改這些屬性,但是不能刪除默認的模板。顯示默認模板的屬性不同的文件具有不同的屬性。模版定義了ASM文件的冗余度和條帶集。普通鏡像三重鏡像1M chunk128K chunk不同的文件類型45磁盤組在定義的時候,定義了冗余度和條帶集,我們在創(chuàng)建文件的時候,可以使用模板來覆蓋磁盤組的定義。該模板不冗余,條帶集是1MB。ASM實例中運行。ASM實例中select46PS大小是20M,LS也是20M,顯然沒有冗余。上面兩個文件,LS是PS的兩倍,顯然是用的是普通鏡像。刪除模板。47給一個已經(jīng)存在的ASM文件起一個容易記住的別名,添加別名以前,可以先添加目錄。子目錄需要一級一級的添加。當前實例是數(shù)據(jù)庫實例,這種提示表示需要到ASM實例中去執(zhí)行。上面使用了數(shù)字命名方式,也可以采用完整命名方式。48上面出現(xiàn)了一個問題,如果在磁盤組前面沒有添加+,那么就不認為是磁盤組,而是一個普通的名字。49因為ASM磁盤組里面的文件不能通過普通的操作系統(tǒng)命令訪問,因此如果要將數(shù)據(jù)庫從文件系統(tǒng)遷移到ASM磁盤組里面,則必須通過RMAN,如果數(shù)據(jù)庫啟用了閃回數(shù)據(jù)庫功能,需要先關(guān)閉閃回數(shù)據(jù)庫功能。1、修改初始化參數(shù)control_files和flash recovery ar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論