91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Oracle數據庫ASM功能詳解

發布時間:2020-08-08 13:31:22 來源:ITPUB博客 閱讀:258 作者:不一樣的天空w 欄目:關系型數據庫
http://www.thinksaas.cn/topics/0/526/526235.html
一、什么是ASM?

    ASM全稱為Automated Storage Management,即自動存儲管理,它是自Oracle10g這個版本Oracle推出的新功能。這是Oracle提供的一個卷管理器,用于替代操作操作系統所提供的LVM,它不僅支持單實例配置,也支持RAC這樣的多實例配置。將給Oracle數據庫管理員帶來極大的方便,ASM可以自動管理磁盤組,并提供數據冗余和優化。特別是對于企業極的大型數據庫管理員來說,可以使管理員可以從管理成百上千個數據文件這些瑣碎的日常事務中解脫開來,以便處理其它更為重要的事務上去。
    在Oracle 10g這個版本之前,管理一個大型數據庫成百上千個的數據文件對數據庫管理員來說是一個既無技術含量又十分枯燥的工作,這要求數據庫管理員要熟悉一些系統的LVM的相關知識,做好磁盤規化,LV的條帶等相關的系統方面的相關操作。而使用自動存儲管理將大大減輕這方面的工作量,數據庫管理員只需要管理少數幾個磁盤組即可。一個磁盤組是ASM管理的一個邏輯單元,由一組磁盤設備組成。我們可以定義一個磁盤組作為數據庫的默認磁盤組,Oracle會自動管理存儲,包括創建、刪除數據文件等。Oracle會自動將這些文件與一個合適的數據庫對象做關聯,這樣我們在管理這些對象時只需要提供對象的名稱,而無需像以前那樣提供詳細的文件名。
    ASM提供了很多有用的存儲技術,如RAID和LVM(邏輯卷管理)等。像這些技術一樣,ASM允許你在一組獨立的磁盤上創建一個單獨的磁盤組。這樣就實現了單個磁盤組的I/O均衡。同時ASM還實現了條帶化(Striping)和磁盤鏡像(Mirroring)以提高I/O的性能和數據可靠性。與RAID或LVM不同的是,ASM是在文件級實現的條帶化和鏡像,這樣的實現方式給用戶帶了很大選擇自由度,我們可以在同一個磁盤組中對不同的文件配置不同的存儲屬性,實現不同的存儲方式。
二、11g中ASM都有哪些新特征:

  2.1 快速重新同步(ASM Fast Mirror Resync)
    短暫的磁盤路徑發生問題時,恢復ASM磁盤組(DISK GROUP)的允余性是很費時間的,特別是這種恢復操作需要重新布局整個磁盤組的情況下。ASM快速磁盤重新同步這個新特征能顯著減少重新同步一塊壞磁盤時這種情況的時間,當你更換了壞磁盤,ASM能夠快速的同步ASM磁盤的extent。
    任何使磁盤組臨時不可用的問題被認為是暫時的失效,這是ASM快速重新同步新特征可以恢復的。磁盤路徑失效,例如接口線問題,主機適配器問題,磁盤控制器問題,或者是磁盤電源問題這些都能引起瞬時失效。缺省的情況下,當一塊磁盤脫機時,ASM會立刻移出該磁盤。ASM快速再同步功能夠記錄脫機磁盤在脫機期間該磁盤上區的所有的變化,當磁盤被修復或再次聯機時,這期間更改的extent能夠被快速的重新同步到剛才失效的這些磁盤中。
    你可以設定DISK_REPAIR_TIME這個屬性使失效磁盤在被修復和再次聯機這段時間內重新整理這樣的操作不發生。這個時間可以以分鐘(m或M)或者小時(h或H)為單位,如果你不指定時間單位,缺省的時間單位為小時。如果DISK_REPAIR_TIME這個屬性沒有設定,其缺省值為3.6小時。需要注意的是,這個缺省值適用于磁盤被設定為脫機模式而操作語句沒有DROP AFTER子句這樣的情況。大部分來說環境,3.6個小時這個DISK_REPAIR_TIME缺省屬性數值應該都是合適的。
注意:
使用這項新功能,ASM磁盤組的兼容性需要設定至11.1或更高。
例:
CREATE DISKGROUP asmdskgrp1 DISK '/dev/raw/*'
SET ATTRIBUTE 'compatible.rdbms' = '11.1', 'compatible.asm' = '11.1';
    只有當包含脫機磁盤的磁盤組再次被掛上,消逝時間(自磁盤被設定成脫機模式后)都是增加的,V$ASM_DISK的REPAIR_TIME這列顯示的是脫機磁盤在被刪除之前所剩余的時間(單位:秒),當指定的時間到達后,ASM刪除磁盤,可以用帶有DROP AFTER的ALTER DISKGROUP DISK OFFLINE語句來覆蓋這個屬性。
注意:
    DROP AFTER也是11g的新特征。
    如果一條ALTER DISKGROUP SET ATTRIBUTE DISK_REPAIR_TIME操作的磁盤組含有脫機的磁盤,這個屬性只對當前那些非脫機模式的磁盤是生效的。
    當一塊脫機磁盤被第二次執行脫機操作,消逝時間會被重置并重新開始計算。如果另一個時間這塊磁盤又被執行了DROP AFTER操作,上一個值會被覆蓋并且新值生效。不能用ALTER DISKGROUP DROP DISK語句刪除處于脫機狀態的磁盤,這樣操作時會報錯。如果在某時情況,例如磁盤不能夠被修復,需要在DISK_REPAIR_TIME到達前把磁盤刪除時,可以再次執行帶有DROP AFTER子句的OFFLINE語句,DROP AFTER指定0H或0M,表示立刻刪除。
    你可以用ALTER DISKGROUP來設定磁盤組的DISK_REPAIR_TIME屬性,可以是分鐘,也可以是小時,例如4.5小時或270分鐘,例如:
ALTER DISKGROUP dg01 SET ATTRIBUTE 'disk_repair_time' = '4.5h'
ALTER DISKGROUP dg01 SET ATTRIBUTE 'disk_repair_time' = '270m'
    在你修復磁盤后,運行ALTER DISKGROUP DISK ONLINE這條SQL語句可以使磁盤組恢復到聯機狀態,新的讀寫操作都可以正常進行了,這條語句也觸發把磁盤維修期間內更改的extent從磁盤組冗余的數據重新同步到剛才失效的這些磁盤中。
2.2 ASM滾動升級
    在ORACLE11g及之后的版本,你可以把ASM的集群置為"滾動升級"模式,充許不同版本的ASM結點共同工作。滾動升級"模式中的每個結點能夠獨立的升級或打補丁,而不會影響到數據庫的使用,因些其很大的提升數據庫的正常運行時間。需要注意的是你只可以對ORACLE11g及之后的版本進行"滾動升級",換句話說,你不能用這種功能把ORACLE10g的數據庫升級到11G的。
在進行滾動升級前,你的環境也一定要做一定的準備的。舉例來說,如果你使用了ORACLE Clusterware軟件,在你開如做滾動升級前,Clusterware也一定要完整的升級到下一個滿足要求的版本。當然,做Clusterware升級時也應當用滾動的方式,更大的確保高穩定性和最大的正常運行時間。
    在對一個結點的ASM軟件打補丁或進行升級之前,必須把ASM集群置為滾動升級模式,這允許開始升級和操作你的環境在多個軟件版本的模式,語句如下:
ALTER SYSTEM START ROLLING MIGRATION TO number;
    number是由版本號、發行號、更新號、端口發行號和端口更新號這幾部分組成的,中間以逗號分開,例如11.2.0.0.0。
實例在運行這條語句時會檢查你指定的number與當前已安裝的軟件版本是不是兼容。當升級開始后,ASM實例只有如下的一些操作才是充許的:
? 磁盤組掛載和卸載
? 數據庫文件打開,關閉,重新設定尺寸和刪除
? 限制訪問ORACLE自帶的視圖和包,所有的全局視圖都是失效的
    在滾動升級開始后,可以任意一個宕掉ASM實例來進行軟件升級,升級完的ASM實例在啟動后會自動重新加入ASM集群。當集群中的所有實例都完成升級到最新的軟件版本后,你就可以結束滾動升級模式了。
    如果一塊磁盤在ASM實例進行滾動升級時是脫機的,那么直到升級結速這塊磁盤都會保持脫機的狀態,而且直到ASM集群回到正常模式觸發刪除磁盤的記時器也是停止的。
    如果升級過級出現問題,可以用同樣的過程回滾結點的軟件到之前的版本。集群的任一地方有數據重整操作,升級會失敗,所以必須等數據重整操作完成才可以開始滾動升級。另外,只要集群中有一個結點是活動的,滾動升級狀態是保留的。
    如果一個集群正在進行滾動升級時一個新的ASM實例加進來,新的實例會被告知集群正處在滾動升級模式,你可以用如下的SQL語句查詢ASM集群環境的狀態:
SELECT SYS_CONTEXT('sys_cluster_properties', 'cluster_state') FROM DUAL;
    如果ASM集群所有的實例都停了,那么當任何一個ASM實例重新啟動,這個實例都會脫離滾動升級模式。如要實例都重新啟動后  還要進行升級,必須重新開始滾動升級操作。
當滾動升級完成后,運行如下的SQL:
ALTER SYSTEM STOP ROLLING MIGRATION;
發出這條語句后,ORACLE做了如下的一些操作:
? 校驗ASM集群的所有成員的軟件版本是不是相同,如果一個或幾個實例運行在不同的軟件版本,這條語句會報錯,集群繼續處在滾動升級模式.
? 使集群的所有實例都脫離滾動升級模式,集群開始全功能工作
? 如果設定ASM_POWER_LIMIT參數允許數據重整理,因滾動升級而被阻塞的數據重整理操作會重新開始。
2.3 為ASM管理員新增了SYSASM權限和OSASM操作系統用戶組
    在ORACLE10g這個版本,ORACLE沒有為ASM管理員定制相應的角色,ASM管理員以SYSDBA角色進行管理工作,在實際工作中ASM管理員與數據庫管理員可能是不同的兩個或幾個人完成的,相對來說權限界定不清晰.11g這一新特征引入SYSASM這一新權限目的就是為了清晰ASM管理員與數據庫管理員的界面,防止越權操作的發生,使ASM管理員更好的進行ASM管理工作.
這一新特征同時在操作系統中也為ASM新增了OSASM用戶組,OSASM這個組是專門為ASM設計的,可以通過操作系統授權,被授權的這個組成員本地連接具有SYSASM權限,能夠以SYSASM角色進行全權限的ASM管理工作。最初,只有ASM的安裝用戶是這個組的成員,在后繼的工作,你可以添加新的用戶到OSASM這個用戶組,使新用戶有ASM管理的全部權限。
    需要注意的是,在ORACLE11g Release1的這個版本,系統OSDBA組的成員,連入數據庫據有SYSDBA的權限,這樣的用戶仍然可以連接并管理ASM的實例,但相信在后續的版本中有SYSDBA權限的用戶不會被授權有ASM實例的管理權限。
2.4 ASM 可擴展性和性能的增強
    ASM文件區管理在11g都有改進,體現在性能的提升和顯著的減少用于存儲文件區的SGA內存方面。當ASM的文件在大小上增加時,每一個區的大小也會自動的增加,因此,會有需要很少的指向區指針描述文件。當訪問20GB至128TB大小的ASM文件時11g的這個新特征會提升性能。當然,這樣的文件通常是非常大的數據庫(VLDBs)所用的。
    除此之外,當你創建新的磁盤組時,你現在有多個分配單位大小選項,例如1, 2, 4, 8,16, 32, 和64(MB)。依據數據庫的負載和存儲系統的類型,選擇大的分配單位可能會獲得明顯的性能提升。
    磁盤組存儲的ASM文件的內容是由N個數據區組成的,數據區存儲在獨立的磁盤上。區包含一個或多個分配單位(AU).為適應逐漸增大的大文件,ASM使用變化大小的區。
    變化大小的區能夠支持更大的ASM文件,減少大數據庫對SGA內存的使用,并且提升文件創建和打開操作的性能。一個ASM文件開始的一個區是由一個分配單位組成的。當文件大小增加時,如果大小超出預先定義的值,新的區大小也會增加到8分配單位,然后新的區大小增加到64個分配單位。對于新創建的文件,這一特征自動生效的。
    分配單位的大小為多少在磁盤組建立的時侯確定,可以為1,2,4,8,16,32及64MB,當ASM文件的大小范圍在1到20,000個區這個量級時,每個區的大小與分配單位的大小相等;ASM當文件大小超出20,000個區,到20,001到40,000個區這個范圍,新的區的大小分自動增至8個分配單位大小;再有當ASM當文件大小超出40,000個區,,新的區的大小分自動增至64個分配單位大小。
    圖一表示的是含自塊磁盤的磁盤組,文件由每個區1AU增至8AU的變化狀況,在這個配置中,ASM沒有做文件鏡像的。
Oracle數據庫ASM功能詳解
2.5 新的ASM 命令行 (ASMCMD)命令和選項。
    ASMCMD有下列的四個新的命令: lsdsk、md_backup、md_restore 和remap。除此之外,你還能使用帶有新選項的ls和lsdg命令。下面描述一下這四個新的ASM命令:
    lsdsk -不論是否有一個ASM的實列正在運行,這個命令都能列出ASM磁盤的信息。當系統管理員或存儲管理員想查看一下ASM實例都用了哪些磁盤時這個命令是非常有用的。
md_backup和md_restore- 這兩個命令使能能夠用相同的磁盤路徑、磁盤名、失敗組、屬性、模板及目錄結構別名來重新建立已經存在的磁盤組。你可以使用md_backup備份磁盤組的環境,在出現問題的時侯用mk_restore來恢復相應的磁盤組。
Remap-你可以使用這個命令重映射或者回復normal及high redundancy模式ASM磁盤組中的壞塊,ASM讀取ASM映像好的拷貝中相應的塊,并且把這些塊重新寫回到磁盤組中一個替代的位置。
2.6 磁盤組兼容性方面新的屬性
2.6.1磁盤組兼容性概要
    為使用一些ASM的新功能,你可以使用兩個磁盤組兼容性方面的屬性,COMPATIBLE.RDBMS和COMPATIBLE.ASM。這些屬性指定據庫和ASM 各自使用磁盤組所需的最小的軟件版本。缺省情況下,這兩個屬性都被設成10.1,如果你想利用新特征必須推進這些屬性。
    兼容性屬性設置成早先發行的版本可以使客戶端訪問高版本的磁盤組,例如,Oracle 10g的客戶端能夠訪問Oracle11g的ASM磁盤組。
    ASM 和Oracle 數據庫磁盤組兼容性屬性設置決定了系統可使用的最小的ASM和Oracle數據庫軟件版本。例如, 如果ASM 兼容性是11.1, 并且Oracle 數據庫兼容性是10.1, 那么ASM 軟件版本必須至少是11.1, 并且Oracle 數據庫客戶軟件版本必須是至少10.1 。二個屬性設置是compatible.asm 和compatible.rdbms。
    ASM 的軟件版本決定最近創建的磁盤組的缺省兼容性,當你以CREATE DISKGROUP SQL語句創造磁盤組時,可以忽略磁盤組兼容性設置。另外,可以使用ALTER DISKGROUP SQL語句為現有的磁盤組改變兼容性設置。磁盤組兼容性設置只能逐漸升高,你無法恢復回一個更低的兼容性設置。
2.6.2 COMPATIBLE.ASM和COMPATIBLE.RDBMS
    兼容性屬性設置是通過這兩個參數完成的。COMPATIBLE.ASM屬性決定任一個ASM 事例使用一個磁盤組的最小的軟件版本。這個設置并且決定數據磁盤上ASM原數據的數據結構的格式。文件內容的格式由數據庫實例決定的。對于Oracle 11g版本中的ASM, 10.1 是其缺省的設置值。為更好的完成磁盤組兼容性設置,應設置之前COMPATIBLE.RDBMS前先設置COMPATIBLE.ASM屬性。
    數據庫使用的所有磁盤組的COMPATIBLE.RDBMS屬性值必須小于或等于數據庫的COMPATIBLE初始參數設置值,對于Oracle 11g版本中的ASM, 10.1也是COMPATIBLE.RDBMS屬性的缺省值。舉例來說, 如果數據庫兼容初始化參數被設置成11.1.0, 那么COMPATIBLE.RDBMS 只能被設置成10.1 和11.1 之間的任一值。
2.6.3 設置磁盤組兼容性的方法
    可能通過CREATE DISKGROUP or ALTER DISKGROUP兩個語句設置磁盤組的兼容屬性。
使用 CREATE DISKGROUP建立磁盤組時指定兼容屬性
以下例子建立一個正常冗余盤磁盤組asmdskgrp1,ASM 兼容屬性設置成10.2 ,與數據庫兼容性屬性取默認值(假定COMPATIBLE.RDBMS 缺省小于或等于10.2):
CREATE DISKGROUP asmdskgrp1 DISK '/dev/raw/*'
SET ATTRIBUTE 'compatible.asm' = '10.2';
以下例子建立一個正常冗余盤磁盤組asmdskgrp2,ASM 兼容屬性設置成11.1 ,與數據庫兼容屬性取默認值(假定COMPATIBLE.RDBMS 缺省小于或等于11.1):
CREATE DISKGROUP asmdskgrp2 DISK '/dev/raw/*'
SET ATTRIBUTE 'compatible.asm' = '11.2';
以下例子建立一個正常冗余盤磁盤組asmdskgrp3,ASM 兼容屬性及與數據庫兼容屬性都取11.1:
CREATE DISKGROUP asmdskgrp3 DISK '/dev/raw/*'
SET ATTRIBUTE 'compatible.rdbms' = '11.1', 'compatible.asm' = '11.1';
    使用ALTER DISKGROUP SQL語句為現有的磁盤組改變兼容屬性
    在磁盤組被創造了之后, 您能使用ALTER DISKGROUP SQL語句改變兼容屬性。使用ALTER DISKGROUP SQL語句在提交變動之前,需確保Oracle能提升指定盤組的兼容性。為使進行ALTER DISKGROUP提升盤組兼容性而不減少數據庫和文件系統功能,所有影響的數據庫和文件系統都應當是在線的。
舉例:
ALTER DISKGROUP asmdskgrp4 SET ATTRIBUTE 'compatible.rdbms' = '11.1';
ALTER DISKGROUP asmdskgrp5 SET ATTRIBUTE 'compatible.asm' = '11.1';
2.7 ASM 優先鏡像讀取
2.7.1優先鏡像讀取新特征概要
    在擴展集群中,如果遠程結點的訪問是不均衡的,這一新特征對于提升性能是很有用的。這導致更好的存儲利用率,降低網絡負載。Oracle 10g中,ASM總讀一個鏡像區集的主要拷貝,我們知道這樣做的目的是為了分散IO,提升性能。而對于一個磁盤組的一塊盤,對于某一個結點來說可能是本地盤,也可能是遠程盤,如果從主拷貝讀取數據,這個主拷貝又是遠程盤,顯然沒有本地盤效率高。不過在Oracle10g中是不能完成設定從哪塊盤讀取數據的,在11g中引入了ASM_PREFERRED_READ_FAILURE_GROUPS這個參數,即我們所談的ASM優先鏡像讀取新特征,可以完成這樣的功能,如下再詳細說一下這個新特征。
    當您配置ASM失敗組,它使結點從最靠近它的區讀取數據,這也許是最高效的,既使那個區是一個次要的區。換句話說,當次要區離結點較近時,你可以配置ASM 讀從一個次要區讀,而不是從較遠的主區讀。使用優先讀取失敗組對于擴展群集來說是非常有用的。
    使用這個特征, 在擴展的集群相對這個結點的本地盤,Oracle推薦配置至少一個鏡像的區拷貝。然而在一個RAC數據庫中,為一個結點被設定優先讀取的失敗組對另外的一個結點而言也許就是選程的,這倒不用擔心,每個實例優先讀取失敗組的參數設置是可以分別指定的。
    注意:
    默認情況下, 當您創造一個磁盤組, 磁盤組的每塊盤屬于一個失敗組。Oracle不推薦你為使用磁盤組的每一個實例配置超過一個優先讀取失敗組。如果你為每一個實例配置超過一個優先讀取失敗組, Oracle alter日志會寫入警告信息。
2.7.2 配置和管理優先讀取失敗組
    要配置這個新特征,需要設定ASM_PREFERRED_READ_FAILURE_GROUPS這個參數,參數為失敗組的一個列表,這個參數通常是在集群的ASM實例中被使用的,也是在集群的ASM實例中 有效的,并且每個實例設定不同的值,其默認值為NULL。參數的格式如下:
舉例:
diskgroup_name1.failure_group_name1, ...
    其中diskgroup_name表示的是磁盤組的名字,failure_group_name表示的是失敗組的名字。如果設定參數指定的磁盤組中并不存在相應的失敗組,ASM將忽略相應的失敗組。你可以以逗號分隔為ASM_PREFERRED_READ_FAILURE_GROUPS參數設定多個值。
舉例:
ASM_PREFERRED_READ_FAILURE_GROUPS= = diskgroup_name.failure_group_name,diskgroup_name1.failure_group_name1...
2.8 ASM 快速的再平衡
    重新平衡操作發生在當磁盤組是在限制模式下,它消也除了Oracle RAC 環境里鎖和解鎖extent map信息在ASM 事例之間的傳訊,因此提升了總體重新平衡的吞吐量。
向AI問一下細節

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

AI

临高县| 高青县| 耒阳市| 大同县| 高阳县| 抚顺市| 揭西县| 垫江县| 贵港市| 呈贡县| 赤水市| 崇左市| 东源县| 蒙城县| 亳州市| 体育| 盐池县| 思茅市| 普陀区| 长治县| 天峨县| 南和县| 南漳县| 陕西省| 诏安县| 丹凤县| 沽源县| 洪湖市| 耒阳市| 渝中区| 临泽县| 麦盖提县| 清水河县| 来安县| 全南县| 上饶县| 兴山县| 安化县| 武宣县| 江都市| 时尚|