中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Oracle 11g R1中ASM增強

發布時間:2020-08-06 21:59:53 來源:ITPUB博客 閱讀:136 作者:不一樣的天空w 欄目:關系型數據庫
http://tech.it168.com/a2008/1120/211/000000211426.shtml

   本文主要概述了Oracle數據庫11g第1版中對自動存儲管理(ASM)的增強,其中包括:

   Oracle數據庫存儲管理員指南

   新的磁盤組兼容屬性

   鏡像快速重新同步

   滾動升級

   SYSMAN特權和OSASM操作系統組

   可擴展性和性能增強

   新的ASMCMD命令和選項

   Preferred Read Failure(首選讀失效)組

   快速重新平衡

   混合磁盤組維護增強

  Oracle數據庫存儲管理員指南

  在Oracle官方網站上首次放出了存儲管理員指南,參見http://download.oracle.com/docs/cd/B28359_01/server.111/b31107/toc.htm。

  新的磁盤組兼容屬性

  Oracle 11g包括了兩個新的兼容屬性,讓數據庫軟件可以使用特殊的磁盤組:

  (1) COMPATIBLE.ASM:可以訪問磁盤組的ASM軟件最小版本。在11g中,默認設置是10.1

  (2) COMPATIBLE.RDBMS:對于任何使用磁盤組的數據庫實例,COMPATIBLE數據庫初始化參數最小值。在11g中,默認設置是10.1。

  兼容版本的磁盤組只能增加,不能減少,如果你在增加版本時犯錯,只能重新創建一個新的磁盤組。

  磁盤組的兼容屬性可以在創建磁盤組期間給CREATE DISKGROUP目錄添加ATTRIBUTE子句進行設置。

CREATE DISKGROUP data DISK'/dev/raw/*'

  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.asm'='11.1';

  
ALTER DISKGROUP data SET ATTRIBUTE 'compatible.rdbms'='11.1';

  可以從V$ASM_DISKGROUP 和 V$ASM_ATTRIBUTE視圖查看當前有效的兼容性設置。

COLUMN name FORMAT A10

  
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.011.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 ORDERBY 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.asm'='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參數設置的默認時間。 

--使用默認的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群集可以在其中一個節點上使用下面的命令進行滾動升級:

 ALTER SYSTEM START ROLLING MIGRATION TO11.2.0.0.0;

  只要群集處于滾動升級模式,其中每個節點就可以按順序執行關閉、升級、啟動,在升級過程中,群集處于一個混合版本的環境中,直到所有升級全部完成,在這種情況下,群集受到下列操作的限制:

   Mount和dismount磁盤組

   Open、close、resize和delete數據庫文件

   訪問本地固定視圖和固定程序包

  使用下面的查詢語句可以查詢出ASM群集的當前狀態:

 SELECT SYS_CONTEXT('sys_cluster_properties', 'cluster_state') FROM dual;

  當最后一個節點升級完成后,使用下面的命令來停止滾動升級,它會檢查所有的ASM實例版本是否正確,然后關閉滾動升級模式,并重新啟動掛起的平衡操作。

 ALTER SYSTEM STOP ROLLING MIGRATION;

  滾動升級過程包括下列限制和其他約定:

   在ASM滾動升級啟動之前必須打上所有的Oracle clusterware補丁。

   滾動升級只從11g開始才可用,因此這個方法不適合從10g升級到11g。

   如果在滾動升級完成之前失敗,可以回退到之前的版本。

   如果升級失敗,在嘗試新的升級之前必須完成平衡操作。

   在滾動升級期間新加入群集的實例會自動進入滾動升級模式。

   如果在滾動升級期間群集中的所有實例都處于停止狀態,一旦實例重新啟動,它們將不再處于滾動升級模式,升級就必須重新初始化,就好像是一個新的進程一樣。

  SYSMAN特權和OSASM操作系統組

  引入ASM后,使得存儲的管理從系統管理員領域轉移到DBA的領域了,不幸的是,不是每家公司都是這種情況,結果就是,一些系統管理員都必須獲取特權用戶來處理磁盤存儲,Oracle引入了SYSASM特權和OSASM操作系統組解決了這一問題,它提供了兩個機制,使存儲和數據庫管理的職責分離。

  在ASM實例上可以象創建數據庫用戶那樣創建一個用戶,授予這些用戶SYSASM特權,讓它們可以連接到ASM實例處理管理任務,首先,連接到ASM實例:

$ export ORACLE_SID=+ASM

  $ sqlplus
/as sysasm

  接下來,在ASM實例中創建一個新用戶,并授予它SYSASM特權,這個用戶就可以使用SYSASM特權連接了: 

SQL>CREATEUSER asm_user_1 IDENTIFIED by asm_password;

  
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 ):

# useradd tim_hall -G 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 816:48:372008

  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 andReal 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。

 CREATE DISKGROUP disk_group_2

  EXTERNAL REDUNDANCY

  
DISK'/dev/sde1'

  ATRRIBUTE
'au_size'='32M';

  對于非常大的數據庫,同時使用擴展區間大小和分配更大的分配單元將會使I/O開銷更大。


  新的ASMCMD命令和選項

  ASM命令行實用程序包括了多個新的命令,下面的示例輸出假設你已經以-p選項啟動了實用程序:

$ asmcmd -p

  ASMCMD
[+]>

  在asmcmd中輸入help <命令>可以查看每個命令的用法。

  lsdsk命令從V$ASM_DISK_STAT and V$ASM_DISK視圖查詢出所有ASM磁盤的信息,簡要用法如下所示: 

lsdsk [-ksptcgHI][-d ][pattern]

  下面是不加-k選項和加上-k選項后的輸出結果示例:

ASMCMD [+]> lsdsk

  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

  
818969618189 DATA_0000 DATA_0000 System UNKNOWN /dev/sdc1

  
818969618189 DATA_0001 DATA_0001 System UNKNOWN /dev/sdd1

  
818969508189 DATA_0002 DATA_0002 System UNKNOWN /dev/sde1

  ASMCMD
[+]>

  cp命令允許文件在ASM和本地或遠程目標之間拷貝,簡要用法如下所示:

cp [-ifr]<[\@connect_identifier:]src><[\@connect_identifier:]tgt>

  下面的示例從ASM拷貝USERS數據文件到本地文件系統:

 ASMCMD [+]> cp +DATA/db11g/datafile/users.273.661514191/tmp/users.dbf

  source
+DATA/db11g/datafile/users.273.661514191

  target
/tmp/users.dbf

  copying
file(s)...

  
file, /tmp/users.dbf, copy committed.

  ASMCMD
[+]>

  但遺憾的是cp命令不能拷貝控制文件。

  md_backup命令拷貝一個或多個磁盤組的元數據,簡要用法如下所示:

md_backup [-b location_of_backup][-g dgname [-g dgname ???]]

  下面是一個示例命令,命令結果包括了所有重新創建ASM設置需要的元數據:

ASMCMD [+]> md_backup -b /tmp/backup.txt -g data

  
Diskgroupto be backed up: DATA

  ASMCMD
[+]>

  md_restore命令允許從md_backup命令創建的元數據恢復磁盤組設置,簡要用法如下所示: 

md_restore -b [-li]

  
[-t (full)|nodg|newdg][-f ]

  
[-g ',,...']

  
[-o ':,...']

  直接從以前的備份還原的命令如下:  

ASMCMD [+]> md_restore -b /tmp/backup.txt -t full-g data

  remap命令修復磁盤上一段范圍的物理塊,每個塊的內容都無效,因此只有展示了讀錯誤的塊被修復,簡要用法如下所示; 

remap <diskgroup name><disk name><block range>

  下面是這個命令的一個示例:

 ASMCMD [+]> remap data data_0001 5000-5999

  Preferred Read Failure(首選讀失效)組

  在Oracle 10g中,ASM總是讀取鏡像區間集的主要拷貝,當兩個節點和兩個失效組都位于同一個站點中時,這樣做沒有問題,但群集擴大后,它的效率就變得低下了,因為它會引起很多不必要的網絡通訊,Oracle 11g允許每個節點定義一個首選失效組,允許群集中的節點優先于遠程失效組訪問本地失效組。

  為了配置首選讀失效組,磁盤組兼容屬性必須設置為11.1或更高,兼容選項設置正確了,就可以使用ASM_PREFERRED_READ_FAILURE_GROUPS參數為每個節點設置首選失效組。

SELECT name, failgroup FROM v$asm_disk;

  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)模式掛載:

SQL>SELECT name FROM v$asm_diskgroup;

  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; -- Like 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關鍵字進行強制刪除了。

DROP DISKGROUP data FORCE;

向AI問一下細節

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

AI

高青县| 湘潭市| 图木舒克市| 奈曼旗| 永顺县| 嘉鱼县| 竹山县| 上饶市| 香河县| 加查县| 肇东市| 罗城| 舒城县| 拜城县| 慈溪市| 平顶山市| 区。| 满城县| 成武县| 五河县| 宣恩县| 资兴市| 巴中市| 屯昌县| 青铜峡市| 赤城县| 临夏市| 元谋县| 绵阳市| 惠东县| 宁安市| 沽源县| 惠水县| 滁州市| 久治县| 邹平县| 太原市| 思南县| 大兴区| 都江堰市| 建昌县|