本文主要介紹Oracle 11.2.0.3環境下ASM例項的管理,主要包含以下內容:
1:ASM磁碟及磁碟組的狀態檢視
2:建立external 冗餘磁碟組,新增,刪除磁碟
3:建立normal redundancy磁碟組
4:normal redundancy下的failgroup測試
5:刪除ASM磁碟組
6:其他asm例項初始化引數含義
一:檢視ASM磁碟及磁碟組狀態
SQL> select * from v$asm_disk;
SQL> select * from v$asm_diskgroup;
二:建立external 冗餘磁碟組,新增,刪除磁碟,刪除磁碟的時候需要指定磁碟的name而不是path
SQL> create diskgroup FRA external redundancy disk '/dev/asm-disk4';
Diskgroup created.
SQL> alter diskgroup fra add disk '/dev/asm-disk5' rebalance power 10;
Diskgroup altered.
SQL> select name,failgroup,path from v$asm_disk;
NAME FAILGROUP PATH
-------------------- -------------------- --------------------
DATA_0000 DATA_0000 /dev/asm-disk1
DATA_0001 DATA_0001 /dev/asm-disk3
DATA_0002 DATA_0002 /dev/asm-disk2
FRA_0000 FRA_0000 /dev/asm-disk4
FRA_0001 FRA_0001 /dev/asm-disk5
/dev/asm-disk6
/dev/asm-disk7
SQL> alter diskgroup fra drop disk '/dev/asm-disk4' rebalance power 10;
alter diskgroup fra drop disk '/dev/asm-disk4' rebalance power 10
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15054: disk "/DEV/ASM-DISK4" does not exist in diskgroup "FRA"
SQL> alter diskgroup fra drop disk 'FRA_0000' rebalance power 10;
Diskgroup altered.
三:建立normal redundancy磁碟組
SQL> conn /as sysasm
Connected.
SQL> create diskgroup fra normal redundancy
failgroup fg1 disk '/dev/asm-disk4','/dev/asm-disk5'
failgroup fg2 disk '/dev/asm-disk6','/dev/asm-disk7'
attribute 'compatible.rdbms'='11.2','compatible.asm'='11.2';
Diskgroup created.
SQL> select name, total_mb,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;
NAME TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
---------- ---------- ---------- ----------------------- --------------
DATA 61440 54873 0 18291
FRA 81920 81592 20480 30556
四:failgroup測試;FAILGROUP是用於將磁碟分組,以保證丟失任何一組FAILGROUP磁碟,資料還是完整的,多用於多陣列,透過ASM來完成冗餘的環境!
1:檢視FRA磁碟組中failgroup資訊及磁碟狀態
SQL> select name,path,failgroup,mount_status from v$asm_disk where group_number=2;
NAME PATH FAILGROUP MOUNT_STATUS
-------------------- -------------------- ---------- ---------------------
FRA_0003 /dev/asm-disk7 FG2 CACHED
FRA_0002 /dev/asm-disk6 FG2 CACHED
FRA_0000 /dev/asm-disk4 FG1 CACHED
FRA_0001 /dev/asm-disk5 FG1 CACHED
2:在rdbms例項中建立表空間,建表並插入資料,收集表統計資訊
SQL> create tablespace test01 datafile '+FRA';
Tablespace created.
ASMCMD> pwd
+fra/db/datafile
ASMCMD> ls
TEST01.256.800622493
SQL> create table t1 tablespace test01 as select * from dba_objects;
Table created.
SQL> exec dbms_stats.gather_table_stats('SYS','T1');
PL/SQL procedure successfully completed.
SQL> select count(*) from t1;
COUNT(*)
----------
74501
3:刪除udev相關規則,重啟資料庫例項和ASM例項,驗證資料是否存在
SQL> conn /as sysasm
Connected.
SQL> alter diskgroup fra mount;
alter diskgroup fra mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15040: diskgroup is incomplete
ORA-15042: ASM disk "1" is missing from group number "2"
ORA-15042: ASM disk "0" is missing from group number "2"
SQL> alter diskgroup fra mount force;
Diskgroup altered.
SQL> select name,path,failgroup,mount_status from v$asm_disk;
NAME PATH FAILGROUP MOUNT_STATUS
---------- -------------------- -------------------- ---------------------
FRA_0000 FG1 MISSING
FRA_0001 FG1 MISSING
FRA_0002 /dev/asm-disk6 FG2 CACHED
FRA_0003 /dev/asm-disk7 FG2 CACHED
DATA_0000 /dev/asm-disk1 DATA_0000 CACHED
DATA_0002 /dev/asm-disk2 DATA_0002 CACHED
DATA_0001 /dev/asm-disk3 DATA_0001 CACHED
7 rows selected.
SQL> conn /as sysdba
Connected.
SQL> select count(*) from t1;
COUNT(*)
----------
74501
五:刪除ASM磁碟組,預設磁碟故障條件下,經過12960秒即3.6個小時後自動刪除;刪除磁碟組之前需要保證無資料存放在磁碟組上且無到該磁碟組的active連線
[grid@localhost ~]$ tail -f /u01/app/grid/diag/asm/+asm/+ASM/trace/alert_+ASM.log
ORA-15062: ASM disk is globally closed
Thu Nov 29 12:00:53 2012
WARNING: Disk 0 (FRA_0000) in group 2 will be dropped in: (12960) secs on ASM inst 1
WARNING: Disk 1 (FRA_0001) in group 2 will be dropped in: (12960) secs on ASM inst 1
Thu Nov 29 12:00:58 2012
asm例項:
SQL> select path,name,repair_timer from v$asm_disk where group_number=2;
PATH NAME REPAIR_TIMER
-------------------- ---------- ------------
FRA_0000 12960
FRA_0001 12960
/dev/asm-disk6 FRA_0002 0
/dev/asm-disk7 FRA_0003 0
SQL> alter diskgroup fra online disk 'FRA_0000';
Diskgroup altered.
SQL> alter diskgroup fra online disk 'FRA_0001';
Diskgroup altered.
SQL> select name,path,failgroup,mount_status from v$asm_disk;
NAME PATH FAILGROUP MOUNT_STATUS
---------- -------------------- -------------------- ---------------------
FRA_0002 /dev/asm-disk6 FG2 CACHED
FRA_0003 /dev/asm-disk7 FG2 CACHED
DATA_0000 /dev/asm-disk1 DATA_0000 CACHED
DATA_0002 /dev/asm-disk2 DATA_0002 CACHED
DATA_0001 /dev/asm-disk3 DATA_0001 CACHED
FRA_0001 /dev/asm-disk5 FG1 CACHED
FRA_0000 /dev/asm-disk4 FG1 CACHED
SQL> drop diskgroup fra;
drop diskgroup fra
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15053: diskgroup "FRA" contains existing files
rdbms例項:
SQL> drop tablespace test01 including contents;
Tablespace dropped.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
asm例項:
SQL> drop diskgroup fra including contents;
Diskgroup dropped.
rdbms例項:
SQL> startup
ORACLE instance started.
Total System Global Area 313860096 bytes
Fixed Size 1344652 bytes
Variable Size 192940916 bytes
Database Buffers 113246208 bytes
Redo Buffers 6328320 bytes
Database mounted.
Database opened.
六:其他asm例項初始化引數含義
instance_type:Defines
the type of the instance, such as RDBMS and ASM. However, this has been
made optional in an Oracle Grid Infrastructure ASM.
asm_power_limit:Manages
the degree of parallelism to speed up the ASM disk rebalance
operations, for example, whenever a disk is being dropped from an
existing disk group or when the disk group rebalance
is initiated manually. This is a dynamic parameter that can be set in
the range from 0 to 11 (1024 in 11gR2 and above). Considering the size
of a disk group, you may increase the limit of the POWER to speed up
the rebalancing operation. Multiple ASM instances
can hold the different values across a cluster. When no limit is
specified, it uses the default value for the rebalancing operation.
asm_diskstring:
Used by the ASM instance to identify and discover the disks mentioned in
the paths. Once the disks are discovered, they will appear in the
V$ASM_DISK dynamic view. The disk discovery occurs
when an ASM instance is initiated, when you issue a query against the
V$ASM_DISK/V$ASM_DISKGROUP dynamic views, or when you MOUNT, UNMOUNT,
RESIZE, ADD a disk. It is a dynamic parameter and you can specify
multiple paths within this parameter
processes: Apart
from the SGA initialization parameter value, the PROCESSES
initialization parameter value has some influence over the ASM instance.
Therefore, you may use the following formula to tune
the PROCESSES initialization parameter when multiple database instances
are accessing the instance:
Processes = 50+50*n (where n indicates the number of instances used to connect to the ASM instance)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2143364/,如需轉載,請註明出處,否則將追究法律責任。