日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转]Oracle DB 管理ASM实例

發(fā)布時間:2024/6/18 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]Oracle DB 管理ASM实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? 描述使用ASM 的好處 ? 管理ASM 實例 ? 創(chuàng)建和刪除ASM 磁盤組 ? 擴展ASM 磁盤組 ? 通過使用各種實用程序檢索ASM 元數(shù)據(jù)
  • Automatic Storage Management
Automatic Storage Management (ASM) 將文件系統(tǒng)與卷管理器縱向集成在一起,這是一項專門為Oracle DB 文件建立的技術(shù)。使用ASM 可管理單個對稱多處理(SMP) 計算機,或通過管理集群的多個節(jié)點來支持Oracle Real Application Clusters (RAC)。 ASM 在所有可用的資源中分布輸入/輸出(I/O) 負載,以在免除手動I/O 優(yōu)化的同時優(yōu)化性能。ASM 幫助DBA 管理動態(tài)數(shù)據(jù)庫環(huán)境,讓DBA 在不關(guān)閉數(shù)據(jù)庫的情況下,通過增加數(shù)據(jù)庫的大小來調(diào)整存儲分配。 ASM 通過提供數(shù)據(jù)的冗余副本來提供容錯能力,ASM 也可以建立在供應商提供的存儲機制上。數(shù)據(jù)管理是通過為數(shù)據(jù)類選擇所需的可靠性和性能特性(而不是逐個文件地進行人為交互)來實現(xiàn)的。 通過自動處理手動存儲,ASM 功能節(jié)省了DBA 的時間,從而提高了管理員管理更多和更大數(shù)據(jù)庫的能力,而且效率也會更高。
  • ASM:主要功能和優(yōu)點
? 對文件而不是邏輯卷進行條帶化 ? 提供聯(lián)機磁盤重新配置和動態(tài)重新平衡功能 ? 允許調(diào)整重新平衡速度 ? 以每個文件為基礎提供冗余 ? 只支持Oracle DB 文件 ? 可識別集群 ? 可自動安裝 ASM 將文件劃分為區(qū)(不同于前面討論的數(shù)據(jù)文件區(qū)),而且將每個文件的區(qū)均勻分布在所有磁盤上。ASM 使用索引技術(shù)跟蹤每個區(qū)的位置。存儲容量發(fā)生變化時,ASM 不會重新對所有數(shù)據(jù)進行條帶化,而是根據(jù)添加或刪除的存儲量,按比例移動一定數(shù)量的數(shù)據(jù),以重新平均分配文件,并在磁盤間保持負載平衡。此操作可在數(shù)據(jù)庫處于活動狀態(tài)時執(zhí)行。可以提高重新平衡操作的速度,以便更快地完成操作;也可以降低速度,以減少對I/O 子系統(tǒng)的影響。ASM 還提供了鏡像保護,因此不必再購買第三方的邏輯卷管理器。 ASM 的一個特有優(yōu)勢是可基于文件而不是卷進行鏡像。因此,同一磁盤組可以包含鏡像文件或非鏡像文件的組合。 ASM 支持數(shù)據(jù)文件、日志文件、控制文件、歸檔日志、Recovery Manager (RMAN) 備份集及其它Oracle DB 文件類型。ASM 還支持RAC,這樣就不再需要集群邏輯卷管理器或集群文件系統(tǒng)。
  • ASM:概念
ASM 不會妨礙先前存在的數(shù)據(jù)庫功能。現(xiàn)有數(shù)據(jù)庫能夠像平常一樣工作。可以將新文件創(chuàng)建為ASM 文件,繼續(xù)按原有的方式管理現(xiàn)有文件,也可以最終將這些文件移植到ASM。 圖表描述了使用ASM 的Oracle DB 中的各種存儲組件之間存在的關(guān)系。圖表的左側(cè)部分和中間部分顯示了在以前版本中存在的關(guān)系。 右側(cè)部分是ASM 引入的新概念。 數(shù)據(jù)庫文件可以存儲為ASM 文件。新層次的頂部是ASM 磁盤組。任何單個ASM 文件只能包含在一個磁盤組中。 不過,一個磁盤組中可以包含屬于多個數(shù)據(jù)庫的多個文件,并且單個數(shù)據(jù)庫可以使用來自多個磁盤組的存儲空間。 一個磁盤組由多個ASM 磁盤組成,但每個ASM 磁盤只能屬于一個磁盤組。 ASM 文件總是分布在該磁盤組中的所有ASM 磁盤上。 ASM 磁盤按分配單元進行分區(qū)。分配單元(AU) 是ASM 分配的最小連續(xù)磁盤空間。 創(chuàng)建磁盤組時,可以將ASM AU 大小設置為2 的冪(1、2、4、8、16、32 或64),范圍在1 MB 到64 MB 之間。 對于使用大量順序讀取操作的數(shù)據(jù)倉庫應用程序,較大的AU 大小通常會提供性能優(yōu)勢。 注:圖中的圖形只顯示了一種ASM 文件:數(shù)據(jù)文件。不過,ASM 也可用于存儲其它類型的數(shù)據(jù)庫文件。
  • ASM 對于管理員的好處
使用ASM 可以免除: ? I/O 性能優(yōu)化 ? 數(shù)據(jù)文件移動和重新組織 ? 文件名管理 ? 邏輯卷管理 ? 文件系統(tǒng)管理 ? 集群文件系統(tǒng)管理 ? 裸設備管理 使用ASM 可以顯著減少: ? 邏輯單元號(LUN) 管理 – 邏輯單元數(shù)量較少,大小較大 ? 數(shù)據(jù)庫管理員對系統(tǒng)管理員的依賴性 ? 手動執(zhí)行維護任務時可能發(fā)生的錯誤 使用ASM 可以免除非ASM 存儲環(huán)境中許多必不可少的任務。其中包括: ? I/O 性能優(yōu)化:ASM 采用條帶化和鏡像所有內(nèi)容的策略,且執(zhí)行自動重新平衡操作,這意味著不再需要旨在平衡磁盤使用以及消除磁盤熱點的I/O 性能優(yōu)化。 ? 數(shù)據(jù)文件移動和重新組織:不再需要更改數(shù)據(jù)文件的位置來滿足性能要求和空間約束條件。 ? 文件名管理:不再需要定義和強制執(zhí)行文件命名策略。 ? 邏輯卷、文件系統(tǒng)、集群文件系統(tǒng)和裸設備管理:不再需要這些存儲元素。 使用ASM 可以減少下列重要方面的工作,從而提供更多好處: ? 邏輯單元號(LUN) 管理工作減少,因為ASM 通常需要的邏輯單元較少且大小較大。 ? 數(shù)據(jù)庫管理員與系統(tǒng)管理員之間通常存在的依賴性將大大減少。例如,添加新數(shù)據(jù)文件或?qū)⒋疟P資源從一個磁盤組移至另一磁盤組時不再需要系統(tǒng)管理員干預。 ? 手動執(zhí)行維護任務時可能發(fā)生的錯誤將大大減少。例如,使用常規(guī)文件系統(tǒng)時,新建數(shù)據(jù)文件時可能不慎違反了文件命名慣例,導致數(shù)據(jù)庫的其余部分不支持該文件。
  • ASM 實例
ASM 實例是ASM 的進程和內(nèi)存組件的組合。 每次啟動ASM 或數(shù)據(jù)庫時,都會分配名為系統(tǒng)全局區(qū)(SGA) 的共享內(nèi)存區(qū)域并啟動Oracle ASM 或數(shù)據(jù)庫后臺進程。 后臺進程和SGA 的組合稱為Oracle ASM 實例或Oracle DB 實例。 ASM 實例中的SGA 與數(shù)據(jù)庫實例中的SGA 在內(nèi)存分配和使用方面是不同的。 ASM 實例中的SGA 分為四個主要區(qū)域,如下所示: ? 共享池:用于元數(shù)據(jù)信息 ? 大型池:用于并行操作 ? ASM 高速緩存:用于在重新平衡操作期間讀取和寫入塊 ? 空閑內(nèi)存:可用的未分配內(nèi)存 ASM 的建議最低內(nèi)存量為256 MB。ASM 實例默認啟用自動內(nèi)存管理,該功能將動態(tài)優(yōu)化各個SGA 內(nèi)存組件的大小。 ASM 實例所需的內(nèi)存量將取決于ASM 管理的磁盤空間量。 ASM 實例的第二部分是后臺進程。ASM 實例可以具有許多后臺進程;并不是所有進程始終都會出現(xiàn)。 ASM 功能的后臺進程分為必需和可選兩種。其中一些進程如下所示: ? ARCn:歸檔進程 ? CKPT:檢查點進程 ? DBWn:數(shù)據(jù)庫寫進程 ? DIAG:診斷進程 ? Jnnn:作業(yè)隊列進程 ? LGWR:日志寫進程 ? PMON:進程監(jiān)視器進程 ? PSP0:進程衍生進程 ? QMNn:隊列監(jiān)視器進程 ? RECO:恢復器進程 ? SMON:系統(tǒng)監(jiān)視器進程 ? VKTM:虛擬計時器進程 ? MMAN:內(nèi)存管理器進程 以上進程列表不是完整列表。對于ASM 實例,這些進程并不總是執(zhí)行它們在數(shù)據(jù)庫實例中執(zhí)行的任務。 例如,數(shù)據(jù)庫實例中的LGWR進程負責將更改向量從SGA 的日志緩沖區(qū)部分復制到磁盤上的聯(lián)機重做日志。 ASM 實例的SGA 中不包含日志緩沖區(qū),該實例也不使用聯(lián)機重做日志。 ASM 實例中的LGWR進程將事件記錄信息復制到ASM 磁盤組。 如果ASM 是以集群方式建立的,則將在ASM 實例中運行與集群管理相關(guān)的附加進程。 其中一些進程如下所示: ? LMON:全局入隊服務監(jiān)視器進程 ? LMDn:全局入隊服務守護程序 ? LMSn:全局高速緩存服務進程 ? LCKn:鎖定進程
  • ASM 組件:ASM 實例 - 主要進程
ASM 實例的主要進程負責與ASM 相關(guān)的活動。 ASM 實例使用專用的后臺進程完成其大部分功能。 RBAL進程在自動存儲管理實例中協(xié)調(diào)磁盤組的重新平衡活動。它負責對自動存儲管理磁盤執(zhí)行全局打開操作。 ARBn進程在自動存儲管理實例中執(zhí)行實際的重新平衡數(shù)據(jù)區(qū)移動。可能同時存在多個這樣的進程,這些進程名為ARB0、ARB1等等。 GMON進程維護ASM 磁盤組中的磁盤成員資格。在向脫機磁盤寫入失敗后,MARK進程將ASM 分配單元標記為過時。 Onnn進程表示客戶機/服務器連接的服務器端。啟動實例時將出現(xiàn)這些進程,之后它們將消失。 它們形成與ASM 實例的一組連接,用于交換消息,僅在需要時才出現(xiàn)。 PZ9n進程表示一個或多個并行從屬進程,當ASM 同時在多臺計算機上以集群配置運行時,可以使用該進程提取數(shù)據(jù)。 4、ASM 實例初始化參數(shù) INSTANCE_TYPE = ASM ASM_POWER_LIMIT = 1 ASM_DISKSTRING = '/dev/sda1','/dev/sdb*' ASM_DISKGROUPS = DATA2, FRA ASM_PREFERRED_READ_FAILURE_GROUPS = DATA.FailGroup2 DIAGNOSTIC_DEST = /u01/app/oracle LARGE_POOL_SIZE = 12M REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE ASM 實例由參數(shù)文件控制,其方式與常規(guī)數(shù)據(jù)庫實例相同。通常設置的參數(shù)包括: ??INSTANCE_TYPE應該設置且必須為ASM,表示ASM 實例,標識要啟動的實例是ASM,而不是數(shù)據(jù)庫實例。這是唯一一個必須定義的參數(shù)。對于數(shù)據(jù)庫實例,該參數(shù)值設置為RDBMS。 ? ASM_POWER_LIMIT:控制重新平衡操作的速度即指定磁盤rebalance的程度。值的范圍從1 到11,11 表示最快。如果省略,該值默認為1。指定的級別越高,則rebalance的操作就會越快被完成,當然這也意味著這個時間段內(nèi)將占用更多的資源,指定級別較低的話,隨人rebalance操作會耗時更久,但對當前系統(tǒng)的IO及負載影響會更少,這需要根據(jù)實際情況衡量。另外,這個參數(shù)指定的只是一個默認值,在操作過程中,即可以隨時動態(tài)更改,也可以在語句級命令行時指定power,覆蓋該默認值。 修改ASM實例初始化參數(shù)文件的命令規(guī)則與數(shù)據(jù)庫初始化參數(shù)完全相同,比如說: SQL> alter system set asm_power_limit=5; System altered. ? ASM_DISKSTRING是一個與操作系統(tǒng)相關(guān)的值,ASM 使用它來限制搜索時考慮的磁盤集即是設置ASM啟動時檢查的磁盤,該選項可以同時指定多個值,并且支持通配符。比如只檢查/DEV/SD*。默認值為空字符串,為空的話,表示ASM將查找系統(tǒng)中所有ASM擁有讀寫權(quán)限的設備。這在大多數(shù)情況下就足夠了。如上所示的約束性更強的值可以減少ASM 執(zhí)行搜索所需的時間,從而提高磁盤組裝載次數(shù)。 ? ASM_DISKGROUPS:是ASM 實例啟動時或使用ALTER DISKGROUP ALL MOUNT命令時,ASM 實例要裝載的磁盤組的名稱列表。如果為空的話,那么實際就僅僅啟動到nomount狀態(tài)。如果使用SPFILE的話,該參數(shù)一般不需要手動修改,ASM能夠自動更新該初始化參數(shù)中的值。 Oracle Restart 會裝載列為相關(guān)磁盤組的磁盤組,即使這些磁盤組未與ASM_DISKGROUPS參數(shù)列在一起也是如此。該參數(shù)沒有默認值。 ? ASM_PREFERRED_READ_FAILURE_GROUPS指定包含首選讀取磁盤的故障組。對于包含數(shù)據(jù)的鏡像副本且有一個副本非常接近于服務器的擴展或延伸集群數(shù)據(jù)庫,該參數(shù)非常有用。 ? DIAGNOSTIC_DEST指定自動診斷資料檔案庫(ADR) 主目錄的位置。此目錄下有跟蹤文件、預警日志、核心文件和意外事件文件。此參數(shù)的默認值由ORACLE_BASE的值派生。 ? LARGE_POOL_SIZE指定大型池分配堆的大小(以字節(jié)表示)。大型池分配堆用于共享服務器系統(tǒng)中的會話內(nèi)存,供消息緩沖區(qū)的并行執(zhí)行和磁盤I/O 緩沖區(qū)的備份進程使用。ASM 實例使用自動內(nèi)存管理,所以此參數(shù)用作大型池不能低于的最小大小。 ? REMOTE_LOGIN_PASSWORDFILE指定Oracle 軟件是否檢查口令文件。默認值為EXCLUSIVE。 上面列出的八個參數(shù)是需要為ASM 實例創(chuàng)建的唯一幾個非默認參數(shù)。ASM 實例與數(shù)據(jù)庫實例不同,因為并不是所有的數(shù)據(jù)庫參數(shù)都對ASM 實例有效。在全部344 個數(shù)據(jù)庫實例參數(shù)中,大約有74 個參數(shù)可以用于ASM 實例。對于上面未列出的其它參數(shù),雖然其默認值對于大多數(shù)安裝來說應該已經(jīng)足夠了,但也可以根據(jù)需要進行設置。 注:ASM 實例默認啟用自動內(nèi)存管理,即使未明確設置MEMORY_TARGET參數(shù)也是如此。 該參數(shù)是全面ASM 內(nèi)存管理唯一需要設置的參數(shù)。Oracle Corporation 強烈建議對ASM?實例使用自動內(nèi)存管理。
  • 數(shù)據(jù)庫實例與ASM 之間的交互
文件創(chuàng)建過程可以很好地說明數(shù)據(jù)庫實例與ASM 之間發(fā)生的交互。文件創(chuàng)建過程如下所示: 1. 數(shù)據(jù)庫請求創(chuàng)建文件。 2. ASM 前臺進程創(chuàng)建一個持續(xù)操作目錄(COD) 條目并在磁盤組中為新的文件分配空間。 3. ASMB 數(shù)據(jù)庫進程接收新文件的區(qū)映射。 4. 現(xiàn)在文件處于打開狀態(tài),數(shù)據(jù)庫進程直接初始化該文件。 5. 初始化后,數(shù)據(jù)庫進程請求提交文件創(chuàng)建。這會導致ASM 前臺進程清除COD 條目并將文件標記為已創(chuàng)建。 6. 文件提交確認會隱式關(guān)閉該文件。將來發(fā)生I/O 時,數(shù)據(jù)庫實例需要重新打開該文件。 此示例強調(diào)了關(guān)于ASM 體系結(jié)構(gòu)的重要兩點: ??數(shù)據(jù)庫實例和ASM 實例協(xié)同工作。數(shù)據(jù)庫實例必須與ASM 交互,以便將數(shù)據(jù)庫文件映射到ASM 區(qū)。 數(shù)據(jù)庫實例還接收與ASM 操作(例如磁盤組重新平衡)相關(guān)的持續(xù)消息流,這類操作可能鎖定或移動ASM 區(qū)。 ? 數(shù)據(jù)庫I/O 不通過ASM 實例來傳輸。實際上,數(shù)據(jù)庫直接根據(jù)ASM 文件執(zhí)行I/O?操作,如步驟4 所示
  • ASM 實例:動態(tài)性能視圖
對于任何實例而言,其主要功能之一就是存儲基于內(nèi)存的元數(shù)據(jù)表。這些表以前綴X$開頭并且通常不進行記錄。 以前綴V$開頭的一系列動態(tài)性能視圖用于以定制形式顯示X$內(nèi)存表中包含的數(shù)據(jù)。這類信息以只讀方式提供,僅具有權(quán)限的管理員可以訪問。 使用SQL 語言從ASM 檢索這類信息。 ASM 實例托管基于內(nèi)存的元數(shù)據(jù)表,這些表通過動態(tài)性能視圖呈現(xiàn)。 ? ASM 實用程序使用SQL 語言訪問這些表來檢索僅含元數(shù)據(jù)的信息 ? 包含許多專用的ASM 相關(guān)視圖,例如: sys@TEST0924> select * from dict where table_name like 'V$ASM_%'; TABLE_NAME ? ? ? ? ? ? ? ? ? ? COMMENTS ------------------------------ -------------------------------------------------- V$ASM_ACFSSNAPSHOTS ? ? ? ? ? ?Synonym for V_$ASM_ACFSSNAPSHOTS V$ASM_ACFSVOLUMES ? ? ? ? ? ? ?Synonym for V_$ASM_ACFSVOLUMES V$ASM_ACFS_ENCRYPTION_INFO ? ? Synonym for V_$ASM_ACFS_ENCRYPTION_INFO V$ASM_ACFS_SECURITY_INFO ? ? ? Synonym for V_$ASM_ACFS_SECURITY_INFO V$ASM_ALIASSynonym for V_$ASM_ALIAS--記錄文件別名信息 V$ASM_ATTRIBUTE?Synonym for V_$ASM_ATTRIBUTE V$ASM_CLIENT?Synonym for V_$ASM_CLIENT--返回當前連接的客戶端實例信息 V$ASM_DISK ??Synonym for V_$ASM_DISK---V$ASM_DISK*相關(guān)視圖中記錄的是ASM管理的磁盤及磁盤組信息 V$ASM_DISKGROUP ? ?Synonym for V_$ASM_DISKGROUP V$ASM_DISKGROUP_STAT ??Synonym for V_$ASM_DISKGROUP_STAT V$ASM_DISK_IOSTAT ??Synonym for V_$ASM_DISK_IOSTAT V$ASM_DISK_STAT ?Synonym for V_$ASM_DISK_STAT V$ASM_FILE ? ?Synonym for V_$ASM_FILE V$ASM_FILESYSTEM ? ? ? ? ? ? ? Synonym for V_$ASM_FILESYSTEM V$ASM_OPERATION ?Synonym for V_$ASM_OPERATION--記錄當前磁盤的操作信息 V$ASM_TEMPLATE?Synonym for V_$ASM_TEMPLATE V$ASM_USER ? ? ? ? ? ? ? ? ? ? Synonym for V_$ASM_USER V$ASM_USERGROUP ? ? ? ? ? ? ? ?Synonym for V_$ASM_USERGROUP V$ASM_USERGROUP_MEMBER ? ? ? ? Synonym for V_$ASM_USERGROUP_MEMBER V$ASM_VOLUME ? ? ? ? ? ? ? ? ? Synonym for V_$ASM_VOLUME V$ASM_VOLUME_STAT ? ? ? ? ? ? ?Synonym for V_$ASM_VOLUME_STAT 21 rows selected. 如下: sys@TEST0924> select GROUP_NUMBER ,NAME ,STATE,TYPE ?from v$asm_diskgroup; GROUP_NUMBER NAME ? ? ? ? ? ? ? ? ? ? ? ? ? STATE ? ? ? TYPE ------------ ------------------------------ ----------- ------ 1 DATA ? ? ? ? ? ? ? ? ? ? ? ? ? CONNECTED ? NORMAL 2 RECOVERY ? ? ? ? ? ? ? ? ? ? ? MOUNTED ? ? NORMAL sys@TEST0924> select GROUP_NUMBER,DISK_NUMBER,NAME,PATH,STATE from v$asm_disk; GROUP_NUMBER DISK_NUMBER NAME ? ? ? ? ? ? ? ? ? ? ? ? ? PATH ? ? ? ? ? ?STATE ------------ ----------- ------------------------------ --------------- -------- 2 ? ? ? ? ? 0 RECOVERY_0000 ? ? ? ? ? ? ? ? ?/dev/asm-diskd ?NORMAL 2 ? ? ? ? ? 1 RECOVERY_0001 ? ? ? ? ? ? ? ? ?/dev/asm-diske ?NORMAL 1 ? ? ? ? ? 1 DATA_0001 ? ? ? ? ? ? ? ? ? ? ?/dev/asm-diskc ?NORMAL 1 ? ? ? ? ? 0 DATA_0000 ? ? ? ? ? ? ? ? ? ? ?/dev/asm-diskb ?NORMAL 上面紅色列出了包含ASM 相關(guān)元數(shù)據(jù)的最常用動態(tài)性能視圖。還有數(shù)百個其它動態(tài)性能視圖,但是其中大多數(shù)視圖都是空的,因為它們需要數(shù)據(jù)庫實例裝載數(shù)據(jù)庫控制文件。ASM 實例不裝載數(shù)據(jù)庫控制文件。 ?
  • ASM 系統(tǒng)權(quán)限
? ASM 實例沒有數(shù)據(jù)字典,所以連接ASM 只能使用下列系統(tǒng)權(quán)限。 ASM 實例沒有數(shù)據(jù)字典,所以連接ASM 實例只能使用以下三種系統(tǒng)權(quán)限之一:SYSASM、SYSDBA或 SYSOPER。 下面的列表講述了這些ASM 系統(tǒng)權(quán)限。 ? SYSASM:該權(quán)限提供對ASM 實例的全部管理權(quán)限。 ? SYSDBA:該權(quán)限授予對ASM 中存儲的數(shù)據(jù)的訪問權(quán)限,在當前版本中還授予SYSASM管理權(quán)限。 ? SYSOPER:該權(quán)限授予使用一組非破壞性ALTER DISKGROUP命令以及啟動和停止ASM 實例的權(quán)限。不允許使用CREATE DISKGROUP等其它命令。 安裝ASM 時,使用操作系統(tǒng)組對 SYSASM、SYSDBA和 SYSOPER權(quán)限進行驗證。 Oracle?Universal Installer (OUI) 實用程序?qū)⑦@些組分別稱為OSASM、OSDBA和 OSOPER組,即OSASM組是授予了 SYSASM權(quán)限的操作系統(tǒng)組。 OSASM、OSDBA和 OSOPER組值的建議名稱分別為 asmadmin、asmdba和 asmoper。 因此,SYSASM是數(shù)據(jù)庫使用的名稱,OSASM是OUI 實用程序使用的名稱,而 asmadmin是操作系統(tǒng)使用的名稱。它們都是指同一組用戶。 第一次創(chuàng)建ASM 實例時,只定義sys和 asmsnmp這兩個ASM 用戶。 創(chuàng)建SYS用戶時,會自動為其分配SYSASM權(quán)限。
  • 使用Oracle Enterprise Manager 管理ASM 用戶
Oracle Enterprise Manager 允許你管理通過遠程連接(使用口令文件驗證)訪問ASM 的用戶。這些用戶是專門為ASM 實例保留的。 僅當你作為SYSASM用戶連接時才具有此功能。如果你作為SYSDBA或SYSOPER用戶連接,該功能將隱藏。 ? 單擊“Creat(創(chuàng)建)”按鈕時將顯示“Create User(創(chuàng)建用戶)”頁。 ? 單擊“Edit(編輯)”按鈕時將顯示“Edit User(編輯用戶)”頁。 ? 通過單擊“Delete(刪除)”按鈕可以刪除創(chuàng)建的用戶。 注:要以SYSASM角色登錄ASM,請單擊該頁頂部的“Preferences(首選項)”鏈接,然后單擊“Preferred Credentials(首選身份證明)”鏈接。此時你將在目標類型列表中看到ASM。單擊ASM 目標類型旁邊的“Set Credentials(設置身份證明)”圖標,定義具有SYSASM權(quán)限的帳戶和口令。你需要從Database Control 中注銷并再次登錄,更改才會生效。
  • 啟動和停止ASM 實例使用SQL*Plus
使用SQL*Plus 啟動和停止ASM 實例與啟動和停止數(shù)據(jù)庫實例的方式相似。 $ . oraenv ORACLE_SID = [orcl] ? +ASM The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is? /u01/app/oracle $ sqlplus / AS SYSASM SQL*Plus: Release 11.2.0.1.0 - Production on Wed Jul 8 20:46:46 2009 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ASM instance started Total System Global Area 284565504 bytes Fixed Size 1336028 bytes Variable Size 258063652 bytes ASM Cache 25165824 bytes ASM diskgroups mounted ASM diskgroups volume enabled SQL> shutdown abort SQL> select name,state from v$asm_diskgroup; NAME ? ? ? ? ? ? ? ? ? ? ? ? ? STATE ------------------------------ ----------- DATA ? ? ? ? ? ? ? ? ? ? ? ? ? MOUNTED RECOVERY ? ? ? ? ? ? ? ? ? ? ? MOUNTED SQL> select instance_name,status from v$instance; INSTANCE_NAME ? ?STATUS ---------------- ------------ +ASM ? ? ? ? ? ? STARTED 在SQL*Plus 中使用STARTUP命令啟動ASM 實例,其方式與啟動Oracle DB 實例的方式相似。啟動ASM 實例時,請注意以下幾點: ? 要使用SQL*Plus 連接ASM 實例,請將 ORACLE_SID環(huán)境變量設置為ASM SID。單實例數(shù)據(jù)的默認ASM SID 為 +ASM,Oracle RAC 節(jié)點的默認ASM SID 是+ASMnode_number,其中node_number是節(jié)點的編號。oraenv腳本將設置ORACLE_BASE、ORACLE_SID、ORACLE_HOME和 PATH變量。 ? 初始化參數(shù)文件必須包含下面的條目: INSTANCE_TYPE = ASM? 該參數(shù)指示正在啟動ASM 實例,而不是數(shù)據(jù)庫實例。 ? 運行STARTUP命令時,該命令嘗試裝載初始化參數(shù)ASM_DISKGROUPS指定的磁盤組,而不是嘗試裝載和打開某個數(shù)據(jù)庫。如果尚未為 ASM_DISKGROUPS輸入值,稍后可以通過ALTER DISKGROUP...MOUNT命令裝載磁盤組。 下面的列表講述了與ASM 相關(guān)的 STARTUP命令參數(shù)。 ? FORCE:在重新啟動ASM 實例之前向它發(fā)出SHUTDOWN ABORT。 ? MOUNT或 OPEN:裝載ASM_DISKGROUPS初始化參數(shù)中指定的磁盤組。這是未指定命令參數(shù)時的默認值。 ? NOMOUNT:啟動ASM 實例而不裝載任何磁盤組。 ? RESTRICT:在受限模式下啟動實例。RESTRICT子句可以與 MOUNT、NOMOUNT和OPEN子句組合使用。 在受限模式下,數(shù)據(jù)庫實例不能使用磁盤組。即,數(shù)據(jù)庫無法打開磁盤組中的文件。 另外,如果磁盤組是由某個實例在受限模式下裝載的,則該磁盤組無法由集群中的任何其它實例裝載。通過受限模式,你可以在磁盤組上執(zhí)行維護任務,而不會受到客戶機的干擾。在磁盤組處于受限模式下時執(zhí)行重新平衡操作,就不再需要在集群環(huán)境中的ASM 實例之間傳遞鎖定和取消鎖定區(qū)映射消息。這樣可以提高重新平衡操作的整體吞吐量。在維護期間結(jié)束時,你必須顯式卸載該磁盤組并在正常模式下重新裝載該磁盤組。 在SQL*Plus 中運行SHUTDOWN命令時將啟動ASM 關(guān)閉進程。在運行此命令之前,請確保已設置ORACLE_SID和 ORACLE_HOME環(huán)境變量,從而你可以連接到ASM 實例。 Oracle 強烈建議你在嘗試關(guān)閉ASM 實例之前關(guān)閉使用該ASM 實例的所有數(shù)據(jù)庫實例。 下面的列表講述了與ASM 相關(guān)的 SHUTDOWN命令參數(shù)。 ? NORMAL:ASM 在卸載所有磁盤組并關(guān)閉ASM 實例之前,將等待任何正在進行的SQL 完成執(zhí)行。在關(guān)閉實例之前,ASM 將等待所有當前連接的用戶從該實例斷開。如果任何數(shù)據(jù)庫實例與ASM 實例連接,則 SHUTDOWN命令將返回錯誤并保持ASM?實例繼續(xù)運行。NORMAL是默認關(guān)閉模式。 ? IMMEDIATE或 TRANSACTIONAL:ASM 在卸載所有磁盤組并關(guān)閉ASM 實例之前,將等待任何正在進行的SQL 完成執(zhí)行。ASM 不等待當前與實例連接的用戶斷開連接。如果任何數(shù)據(jù)庫實例與ASM 實例連接,則 SHUTDOWN命令將返回錯誤并保持ASM 實例繼續(xù)運行。 ? ABORT:ASM 實例立即關(guān)閉,而不按順序卸載磁盤組。這將導致下次啟動ASM 時進行恢復操作。如果有任何數(shù)據(jù)庫實例與ASM 實例連接,則該數(shù)據(jù)庫實例也將中止。 注:有連接的RDBMS 實例時,不應用NORMAL、IMMEDIATE和 TRANSACTIONAL形式的關(guān)閉,而將返回下面的錯誤: SQL> shutdown ORA-15097: cannot SHUTDOWN ASM instance with connected client (process 14372) ASM是依賴于CSS守護進程的,因此在啟動ASM實例前要確保css守護進程已經(jīng)啟動? 。? CSS(Cluster Synchronization Services) 守護進程用來維持ASM 及客戶端數(shù)據(jù)庫實例間的一致性同步,如果是通過dbca建庫的話,那么CSS守護進程默認即會啟動(跟隨系統(tǒng)reboot)。
  • 啟動和停止ASM 實例使用srvctl
可以使用Server Control 實用程序(srvctl) 啟動和停止ASM 實例。 $ . oraenv ORACLE_SID = [orcl] ? +ASM The Oracle base for? ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is? /u01/app/oracle $ srvctl start asm -o mount $ srvctl stop asm -f 可以使用Server Control 實用程序(srvctl) 檢查ASM?實例的狀態(tài)。 $ srvctl status asm ASM is running on edrsr25p1 使用srvctl啟動和停止ASM 實例 可以使用Server Control 實用程序(srvctl) 啟動和停止ASM 實例以及由Grid?Infrastructure 管理的其它資源。srvctl實用程序位于Grid Infrastructure 的ORACLE_HOME/bin位置下和數(shù)據(jù)庫安裝的 ORACLE_HOME/bin位置下。管理ASM、 監(jiān)聽程序或Oracle Restart 時,應該使用位于Grid Infrastructure ORACLE_HOME中的srvctl實用程序。 可以下列方式使用 srvctl實用程序來控制ASM: ? 啟動ASM 實例。 srvctl start asm [-o <start_option>]? <start_option>是有效的實例啟動選項 (FORCE、MOUNT、OPEN、NOMOUNT或RESTRICT)之一(可選) ? 停止ASM 實例。 srvctl stop asm [-o <stop_option>] -f? <stop_option>是有效的實例關(guān)閉選項 (NORMAL、IMMEDIATE、TRANSACTIONAL或 ABORT)之一(可選), –f 是強制 ? 報告ASM 實例的狀態(tài)。 srvctl status asm
  • 啟動和停止ASM 實例使用asmcmd
asmcmd實用程序提供了一個訪問ASM 的命令行界面,無需使用SQL 語言。 $ . oraenv ORACLE_SID = [orcl] ??+ASM The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is? /u01/app/oracle $ asmcmd Connected to an idle instance. ASMCMD> startup ASM instance started Total System Global Area 284565504 bytes Fixed Size 1336028 bytes Variable Size 258063652 bytes ASM Cache 25165824 bytes ASM diskgroups mounted ASM diskgroups volume enabled ASMCMD>?shutdown --abort ASM instance shut down Connected to an idle instance. 使用asmcmd啟動和停止ASM 實例 用于管理的ASM 元數(shù)據(jù)位于ASM 實例內(nèi)包含的動態(tài)性能視圖內(nèi)。通常通過ASM 實用程序使用SQL 語言來訪問這些視圖。要求了解SQL 語言增加了掌握ASM 的學習時間,而且SQL 語言培訓通常不在系統(tǒng)管理員和存儲管理員的學習范圍內(nèi)。asmcmd實用程序提供了一個類似偽Shell 的環(huán)境,可以接受UNIX 格式的語法執(zhí)行常用的ASM 管理任務。 它可以用于管理Oracle ASM 實例、磁盤組、磁盤組的文件訪問控制、磁盤組內(nèi)的文件和目錄、磁盤組的模板以及卷。 可以使用 asmcmd實用程序啟動和關(guān)閉ASM 實例。支持的啟動選項包括: --nomount(在不裝載磁盤組的情況下啟動ASM 實例) --restrict(啟動ASM 實例并限制數(shù)據(jù)庫使用) --pfile <pfile.ora>(使用定制pfile 啟動ASM 實例) 支持的關(guān)閉選項包括: --immediate(立即執(zhí)行關(guān)閉) --abort(中止所有現(xiàn)有操作)
  • 磁盤組概覽
磁盤組是一個或多個磁盤的邏輯分組,ASM 將其作為一個集合來管理。每個磁盤組都包含與自身相關(guān)聯(lián)的元數(shù)據(jù)。在概念上,ASM 磁盤組類似于典型存儲區(qū)域網(wǎng)絡中的邏輯卷。 從磁盤組內(nèi)分配文件空間。磁盤組中存儲的文件的內(nèi)容將在該磁盤組的磁盤中平均分布或條帶化,以便消除熱點并在各磁盤上提供一致的性能。每個ASM 文件都完全包含在一個磁盤組中。但是,一個磁盤組可以包含屬于多個數(shù)據(jù)庫的文件,而一個數(shù)據(jù)庫可以使用來自多個磁盤組的不同文件。 磁盤組的關(guān)鍵屬性是它的冗余設置。有三種可能的磁盤組冗余設置: ? 外部冗余,其中ASM 不提供任何鏡像,磁盤都假設為高度可靠。 ? 正常冗余,其中ASM 默認支持雙向鏡像,從而保證在較不可靠的存儲上實現(xiàn)數(shù)據(jù)完整性。 ? 高冗余,其中ASM 默認支持三向鏡像,從而更好地保證數(shù)據(jù)完整性。 ASM 最多支持創(chuàng)建63 個磁盤組;但是,對于大多數(shù)安裝,你很少會需要很多磁盤組。 ASM磁盤組的管理方式比較多,比如DBCA、EM、SQL*PLUS等都可以操作,還有oracle專門提供了ASMCMD命令行方式,像操作文件系統(tǒng)一樣來操作磁盤組。
  • ASM 磁盤
ASM 磁盤: ? 是為ASM 磁盤組預配的存儲設備 ? 通過正常O/S 接口來訪問 ? 必須可由ASM 所有者讀取和寫入 ? 必須可由集群中的所有節(jié)點訪問 ? 在不同的節(jié)點上可以有不同的O/S 名稱或路徑 ? 可以是: – 整個物理磁盤或物理磁盤的分區(qū) – 存儲陣列中的磁盤或分區(qū) – 邏輯卷(LV) 或邏輯單元(LUN)? – 網(wǎng)絡連接文件(NFS)? ASM 磁盤組包含一個或多個ASM 磁盤。 ASM 磁盤必須可由集群中所有節(jié)點的ASM 所有者讀取和寫入。 ASM 磁盤可以是磁盤上的分區(qū),但是Oracle 強烈建議不要與其它應用程序程序共享ASM?使用的物理磁盤。這是因為在應用ASM 條帶化和鏡像策略時,磁盤組內(nèi)的各個ASM 磁盤的I/O 性能必須相似且一致,才能獲得最佳性能。在ASM 和其它應用程序之間共享設備會難以確保磁盤性能相似且一致。 集群中不同節(jié)點上的ASM 磁盤的O/S 設備名稱不必相同。ASM 通過讀取ASM 磁盤的標頭來識別磁盤組的成員。 通常,ASM 磁盤是以存儲陣列中的裸LUN 提供給ASM 的。另外,ASM 磁盤還可以是遠程NFS 文件器中的文件。
  • 分配單元
ASM 磁盤劃分為分配單元(AU): ? 在創(chuàng)建磁盤組時可以配置AU 大小。 ? AU 默認大小為1 MB: – 足夠小,能夠被數(shù)據(jù)庫緩存;但又足夠大,能夠提供高效的后續(xù)訪問 ? 允許的AU 大小: – 1、2、4、8、16、32 或64 MB? – 在超大型數(shù)據(jù)庫(VLDB) 中或使用專門的存儲硬件時,較大的AU 可能非常有用 在ASM 磁盤內(nèi),空間劃分為分配單元(AU)。AU 默認大小是1 MB,該大小足夠小,不會變?yōu)闊狳c,但又足夠大,能夠提供高效的后續(xù)訪問。創(chuàng)建磁盤組時可以設置AU 大小。你無法更改磁盤組的AU 大小。在超大型數(shù)據(jù)庫(VLDB) 中或使用專門的存儲硬件時,較大的AU 大小可能會很有用。如果經(jīng)常訪問某個AU,則數(shù)據(jù)庫內(nèi)核會將其緩存以便實現(xiàn)更高的訪問效率。
  • ASM 文件
ASM 文件: ? 是由AU 組成的ASM 區(qū)的集合 – 可變大小的區(qū)支持大型文件 ? 對數(shù)據(jù)庫內(nèi)核顯示為普通文件 ? 文件名以“+”開頭 – 例如, +DATA/orcl/datafile/system.256.689832921 ? 可以與可選的文件名別名相關(guān)聯(lián) – 例如,+DATA/dbfiles/mydb/system01.dbf ? 在磁盤組中的磁盤中平均分布 ? 根據(jù)磁盤組中定義的策略進行鏡像 ASM 呈現(xiàn)一組文件供ASM 的客戶機使用。ASM 文件由一組分配單元組成,這些文件對數(shù)據(jù)庫內(nèi)核顯示為普通文件。 每個ASM 文件都具有唯一的系統(tǒng)生成的名稱。 生成格式為:+diskgroup/dbname/file_type/file_type_tag.file.incarnation?, ??+diskgroup :磁盤組名稱; ? ??dbname :數(shù)據(jù)庫的DB_UNIQUE_NAME參數(shù)值; ?? ??file_type :創(chuàng)建的文件類型,比如CONTROLFILE/DATAFILE/ONLINELOG/ARCHIVELOG/TEMPFILE/BACKUPSET/FLASHBAC K等等; ?? ?file_type_tag ?:文件類型的標簽,比如表空間對應的通常為該表空間名稱; ?? ?file.incarnation ?:文件序號+incarnation,用來確保文件的唯一;?
sys@TEST0924> alter tablespace INVENTORY add datafile '+DATA'; Tablespace altered. ASMCMD> pwd +data/test0924/datafile ASMCMD> ls INVENTORY.266.829658135 示例顯示了一個完全限定的ASM 文件名的示例。完全限定的ASM 文件名表示一個層次結(jié)構(gòu),其開頭是加號與磁盤組名稱的組合。磁盤組名稱后是數(shù)據(jù)庫名稱和文件類型。最后的元素由標記名稱、文件編號和原型編號組成。可以創(chuàng)建別名(可選),為管理員提供一種更用戶友好的方式來引用ASM 文件。 文件使用條帶化和鏡像所有內(nèi)容(SAME) 策略在磁盤組的各ASM 磁盤中平均分布。 ASM 本身支持大多數(shù)與數(shù)據(jù)庫相關(guān)的文件類型,例如數(shù)據(jù)文件、日志文件、控制文件、 RMAN 備份及其它文件。在Oracle Database 11g發(fā)行版2 之前,ASM 僅支持與Oracle DB?相關(guān)的文件,無法用于存儲和管理ASCII 跟蹤文件和預警日志、Oracle 二進制文件、 Oracle 集群注冊表(OCR) 和集群表決磁盤。Oracle Database 11g發(fā)行版2 提供在ASM 上運行通用文件系統(tǒng)的方式,從而消除了上述限制。
  • 區(qū)映射
ASM 通過稱為區(qū)映射的元數(shù)據(jù)跟蹤文件的分布。區(qū)映射是一個表,將文件中的數(shù)據(jù)區(qū)映射到磁盤上的分配單元。 文件區(qū)與分配單元之間的關(guān)系如下所示。區(qū)包含: ? 一個AU 用于前20,000 個區(qū)(0-19999)? ?4 個AU 用于接下來的20,000 個區(qū)(20000-39999)? ? 16 個AU 用于40,000 以上的區(qū) 將可變大小的區(qū)與大型分配單元結(jié)合使用,可滿足非常大的ASM 文件的需要。
  • 條帶化粒度
ASM 用于負載平衡的條帶化策略與用于等待時間的條帶化策略不同: ? 對于負載平衡,粗粒度條帶化將多個分配單元連接起來使用。 – 例如: 在ASM 中,條帶化主要具有兩種用途: ? 在磁盤組的所有磁盤中執(zhí)行I/O 負載平衡。 ? 改善I/O 等待時間。 粗粒度條帶化在磁盤組的各磁盤中分布分配單元。這用于為磁盤組提供負載平衡。分配文件時,ASM 會在所有磁盤中平均分布分配單元。有時分布無法非常平均,但是隨著時間的流逝,會變得幾乎相等。上圖顯示了一個具有五個分配單元的文件,這些分配單元在條帶化之后,分布在一個外部冗余磁盤組的五個磁盤中,該磁盤組共包含八個磁盤。 對于前20,000 個區(qū),區(qū)大小等于AU 大小。從第20,001 個區(qū)到第40,000 個區(qū),該區(qū)組總是一次分配8 個區(qū),區(qū)大小等于4 倍AU 大小。如果AU 大小為1 MB,這意味著ASM?文件將一次增大64 MB (8 * 4 * 1 MB)。如果文件采用粗粒度條帶化,則它將在8 個區(qū)中進行條帶化,條帶大小為1 AU。條帶化始終在AU 級別進行,而不是在區(qū)級別。因此,無論文件多大,粗粒度文件的每個AU 都與該文件的前一個AU 所在的磁盤不同。在第40,000 個區(qū)之后,仍舊是每次分配8 個區(qū),但區(qū)大小等于16 倍AU 大小。
  • 細粒度條帶化
細粒度條帶化在分配單元組中放置128 KB 條帶單元來改善等待時間。 ? 磁盤組具有8 個磁盤和外部冗余 ? 使用默認的AU 大小:1 MB? ? 第一個1 MB 區(qū)在8 個AU 中以128 KB 條帶形式寫入 細粒度條帶化將數(shù)據(jù)區(qū)拆分為128 KB 的塊,然后在許多磁盤中分布每個區(qū)的負載,從而改善特定類型文件的等待時間。默認情況下,細粒度條帶化用于控制文件和聯(lián)機重做日志文件。 圖顯示了細粒度條帶化的工作原理。在此示例中,新文件的第一個1 MB 區(qū)最終占用8 個不同分配單元中的第一個128 KB 塊,這8 個分配單元分布在磁盤組的八個磁盤中。因此,1 MB 的讀取或?qū)懭敕植荚诎藗€磁盤(而不是一個磁盤)中。
  • 細粒度條帶化
示例: ? 磁盤組具有8 個磁盤和外部冗余 ? 使用默認的AU 大小:1 MB? ? 下一個1 MB 區(qū)以128 KB 條帶的形式在相同的8 個分配單元中寫入,直到這些分配單元寫滿 繼續(xù)前面的示例,空間中的下一個1 MB 區(qū)將分布在相同分配單元組的每個單元的第二個128 KB 塊中。這種模式將繼續(xù),直到第一組分配單元寫滿,然后分配另一組。
  • ASM 故障組
? 共享需要容錯的一項公用資源的一組磁盤 ? 鏡像的區(qū)副本存儲在不同的故障組中 ? 存儲硬件指示故障組邊界 – 分離磁盤控制器的示例: 在磁盤組內(nèi),可以將一些磁盤歸到故障組中。故障組是存儲或數(shù)據(jù)庫管理員指定ASM?鏡像操作的硬件邊界的一種方式。 例如,可以將連接到一個磁盤控制器的所有磁盤指定為某個公用故障組的磁盤。這樣,將在連接到不同控制器的磁盤上鏡像文件區(qū)。另外,管理員可以配置ASM 來選擇默認故障組策略。默認策略是每個磁盤位于自己的故障組中。 你可以使用所需的任何標準將磁盤歸到故障組中。故障組可以用于避免單個磁盤、磁盤控制器、I/O 網(wǎng)絡組件以及甚至整個存儲系統(tǒng)的故障。通常,管理員將分析其存儲環(huán)境并對故障組進行組織來消除特定故障情況。 由數(shù)據(jù)庫或存儲管理員確定其安裝的最佳故障組配置。
  • 條帶化和鏡像示例
一個共含八個磁盤的正常冗余磁盤組,其中的磁盤分布在兩個故障組中。 條帶化和鏡像示例 本頁中的圖顯示了一個正常冗余磁盤組中條帶化和鏡像的示例。紅塊表示一個包含五個區(qū)的文件,這些區(qū)在條帶化后,分布在磁盤組(共八個磁盤)的五個磁盤中。藍塊表示文件區(qū)的鏡像副本。請注意,無論區(qū)在各個磁盤和故障組中如何分布,每個區(qū)在一個故障組中僅有一個副本。 分配文件時,主區(qū)的分配用于保證性能,輔助副本的分配用于保證完整性。因此,默認情況下,所有數(shù)據(jù)庫讀取都針對主區(qū)進行。
  • ASM如何處理磁盤故障
ASM中的磁盤組可分成兩類,普通磁盤組和failure磁盤組,后者又與ASM的榮譽方式有所關(guān)聯(lián)。 普通磁盤組就是標準的存儲單元,ASM可以向其可訪問的磁盤組中讀寫數(shù)據(jù),failure磁盤組是為了提高數(shù)據(jù)的高可用性。 ASM中的磁盤榮譽策略分成三類,外部冗余,標準冗余和高度冗余,其中外部冗余與failure磁盤組無關(guān),如果設置了標準冗余和高度冗余,那么該磁盤組就必須擁有failure磁盤組。 標準冗余,ASM要求改磁盤組至少要擁有兩個failure磁盤組,即提供雙倍鏡像保護,對于同一份數(shù)據(jù)(ASM中鏡像單位不是磁盤,也不是塊,而是一種AU的單位,該單位大小默認是1M)將有主從兩份鏡像,并且ASM通過算法來自動確保主、從鏡像不會存在于同一份failure 磁盤組,這樣就保障了就算整個failure 磁盤組都損壞,數(shù)據(jù)也不會丟失。至于高度冗余(High Redundancy)就更安全了,它至少需要三個failure 磁盤組,也就是一份AU有一主多從的鏡像,理論上將更加安全。 如果磁盤發(fā)生損壞,那么損壞的磁盤默認自動offlice并被drop掉,不過該磁盤所在的磁盤組仍將保持MOUNT狀態(tài),如果該盤有鏡像的話,那么應用不會有影響,鏡像盤將自動實現(xiàn)接管--只要不是所有failure磁盤組都損壞掉,否則的話,該磁盤組將自動DISMOUNT。
  • 故障示例
如果磁盤H 發(fā)生故障,則將根據(jù)正常鏡像在正常磁盤上重新創(chuàng)建該磁盤包含的區(qū)。 此處擴展了上一頁中的示例,假設磁盤H 發(fā)生故障,無法再訪問其包含的數(shù)據(jù)。該故障要求恢復故障磁盤上的所有區(qū)并將這些區(qū)復制到另一磁盤。 區(qū)3 和5 的正常副本將復制到同一故障組中另一磁盤的空閑區(qū)域。在此示例中,區(qū)5 將從磁盤B 復制到磁盤F,區(qū)3 將從磁盤C 復制到磁盤G。 磁盤發(fā)生故障后的最后一步是ASM 從磁盤組中刪除故障磁盤。 刪除磁盤基本上會觸發(fā)相同的過程;不過,在刪除磁盤時,要被刪除的磁盤上的區(qū)首先會復制到可用替代位置。

  • ASM 擴展性?
??最多支持63個磁盤組; ? ?最多支持10000個磁盤; ? ?最大支持4pb/磁盤; ? ?最大支持40 exabyte/ASM存儲; ?? ?最大支持1百W個文件/磁盤組; ?? ?外部冗余時單個文件最大35tb,標準冗余時單個文件最大5.8tb,高冗余度時單個文件最大3.9tb。
  • 管理磁盤組
ASM 實例的主要目的是管理磁盤組和保護其數(shù)據(jù)。ASM 實例還將文件分布傳送到數(shù)據(jù)庫實例。這樣,數(shù)據(jù)庫實例就可以直接訪問磁盤組中存儲的文件。 有多個磁盤組管理命令。執(zhí)行這些命令都需要SYSASM或SYSDBA權(quán)限,且必須從ASM?實例發(fā)出。 你可以添加新磁盤組。還可以修改現(xiàn)有磁盤組來添加新磁盤、刪除現(xiàn)有磁盤以及執(zhí)行許多其它操作。可以刪除現(xiàn)有磁盤組。 。
  • 創(chuàng)建和刪除磁盤組使用SQL*Plus
CREATE DISKGROUP語句,該語句的語法如下:? CREATE DISKGROUP diskgroup_name? [ { HIGH | NORMAL | EXTERNAL } REDUNDANCY ]? [ FAILGROUP failgroup_name ]? DISK [ NAME disk_name ] [ SIZE size_clause ] [ FORCE | NOFORCE ] ...;? ?首先要指定的就是磁盤組名稱(diskgroup_name); ? ?指定冗余度,有三個選擇:HIGH(高度冗余>三路)、NORMAL(標準冗余--雙路)和XTERNAL(外 部存儲冗余); ?? ?選擇是否指定FAILGROUP(如果選擇非external則必須指定); ?? ?指定該磁盤組中的成員(對應的LUN),在指定成員時一般ASM能夠自動檢測出磁盤的容量,不過 如果DBA基于某些方面的考慮,希望限制ASM使用的空間的話,也可以在指定成員過程中,順 便指定大小(只要指定的大小不超出磁盤實際容量),在添加成員時,ASM也會自動檢查磁盤頭以 確定該磁盤是否被加入到其它的磁盤組中,當發(fā)現(xiàn)該盤已加入其它磁盤組的話,你可以通過 FORCE選項來強制修改該盤所屬磁盤組。? $ . oraenv ORACLE_SID = [orcl] ??+ASM The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is? /u01/app/oracle $?sqlplus / AS SYSASM SQL*Plus: Release 11.2.0.1.0 - Production on Wed Jul 8 20:46:46 2009 Copyright (c) 1982, 2009, Oracle. All rights reserved. .. SQL>?CREATE DISKGROUP dgroupA NORMAL REDUNDANCY? FAILGROUP controller1 DISK? '/devices/A1' NAME diskA1 SIZE 120G FORCE,? '/devices/A2',? FAILGROUP controller2 DISK? '/devices/B1',? '/devices/B2';? SQL>?DROP DISKGROUP dgroupA INCLUDING CONTENTS; 創(chuàng)建和刪除磁盤組 假設ASM 磁盤搜索在/dev目錄中找到了下列磁盤:A1、A2、B1和B2。另外,假設磁盤A1和A2的磁盤控制器不同于B1和B2的磁盤控制器。第一個示例說明如何配置名為DGROUPA的磁盤組,其包含兩個故障組:CONTROLLER1和ONTROLLER2。該示例還對該磁盤組使用默認冗余屬性NORMAL REDUNDANCY。你還可以提供磁盤名稱和磁盤的大小(可選)。如果你不提供此信息,ASM 會創(chuàng)建默認名稱并嘗試確定磁盤的大小。如果無法確定大小,將返回錯誤。FORCE指示指定的磁盤應該添加到指定的磁盤組,即使該磁盤已經(jīng)格式化為某個ASM 磁盤組的成員。對未格式化為某個ASM 磁盤組的成員的磁盤使用FORCE選項將返回錯誤。 第二個語句所示,你可以刪除磁盤組及其所有文件。為了避免意外刪除,如果磁盤組除內(nèi)部ASM 元數(shù)據(jù)外還包含任何其它文件,則必須指定INCLUDING CONTENTS選項。必須先裝載磁盤組才能將其刪除。在確保未打開任何磁盤組文件后,將從磁盤組中刪除該組及其所有驅(qū)動器。然后,將覆蓋每個磁盤的標頭來清除ASM 格式信息。
  • 向磁盤組添加磁盤
ALTER DISKGROUP dgroupA ADD DISK '/dev/sde1' NAME A5, '/dev/sdf1' NAME A6, '/dev/sdg1' NAME A7, '/dev/sdh1' NAME A8; ALTER DISKGROUP dgroupA ADD DISK '/devices/A*'; 磁盤格式化---------->磁盤組重新平衡 向磁盤組添加磁盤 此示例顯示如何向磁盤組添加磁盤。可以執(zhí)行ALTER DISKGROUP ADD DISK命令來添加磁盤。第一個語句向DGROUPA磁盤組添加四個新磁盤。 第二個語句說明搜索字符串的相互影響。請考慮下列配置: /devices/A1是磁盤組DGROUPA的成員。 /devices/A2是磁盤組DGROUPA的成員。 /devices/A3是磁盤組DGROUPA的成員。 /devices/A4是候選磁盤。 第二個命令將A4添加到DGROUPA磁盤組。該命令將忽略其它磁盤,即使它們與搜索字符串相匹配,因為它們已經(jīng)是DGROUPA磁盤組的一部分。上圖顯示當你向磁盤組添加磁盤時,ASM 實例會確保該磁盤是可尋址且可用的。然后會對該磁盤進行格式化和重新平衡。重新平衡過程比較耗費時間,因為該過程會將所有文件的區(qū)移至新磁盤。 注:重新平衡不會阻止任何數(shù)據(jù)庫操作。重新平衡過程主要影響系統(tǒng)的I/O 負載。重新平衡的能力越高,對系統(tǒng)施加的I/O 負載越多,可用于數(shù)據(jù)庫I/O 的I/O 帶寬也就越少。 當發(fā)生添加/刪除磁盤組中磁盤的操作時,ASM能夠自動平衡。對于普通的刪除操作(無force選項),被刪除的磁盤在該上數(shù)據(jù)被有效處理前并不會立刻釋放,同樣,新增磁盤時,在重分配工作完成前,該盤也不會承擔I/O負載的工作。要監(jiān)控后臺進行的操作,可以通過V$ASM_OPERATION視圖查詢。 如果希望ALTER DISKGROUP語句完成所有工作才返回的話,可以在執(zhí)行時附加REBALANCE WAIT子句,這樣該語句就會等待自動平衡的操作,直接所有操作完成才返回結(jié)果,當然在等待期間,如果你不想等待,使用CTRL+C終端既可以獲得控制權(quán),而平衡的操作不受影響,會在后臺繼續(xù)進行。
  • 其它ALTER命令
從dgroupA刪除磁盤: ALTER DISKGROUP dgroupADROP DISK A5; 在單個命令中添加和刪除磁盤: ALTER DISKGROUP dgroupA? DROP DISKA6 ADD FAILGROUPcontroller3?DISK '/dev/sdi1'NAME A9; 取消磁盤刪除操作: ALTER DISKGROUP dgroupA UNDROP DISKS; 其它ALTER命令 第一個語句顯示如何從DGROUPA磁盤組中刪除一個磁盤。 第二個語句顯示如何在單個命令中添加和刪除磁盤。這種方式的一大優(yōu)點就是在該命令完成后才開始重新平衡操作。 第三個語句顯示如何取消磁盤刪除操作。 當刪除磁盤時,ASM發(fā)現(xiàn)平衡不過來時(比如剩下的磁盤空間不足以存放所有數(shù)據(jù)時),刪除操作也會失敗,這種情況要么先刪數(shù)據(jù),要么取消刪除的操作。 只要刪除操作還沒有真正完成,就可以取消刪除磁盤的操作, UNDROP命令僅對磁盤的暫掛刪除操作起作用;它對于已經(jīng)完成的刪除操作沒有影響。 如果需要,可以使用下面的語句對DGROUPB磁盤組進行重新平衡: ALTER DISKGROUP dgroupB?REBALANCE POWER 5;? 此命令通常是不需要的,因為在添加、刪除磁盤或調(diào)整磁盤大小時會自動執(zhí)行該操作。 但是如果你希望使用POWER子句覆蓋由初始化參數(shù)ASM_POWER_LIMIT定義的默認速度,此命令非常有用。通過重新輸入具有新級別的命令,可以更改正在進行的重新平衡操作的能力級別。能力級別為零會導致重新平衡操作中斷,直到隱式或顯式重新調(diào)用該命令。 下面的語句可以卸載DGROUPA: ALTER DISKGROUP dgroupA DISMOUNT;? 通過MOUNT和DISMOUNT選項,你可以使一個或多個磁盤組對數(shù)據(jù)庫實例可用或不可用。 在支持單實例的集群ASM 環(huán)境中,當該實例故障轉(zhuǎn)移到另一節(jié)點時,手動卸載和裝載功能非常有用。 不管你是加還是山磁盤組中的磁盤,ASM都能自動進行平衡,確保該磁盤組中的每塊盤存儲的數(shù)據(jù)量平均,以實現(xiàn)最優(yōu)化的IO性能,并且這一過程不會對數(shù)據(jù)造成影響。
  • 手動平衡磁盤組
一般情況下ASM都會自動對其下的磁盤組進行平衡,不過ORACLE也提供了手動平衡磁盤組的方式,通過alter diskgroup ... power 語句。前面提到過磁盤組的平衡度有1到11多個級別,默認是按照ASM_POWER_LIMIT初始化參數(shù)中設置的值,手動平衡的話,設置的平衡度可以與初始化參數(shù)中并不相同,例如,設置磁盤組平衡度為6,語句如下: SQL> alter diskgroup DATA rebalance power 6; Diskgroup altered. 手動平衡磁盤組可能涉及大量的工作,該操作可能費時較久,因此DBA在執(zhí)行該語句時,一定要注意該操作對IO 性能的影響。? 另外再次強調(diào),上述語句將很快返回diskgroup altered的提示,但這并不表示操作真正完成,它只是反饋語句提交而已,查看磁盤后臺的操作,可以通過v$asm_operator視圖,或者在語句執(zhí)行時增加wait子句,這樣ASM將會等到操作真正完成時,才返回提示信息。?
  • 管理目錄
ASM 磁盤組中文件和目錄的管理自動化水平相當高,應該說基本上完全不需要DBA參與,當然,也是可以手動修改的。? 創(chuàng)建新目錄:? SQL> alter diskgroup asmdisk2 add directory '+ASMDISK2/JSS1';? Diskgroup altered.? 修改目錄名:? SQL> alter diskgroup asmdisk2 rename directory '+ASMDISK2/JSS1'? 2 ?to '+ASMDISK2/JSS2';? Diskgroup altered.? 刪除目錄名:? SQL> alter diskgroup asmdisk2 drop directory '+ASMDISK2/JSS2';? Diskgroup altered.? 實際上,ASM中目錄和文件的管理,也可以通過ASMCMD命令行方式進行,該命令行進入之后,是一個類似文件系統(tǒng)的管理界面,ORACLE提供了一些最基礎的,如cd、ls、mkdir、rm等等幾個有限的操作命令。
  • 管理別名
當系統(tǒng)自動產(chǎn)生的名稱太過復雜不怎么好記,DBA可以通過別名,為它創(chuàng)建一個簡單化的名稱,而又不會對其現(xiàn)有名稱造成任何影響。ASM中創(chuàng)建別名是通過alter diskgroup的alias子句實現(xiàn),支持增加/修改/刪除等多項操作。V$ASM_ALIAS視圖中可以查詢到當前實例中創(chuàng)建的別名。 例如,增加別名:? SQL> alter diskgroup asmdisk2 add alias '+ASMDISK2/repdb/datafile/temp01.dbf' for '+ASMDISK2/repdb/TEMPFILE/TEMP.267.714576831';? Diskgroup altered.? 修改別名:? SQL> alter diskgroup asmdisk2 rename alias '+ASMDISK2/repdb/datafile/temp01.dbf' to '+ASMDISK2/repdb/TEMPFILE/temp01.dbf';? Diskgroup altered.? 刪除別名:? SQL> alter diskgroup asmdisk2 drop alias '+ASMDISK2/repdb/TEMPFILE/temp01.dbf';? Diskgroup altered.? 不管是添加/刪除或是修改別名,對原有文件路徑均不會有影響。?
  • 使用Oracle Enterprise Manager 管理ASM
Oracle Enterprise Manager (EM) 是Oracle 的管理工具系列,管理對象涵蓋數(shù)據(jù)庫、中間件、應用程序、網(wǎng)絡、IT 基礎結(jié)構(gòu)及其它。Oracle Enterprise Manager 是一個基于瀏覽器的環(huán)境,為常見ASM 管理任務提供了一個點擊式替代方案。
  • ASM 磁盤組兼容性
? 每個磁盤組的兼容性都可以分別控制: – ASM 兼容性控制磁盤上ASM 元數(shù)據(jù)結(jié)構(gòu)。 – RDBMS 兼容性控制最低使用者客戶機級別。 – ADVM 兼容性確定磁盤組是否可以包含Oracle ASM 卷。 ? 設置磁盤組兼容性的操作是不可逆的。 適用于ASM 磁盤組的兼容性有三種:涉及描述磁盤組的持久性數(shù)據(jù)結(jié)構(gòu),客戶機(磁盤組的使用者)的功能,以及能否在磁盤組中包含卷。這些屬性分別稱為“ASM 兼容性”、“RDBMS 兼容性”和“ADVM 兼容性”。每個磁盤組的兼容性都可以獨立控制。這是支持包含Oracle Database 10g和Oracle Database 11g磁盤組的異構(gòu)環(huán)境所必需的。 這三種兼容性設置是每個ASM 磁盤組的屬性: ?RDBMS 兼容性是指RDBMS 實例的最低兼容版本,此設置將允許該實例裝載磁盤組。 該兼容性確定了ASM 實例與數(shù)據(jù)庫(RDBMS) 實例間交換消息的格式。ASM 實例可以支持以不同兼容性設置運行的不同RDBMS 客戶機。每個實例的數(shù)據(jù)庫兼容版本設置必須高于或等于該數(shù)據(jù)庫使用的所有磁盤組的RDBMS 兼容性。數(shù)據(jù)庫實例與ASM 實例通常在不同的Oracle 主目錄中運行。這意味著數(shù)據(jù)庫實例可以運行與ASM 實例不同的軟件版本。數(shù)據(jù)庫實例第一次連接到ASM 實例時,系統(tǒng)會協(xié)定這兩個實例都支持的最高版本。 數(shù)據(jù)庫的兼容性參數(shù)設置、數(shù)據(jù)庫的軟件版本以及磁盤組的RDBMS 兼容性設置確定了數(shù)據(jù)庫實例能否裝載給定的磁盤組。 ?ASM 兼容性是指控制磁盤上ASM 元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)格式的持久性兼容性設置。 磁盤組的ASM 兼容性級別必須始終高于或等于同一磁盤組的RDBMS 兼容性級別。 ASM 兼容性只與ASM 元數(shù)據(jù)的格式相關(guān)。文件內(nèi)容的格式取決于數(shù)據(jù)庫實例。例如,可以將某個磁盤組的ASM 兼容性設置為11.0,而將該磁盤組的RDBMS 兼容性設置為10.1。這意味著該磁盤組只能由軟件版本為11.0 或更高的ASM 軟件管理,而軟件版本高于或等于10.1 的任何數(shù)據(jù)庫客戶機都可以使用該磁盤組。 ? ADVM 兼容性屬性確定磁盤組能否包含Oracle ASM 卷。該值必須設置為11.2 或更高。設置該屬性前,必須確保COMPATIBLE.ASM的值為11.2 或更高。此外,還必須加載ADVM 卷驅(qū)動程序。 僅當持久性磁盤結(jié)構(gòu)或消息傳送協(xié)議發(fā)生更改時,才需要提高磁盤組的兼容性。但是,提高磁盤組兼容性是一個不可逆的操作。可以使用CREATE DISKGROUP命令或ALTER?DISKGROUP命令來設置磁盤組兼容性。 注:除了磁盤組兼容性,兼容參數(shù)(數(shù)據(jù)庫兼容版本)確定了啟用的功能;該參數(shù)適用于數(shù)據(jù)庫或ASM 實例,具體取決于instance_type參數(shù)。例如,將該參數(shù)設置為10.1 將禁止使用Oracle Database 11g中引入的任何新功能(磁盤聯(lián)機/脫機、可變區(qū)等)。
  • ASM 磁盤組屬性
CREATE DISKGROUP DATA2 NORMAL REDUNDANCY? DISK '/dev/sda1','/dev/sdb1' ATTRIBUTE 'compatible.asm'='11.2'; 每當創(chuàng)建或更改ASM 磁盤組時,都可以使用CREATE DISKGROUP和ALTER?DISKGROUP命令新增的ATTRIBUTE子句更改其屬性。圖中的表簡要概述了這些屬性: ?ASM 允許使用在創(chuàng)建磁盤組時指定的不同分配單元(AU) 大小。AU 大小可以是1、2、4、8、16、32 或64 MB。 ?RDBMS 兼容性:有關(guān)詳細信息,請參閱“ASM 磁盤組兼容性”一節(jié)。 ?ASM 兼容性:有關(guān)詳細信息,請參閱“ASM 磁盤組兼容性”一節(jié)。 ? 可以用分鐘(M)、小時(H) 或天(D) 為單位指定DISK_REPAIR_TIME。如果省略單位,則使用默認值H。如果省略此屬性,則使用默認值3.6H。可以使用ALTER?DISKGROUP ... DISK OFFLINE語句覆蓋此屬性。 ? 還可以為指定的模板指定冗余屬性。 ? 還可以為指定的模板指定條帶化屬性。 注:對于每個已定義的磁盤組,可以通過V$ASM_ATTRIBUTE固定視圖查看所有已定義的屬性。
  • 使用Oracle Enterprise Manager 編輯磁盤組屬性
Oracle Enterprise Manager 提供了一種簡便方式用于存儲和檢索與磁盤組相關(guān)的環(huán)境設置。 在“Create Disk Group(創(chuàng)建磁盤組)”頁和“Edit Advanced Attributes for Disk Group(編輯磁盤組的高級屬性)”頁中都可以設置兼容屬性。僅“Edit Advanced Attributes for?Disk Group(編輯磁盤組的高級屬性)”頁中添加了disk_repair_time屬性。 注:對于低于11g的ASM 實例,默認ASM 兼容性和客戶機兼容性都為10.1。對于11gASM 實例,默認ASM 兼容性為11.2,數(shù)據(jù)庫兼容性為10.1。
  • 檢索ASM 元數(shù)據(jù)
? 使用SQL*Plus: SQL> SELECT f.type, f.redundancy, f.striped, f.modification_date,? a.system_created, a.name FROM v$asm_alias a, v$asm_file f WHERE? a.file_number = f.file_number and a.group_number = f.group_number? and type='DATAFILE'; TYPE REDUND STRIPE MODIFICAT S NAME -------- ------ ------ --------- - ---------------------DATAFILE MIRROR COARSE 08-JUL-09 Y SYSTEM.256.689832921 DATAFILE MIRROR COARSE 08-JUL-09 Y SYSAUX.257.689832923 .. ? 使用asmcmd: ASMCMD> ls -l +DATA/orcl/datafile Type Redund Striped Time Sys Name DATAFILE MIRROR COARSE JUL 08 21:00:00 Y SYSTEM.256.689832921 DATAFILE MIRROR COARSE JUL 08 21:00:00 Y SYSAUX.257.689832923 .. 檢索ASM 元數(shù)據(jù) ASM 實例托管基于內(nèi)存的元數(shù)據(jù)表,這些表通過動態(tài)性能視圖呈現(xiàn)。可以使用SQL*Plus、asmcmd或Oracle Enterprise Manager 查詢該數(shù)據(jù)。 使用SQL*Plus 需要具有SQL 語言知識,可能要聯(lián)接多個動態(tài)性能視圖來檢索相關(guān)信息。 第一個示例顯示v$asm_file和v$asm_alias之間建立了一個聯(lián)接,以便顯示關(guān)于數(shù)據(jù)庫的數(shù)據(jù)文件的元數(shù)據(jù)。如果針對ASM 實例執(zhí)行此查詢,根據(jù)語法的定義方式,將檢索多個數(shù)據(jù)庫的數(shù)據(jù)文件。需要使用附加過濾條件才能將輸出限定為單個數(shù)據(jù)庫。 asmcmd實用程序的優(yōu)點在于,不需要SQL 語言知識就能連接到ASM 實例并檢索元數(shù)據(jù)。 它使用與UNIX 表示法類似的樣式。此幻燈片上的第二個示例使用asmcmd命令來檢索SQL 示例中的元數(shù)據(jù)。此示例的另一個優(yōu)點是輸出限制為單個數(shù)據(jù)庫的數(shù)據(jù)文件,因為列出的路徑包含數(shù)據(jù)庫名稱orcl和文件類型datafile。因此,對于asmcmd中顯示的目錄,需要使用WHERE子句設置SQL 過濾條件才能給出相同結(jié)果。 注:在Oracle Enterprise Manager Database Control 中,只需在各個ASM Web 頁中瀏覽就能查看大多數(shù)ASM 元數(shù)據(jù)。
  • ASM 快速鏡像重新同步概覽
ASM 快速鏡像重新同步可以顯著減少重新同步臨時故障磁盤所需的時間。如果某個磁盤因臨時故障而脫機,ASM 將跟蹤在中斷期間發(fā)生修改的區(qū)。臨時故障被修復后,ASM?可以快速地僅重新同步在中斷期間受影響的ASM 磁盤區(qū)。 此功能假設受影響的ASM 磁盤的內(nèi)容未被破壞或修改。 某個ASM 磁盤路徑出現(xiàn)故障時,如果您已設置了相應磁盤組的DISK_REPAIR_TIME屬性,則ASM 磁盤會脫機,但不會被刪除。此屬性的設置確定了ASM 可容忍的磁盤中斷持續(xù)時間;如果中斷在此時間范圍內(nèi),則修復完成后仍可重新同步。注:跟蹤機制對每個修改的分配單元使用1 位。這樣可確保跟蹤機制非常高效。
  • 小結(jié)
? 使用SQL*plus、asmcmd和Oracle Enterprise?Manager 管理ASM 實例 ? 創(chuàng)建和刪除ASM 磁盤組 ? 指定ASM 兼容性屬性 ? 擴展ASM 磁盤組 ? 比較檢索ASM 元數(shù)據(jù)的方

?

http://blog.csdn.net/rlhua/article/details/12972983

轉(zhuǎn)載于:https://www.cnblogs.com/gispf/p/3777564.html

總結(jié)

以上是生活随笔為你收集整理的[转]Oracle DB 管理ASM实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。