سطح redundancy دیسک گروه ها در ASM به سه حالت زیر است:
نوع اول Normal
اطلاعات فایل ما را در دو جا نگهداری میکند. یعنی شبیه سناریو RAID 1 میباشد. تحمل خرابی یک گروه ۱ دیسک است. اگر یک دیسک از بین برود دیگری وجود دارد. برای راهاندازی آن دو تا دیسک و یا دو تا گروه failure نیاز است.
نوع دوم High
اطلاعات فایل را در ۳ جا نگهداری میکند. برای این حالت نمونه سناریو RAID ای وجود ندارد. تحمل خرابی ۲ تا دیسک و یا ۲ گروه failure است. اگر یکی از بین برود اطلاعات دو جای دیگر وجود دارد. برای راه اندازی آن ۳ تا دیسک و یا سه تا گروه failure نیاز است.
نوع سوم External
هیچ mirrory برای دیسک ها در ASM وجود ندارد و در صورت لزوم براساس RAID سختافزاری دیسکها سناریوبندی میشوند.
راه اندازی نوع اول
در مثال پایین می بینید اگر نحوه تعریف بدون failgroup باشد تعداد دیسکها نقش مهمی دارند. وقتی که با یک دیسک بسازید خطای زیر را میگیرید.
SQL> create diskgroup disk_grp1 normal redundancy disk 'ORCL:DISK1';
create diskgroup disk_grp1 normal redundancy disk 'ORCL:DISK1'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15072: command requires at least 2 regular failure groups, discovered only 1
ولی در مثال پایین وقتی که دو تا دیسک تعریف کنید خطا نمی دهد.
SQL> create diskgroup disk_grp1 normal redundancy disk 'ORCL:DISK1', 'ORCL:DISK2';
Diskgroup created.
حال مثال را با failgroup ببینید. وقتی که یک گروه برای failure در نظر بگیرید باز هم خطا میدهد.
SQL> create diskgroup disk_grp1 normal redundancy
failgroup failure_group_1 disk
'ORCL:DISK1' name disk1;
create diskgroup disk_grp1 normal redundancy
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15072: command requires at least 2 regular failure groups, discovered only 1
ولی وقتی که دوتا گروه برای failure در نظر بگیرید خطا نمی دهد.در حالت زیر تعداد دیسکها مهم نیست تعداد گروه failure مهم است.
SQL> create diskgroup disk_grp1 normal redundancy
failgroup failure_group_1 disk
'ORCL:DISK1' name disk1
failgroup failure_group_2 disk
'ORCL:DISK2' NAME disk2;
Diskgroup created.
نتیجه: برای ساختن دیسک گروه از نوع NORMAL دو تا دیسک و یا دو تا گروه failure نیاز است.
مثال های زیر حالت High را نشان میدهد.
=================================== Hight redundancy ===================================
SQL> create diskgroup disk_grp1 high redundancy disk 'ORCL:DISK1', 'ORCL:DISK2';
create diskgroup disk_grp1 high redundancy disk 'ORCL:DISK1', 'ORCL:DISK2'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15072: command requires at least 3 regular failure groups, discovered only 2
—------------------------------------------------------------------------------—
SQL> create diskgroup disk_grp1 high redundancy
failgroup failure_group_1 disk
'ORCL:DISK1' name disk1
failgroup failure_group_2 disk
'ORCL:DISK2' NAME disk2;
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15072: command requires at least 3 regular failure groups, discovered only 2
—---------------------------------------------------------------------------------------—
SQL> create diskgroup disk_grp1 high redundancy
failgroup failure_group_1 disk
'ORCL:DISK1' name disk1
failgroup failure_group_2 disk
'ORCL:DISK2' NAME disk2
failgroup failure_group_3 disk
'ORCL:DISK3' NAME disk3;
Diskgroup created.
نتیجه: برای ساختن دیسک گروه از نوع HIGH سه تا دیسک و یا سه تا گروه failureنیاز است.