Oracle 11g R1中ASM增強
本文主要概述了Oracle資料庫11g第1版中對自動儲存管理(ASM)的增強,其中包括:
Oracle資料庫儲存管理員指南
新的磁碟組相容屬性
映象快速重新同步
滾動升級
SYSMAN特權和OSASM作業系統組
可擴充套件性和效能增強
新的ASMCMD命令和選項
Preferred Read Failure(首選讀失效)組
快速重新平衡
混合磁碟組維護增強
Oracle資料庫儲存管理員指南
在Oracle官方網站上首次放出了儲存管理員指南,參見。
新的磁碟組相容屬性
Oracle 11g包括了兩個新的相容屬性,讓資料庫軟體可以使用特殊的磁碟組:
(1) COMPATIBLE.ASM:可以訪問磁碟組的ASM軟體最小版本。在11g中,預設設定是10.1
(2) COMPATIBLE.RDBMS:對於任何使用磁碟組的資料庫例項,COMPATIBLE資料庫初始化引數最小值。在11g中,預設設定是10.1。
相容版本的磁碟組只能增加,不能減少,如果你在增加版本時犯錯,只能重新建立一個新的磁碟組。
磁碟組的相容屬性可以在建立磁碟組期間給CREATE DISKGROUP目錄新增ATTRIBUTE子句進行設定。
ATTRIBUTE 'compatible.asm' = '11.1';
CREATE DISKGROUP data DISK '/dev/raw/*'
ATTRIBUTE 'compatible.rdbms' = '11.1', 'compatible.asm' = '11.1';
可以在ALTER DISKGROUP命令後面加上SET ATTRIBUTE子句改變現有磁碟組的相容屬性。
ALTER DISKGROUP data SET ATTRIBUTE 'compatible.rdbms' = '11.1';
可以從V$ASM_DISKGROUP 和 V$ASM_ATTRIBUTE檢視檢視當前有效的相容性設定。
COLUMN compatibility FORMAT A20
COLUMN database_compatibility FORMAT A20
SELECT group_number, name, compatibility, database_compatibility FROM v$asm_diskgroup;
GROUP_NUMBER NAME COMPATIBILITY DATABASE_COMPATIBILI
------------ ---------- -------------------- --------------------
1 DATA 11.1.0.0.0 11.1.0.0.0
1 row selected.
SQL>
COLUMN name FORMAT A20
COLUMN value FORMAT A20
SELECT group_number, name, value FROM v$asm_attribute ORDER BY group_number, name;
GROUP_NUMBER NAME VALUE
------------ -------------------- --------------------
1 au_size 1048576
1 compatible.asm 11.1.0.0.0
1 compatible.rdbms 11.1
1 disk_repair_time 3.6h
4 rows selected.
SQL>
映象快速重新同步
在短暫的磁碟失效期間,ASM跟蹤那些必須應用到離線磁碟的有變化的區間(extend),一旦磁碟可用了,只將那些改變的區間同步回磁碟,而不是全部磁碟內容,顯著增加了重新同步程式的速度。
只有當磁碟組的相容屬性設定為11.1或更高時,映象快速重新同步才可用。
ALTER DISKGROUP disk_group_1 SET ATTRIBUTE 'compatible.rdbms' = '11.1;
ASM會刪除離線時間超過3.6小時的磁碟,可以透過修改DISK_REPAIR_TIME(單位可以是分鐘,M或m,或小時,H或h)引數設定磁碟組預設時間限制。
ALTER DISKGROUP disk_group_1 SET ATTRIBUTE 'disk_repair_time' = '4.5h';
-- 以分鐘為單位進行設定
ALTER DISKGROUP disk_group_1 SET ATTRIBUTE 'disk_repair_time' = '300m';
ALTER DISKGROUP命令的DROP AFTER子句用於廢除DISK_REPAIR_TIME引數設定的預設時間。
ALTER DISKGROUP disk_group_1 OFFLINE DISK D1_0001;
--廢除預設的DISK_REPAIR_TIME.
ALTER DISKGROUP disk_group_1 OFFLINE DISK D1_0001 DROP AFTER 30m;
如果磁碟在滾動升級期間離線,直到滾動升級完成,計時器才會啟動。
滾動升級
使用滾動升級11g ASM群集例項可以向前升級,處於滾動升級模式下的ASM群集可以在其中一個節點上使用下面的命令進行滾動升級:
只要群集處於滾動升級模式,其中每個節點就可以按順序執行關閉、升級、啟動,在升級過程中,群集處於一個混合版本的環境中,直到所有升級全部完成,在這種情況下,群集受到下列操作的限制:
Mount和dismount磁碟組
Open、close、resize和delete資料庫檔案
訪問本地固定檢視和固定程式包
使用下面的查詢語句可以查詢出ASM群集的當前狀態:
當最後一個節點升級完成後,使用下面的命令來停止滾動升級,它會檢查所有的ASM例項版本是否正確,然後關閉滾動升級模式,並重新啟動掛起的平衡操作。
滾動升級過程包括下列限制和其他約定:
在ASM滾動升級啟動之前必須打上所有的Oracle clusterware補丁。
滾動升級只從11g開始才可用,因此這個方法不適合從10g升級到11g。
如果在滾動升級完成之前失敗,可以回退到之前的版本。
如果升級失敗,在嘗試新的升級之前必須完成平衡操作。
在滾動升級期間新加入群集的例項會自動進入滾動升級模式。
如果在滾動升級期間群集中的所有例項都處於停止狀態,一旦例項重新啟動,它們將不再處於滾動升級模式,升級就必須重新初始化,就好像是一個新的程式一樣。
SYSMAN特權和OSASM作業系統組
引入ASM後,使得儲存的管理從系統管理員領域轉移到DBA的領域了,不幸的是,不是每家公司都是這種情況,結果就是,一些系統管理員都必須獲取特權使用者來處理磁碟儲存,Oracle引入了SYSASM特權和OSASM作業系統組解決了這一問題,它提供了兩個機制,使儲存和資料庫管理的職責分離。
在ASM例項上可以象建立資料庫使用者那樣建立一個使用者,授予這些使用者SYSASM特權,讓它們可以連線到ASM例項處理管理任務,首先,連線到ASM例項:
$ sqlplus / as sysasm
接下來,在ASM例項中建立一個新使用者,並授予它SYSASM特權,這個使用者就可以使用SYSASM特權連線了:
User created.
SQL> GRANT SYSASM TO asm_user_1;
Grant succeeded.
SQL> CONN asm_user_1/asm_password AS SYSASM
Connected.
SQL>
另外,給OSASM組( asmadmin )指派一個作業系統使用者,允許以SYSASM身份連線時使用作業系統認證,下面的例子建立了一個新作業系統使用者,並將它指派給OSASM組( asmadmin ):
# su - tim_hall
$ export ORACLE_SID=+ASM
$ export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1
$ $ORACLE_HOME/bin/sqlplus / as sysasm
SQL*Plus: Release 11.1.0.6.0 - Production on Fri Aug 8 16:48:37 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
可擴充套件性和效能增強
ASM檔案以區間集形式儲存在磁碟組上,在Oracle 10g中,每個區間直接對映到一個分配單元(AU),但在Oracle 11g中,一個區間可以由一個或多個分配單元組成,因為檔案在不斷變大,區間尺寸可以變大以減少區間對映的檔案的大小,因此更節約記憶體。
當磁碟組相容屬性設定為11.1或更高時,區間大小將根據檔案大小自動增長,第一個20,000區間匹配分配單元(AU)大小,下一個20,000區間大小由8個分配單元組成(8*AU),除了這一點,區間大小都是64個分配單元(64*AU)。
除了自動擴充套件區間大小外,Oracle 11g也允許在CREATE DISKGROUP語句中使用ATTRIBUTE子句來控制分配單元的大小,分配單元大小範圍從1M到64M。
EXTERNAL REDUNDANCY
DISK '/dev/sde1'
ATRRIBUTE 'au_size' = '32M';
對於非常大的資料庫,同時使用擴充套件區間大小和分配更大的分配單元將會使I/O開銷更大。
新的ASMCMD命令和選項
ASM命令列實用程式包括了多個新的命令,下面的示例輸出假設你已經以-p選項啟動了實用程式:
ASMCMD [+] >
在asmcmd中輸入help <命令>可以檢視每個命令的用法。
lsdsk命令從V$ASM_DISK_STAT and V$ASM_DISK檢視查詢出所有ASM磁碟的資訊,簡要用法如下所示:
下面是不加-k選項和加上-k選項後的輸出結果示例:
Path
/dev/sdc1
/dev/sdd1
/dev/sde1
ASMCMD [+] > lsdsk -d data -k
Total_MB Free_MB OS_MB Name Failgroup Library Label UDID Product Redund Path
8189 6961 8189 DATA_0000 DATA_0000 System UNKNOWN /dev/sdc1
8189 6961 8189 DATA_0001 DATA_0001 System UNKNOWN /dev/sdd1
8189 6950 8189 DATA_0002 DATA_0002 System UNKNOWN /dev/sde1
ASMCMD [+] >
cp命令允許檔案在ASM和本地或遠端目標之間複製,簡要用法如下所示:
下面的示例從ASM複製USERS資料檔案到本地檔案系統:
source +DATA/db11g/datafile/users.273.661514191
target /tmp/users.dbf
copying file(s)...
file, /tmp/users.dbf, copy committed.
ASMCMD [+] >
但遺憾的是cp命令不能複製控制檔案。
md_backup命令複製一個或多個磁碟組的後設資料,簡要用法如下所示:
下面是一個示例命令,命令結果包括了所有重新建立ASM設定需要的後設資料:
Disk group to be backed up: DATA
ASMCMD [+] >
md_restore命令允許從md_backup命令建立的後設資料恢復磁碟組設定,簡要用法如下所示:
[-t (full)|nodg|newdg] [-f ]
[-g ',,...']
[-o ':,...']
直接從以前的備份還原的命令如下:
remap命令修復磁碟上一段範圍的物理塊,每個塊的內容都無效,因此只有展示了讀錯誤的塊被修復,簡要用法如下所示;
下面是這個命令的一個示例:
Preferred Read Failure(首選讀失效)組
在Oracle 10g中,ASM總是讀取映象區間集的主要複製,當兩個節點和兩個失效組都位於同一個站點中時,這樣做沒有問題,但群集擴大後,它的效率就變得低下了,因為它會引起很多不必要的網路通訊,Oracle 11g允許每個節點定義一個首選失效組,允許群集中的節點優先於遠端失效組訪問本地失效組。
為了配置首選讀失效組,磁碟組相容屬性必須設定為11.1或更高,相容選項設定正確了,就可以使用ASM_PREFERRED_READ_FAILURE_GROUPS引數為每個節點設定首選失效組。
NAME FAILGROUP
------------------------------ ------------------------------
DATA_0000 DATA_0000
DATA_0001 DATA_0001
DATA_0002 DATA_0002
3 rows selected.
SQL>
ALTER SYSTEM SET ASM_PREFERRED_READ_FAILURE_GROUPS = 'data.data_0000', 'data.data_0001', 'data.data_0002';
快速重新平衡
ALTER DISKGROUP ... MOUNT語句允許磁碟組以限制(RESTRICTED)模式掛載:
NAME
------------------------------
DATA
SQL> ALTER DISKGROUP data DISMOUNT;
Diskgroup altered.
SQL> ALTER DISKGROUP data MOUNT RESTRICTED;
Diskgroup altered.
SQL> ALTER DISKGROUP data DISMOUNT;
Diskgroup altered.
SQL> ALTER DISKGROUP data MOUNT;
Diskgroup altered.
SQL>
在RAC環境中,磁碟組以RESTRICTED模式掛載時,只能有一個例項訪問它,受限的磁碟組對任何ASM客戶端都是不可用的,即使節點已經掛載。
使用RESTRICTED模式改善了RAC環境中重新平衡操作的效能,當重新平衡操作完成時,應該解除安裝磁碟組,然後以NORMAL模式掛載(預設模式)。
混合磁碟組維護增強
CREATE DISKGROUP 和 ALTER DISKGROUP包括了新的ATTRIBUTE子句(compatible, disk_repair_time, au_size)。
ALTER DISKGROUP命令的CHECK子句已經被簡化,只留下了兩個選項:NOREPAIR和REPAIR。預設使用NOREPAIR。這時只會顯示錯誤概要,詳細錯誤資訊會寫到警告日誌中。
ALTER DISKGROUP data CHECK NOREPAIR;
ALTER DISKGROUP data CHECK REPAIR;
磁碟組可以以限制(RESTRICTED)模式掛載了,它改善了某些維護任務的效能。
ALTER DISKGOUP命令包括了ONLINE和OFFLINE子句,在磁碟維護時可以先離線,修復好後再恢復到線上狀態。
ALTER DISKGROUP data OFFLINE DISK 'disk_0000', 'disk_0001';
ALTER DISKGROUP data ONLINE DISK 'disk_0000', 'disk_0001';
-- 失效組.
ALTER DISKGROUP data OFFLINE DISKS IN FAILGROUP 'fg_0000';
ALTER DISKGROUP data ONLINE DISKS IN FAILGROUP 'fg_0000';
-- 將所有磁碟以磁碟組形式恢復到線上狀態.
ALTER DISKGROUP data ONLINE ALL;
ASM不能掛載的磁碟組現在可以使用DROP DISKGROUP命令加上FORCE關鍵字進行強制刪除了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2143362/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 11g R1 asm 磁碟組新特性OracleASM
- Oracle12c 中RAC功能增強新特性之ASM&GridOracleASM
- oracle 11g ASM問題OracleASM
- rh4上 安裝oracle 11g r1Oracle
- oracle 12c R1 對存放在asm磁碟中的password 進行移動OracleASM
- Oracle 12c中的轉換功能增強Oracle
- Oracle 12c中增強的PL/SQL功能OracleSQL
- Oracle 10g中對resumable session的增強Oracle 10gSession
- 11g asm Oracle 系統核心修改ASMOracle
- oracle 11g asm自動備份asm磁頭任務OracleASM
- oracle 11g ASM 的管理使用者OracleASM
- oracle 11g asm 磁碟組相容屬性OracleASM
- oracle中的asm文化OracleASM
- oracle ASM中ASM_POWER_LIMIT引數OracleASMMIT
- Oracle Database 12cR2/R1中的更改OracleDatabase
- Oracle12c功能增強 新特性之管理功能的增強Oracle
- oracle 11g 操作ASM許可權問題OracleASM
- AIX 6.1 安裝 Oracle 11g R1 報Java錯誤解決方法AIOracleJava
- oracle merge into用法(R1)Oracle
- Java 8 中 CAS 的增強Java
- ORACLE 12C RMAN 功能增強Oracle
- oracle 11g ASM 磁碟組線上擴容實驗:OracleASM
- dbca建立oracle 11g rac發現不了asm磁碟OracleASM
- oracle 11G新特性--SYSASM 角色--用來管理ASMOracleASM
- 安裝oracle 11g 使用ASM儲存 詳細OracleASM
- Windows 7 下安裝Oracle 11g r1 版本相容問題解決WindowsOracle
- Oracle11g ASM強大的新工具AMDUOracleASM
- 在ORACLE中利用角色增強應用系統安全性(轉)Oracle
- VS Code 中的增強 code CLI
- Java8中CAS的增強Java
- 11G ORACLE RAC DBCA 無法識別asm磁碟組OracleASM
- AIX6.1安裝ORACLE 11g(單機使用ASM)AIOracleASM
- How to create user for oracle10g/11g asm instanceOracleASM
- oracle 11g rac asm ORA-15064錯誤OracleASM
- 通過ORACLE VM virtualbox環境安裝oracle 11G RAC(ASM)OracleASM
- 11g資料泵NETWORK_LINK功能增強
- Oracle12c中功能及效能新特點之with子句的增強Oracle
- 11g ASM asm_preferred_read_failure_groupASMAI