In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-03-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/01 Report--
What this article shares with you is about how to understand ASM Failure Group. The editor thinks it is very practical, so I share it with you to learn. I hope you can get something after reading this article.
Two 1G files of RAW are created with perl, ready to do failure group.
SQL > select GROUP_NUMBER,DISK_NUMBER,INCARNATION,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,REDUNDANCY
2 TOTAL_MB,FREE_MB,NAME,FAILGROUP from v$asm_disk
GROUP DISK MOUNT HEADER MODE TOTAL FREE
NUMBER NUMBER INCARNATION STATUS STATUS STATUS STATE REDUNDANC MB MB NAME FAILGROUP
--
0 0 0 CLOSED CANDIDATE ONLINE NORMAL UNKNOWN 1023 0
0 10 CLOSED CANDIDATE ONLINE NORMAL UNKNOWN 1023 0
1 0 4042421333 CACHED MEMBER ONLINE NORMAL UNKNOWN 3072 2391 DISK_GROUP1_0000 DISK_GROUP1_0000
1 1 4042421334 CACHED MEMBER ONLINE NORMAL UNKNOWN 3072 2399 DISK_GROUP1_0001 DISK_GROUP1_0001
2 0 4042421335 CACHED MEMBER ONLINE NORMAL UNKNOWN 3072 2665 DISK_GROUP2_0000 DISK_GROUP2_0000
21 4042421336 CACHED MEMBER ONLINE NORMAL UNKNOWN 3072 2668 DISK_GROUP2_0001 DISK_GROUP2_0001
6 rows have been selected.
SQL > CREATE DISKGROUP DISK_GROUP3 NORMAL REDUNDANCY
2 FAILGROUP controller2 DISK'D:\ ASM DISK\ DISK_FILE_DISK6'
CREATE DISKGROUP DISK_GROUP3 NORMAL REDUNDANCY
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15072: command requires at least 2 failure groups, discovered only 1
If there is only one disk (failure group), you cannot do redundancy policy (FAILURE GROUPS).
SQL > CREATE DISKGROUP DISK_GROUP3 NORMAL REDUNDANCY
2 FAILGROUP controller2 DISK'D:\ ASM DISK\ DISK_FILE_DISK6'
3 FAILGROUP controller1 DISK'D:\ ASM DISK\ DISK_FILE_DISK5' NAME disk5 SIZE 1023 M FORCE
CREATE DISKGROUP DISK_GROUP3 NORMAL REDUNDANCY
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15034: disk'd:\ ASM DISK\ DISK_FILE_DISK5' does not require the FORCE option
Since disk 5 has never been formatted by ASM, you cannot use the force option. If it has been formatted by ASM, you can skip formatting through FORCE.
SQL > CREATE DISKGROUP DISK_GROUP3 NORMAL REDUNDANCY
2 FAILGROUP controller2 DISK'D:\ ASM DISK\ DISK_FILE_DISK6'
3 FAILGROUP controller1 DISK'D:\ ASM DISK\ DISK_FILE_DISK5' NAME disk5 SIZE 1023 M
Diskgroup created.
The disk group has been created, and the faigroup is named controller1 and controller2. One of the failgroup is named disk5.
SQL > select GROUP_NUMBER,NAME,SECTOR_SIZE,BLOCK_SIZE,ALLOCATION_UNIT_SIZE,STATE
2 TYPE,TOTAL_MB,FREE_MB,REQUIRED_MIRROR_FREE_MB
3 USABLE_FILE_MB,OFFLINE_DISKS,UNBALANCED from v$asm_diskgroup
REQUIRED USABLE
GROUP SECTOR BLOCK ALLOCATION TOTAL FREE MIRROR FILE
NUMBER NAME SIZE SIZE UNIT_SIZE STATE TYPE MB MB FREE_MB MB OFFLINE_DISKS UN
1 DISK_GROUP1 512 4096 1048576 MOUNTED EXTERN 6144 4790 0 4790 0 N
2 DISK_GROUP2 512 4096 1048576 MOUNTED EXTERN 6144 5333 0 5333 0 N
3 DISK_GROUP3 512 4096 1048576 MOUNTED NORMAL 2046 1944 0 972 0 N
You can see that the disk group is of type normal
View the status and name of the disk:
SQL > select GROUP_NUMBER,DISK_NUMBER,INCARNATION,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,REDUNDANCY
2 TOTAL_MB,FREE_MB,NAME,FAILGROUP from v$asm_disk
GROUP DISK MOUNT HEADER MODE TOTAL FREE
NUMBER NUMBER INCARNATION STATUS STATUS STATUS STATE REDUNDANC MB MB NAME FAILGROUP
--
1 0 4042421333 CACHED MEMBER ONLINE NORMAL UNKNOWN 3072 2391 DISK_GROUP1_0000 DISK_GROUP1_0000
1 1 4042421334 CACHED MEMBER ONLINE NORMAL UNKNOWN 3072 2399 DISK_GROUP1_0001 DISK_GROUP1_0001
2 0 4042421335 CACHED MEMBER ONLINE NORMAL UNKNOWN 3072 2665 DISK_GROUP2_0000 DISK_GROUP2_0000
21 4042421336 CACHED MEMBER ONLINE NORMAL UNKNOWN 3072 2668 DISK_GROUP2_0001 DISK_GROUP2_0001
3 1 4042421348 CACHED MEMBER ONLINE NORMAL UNKNOWN 1023 972 DISK5 CONTROLLER1
3 0 4042421349 CACHED MEMBER ONLINE NORMAL UNKNOWN 1023 972 DISK_GROUP3_0000 CONTROLLER2
6 rows selected.
The disks are all normal.
SQL > alter diskgroup disk_group3 dismount
Diskgroup altered.
Because there is no data, you can dismount online.
SQL > select state from v$asm_diskgroup where name='DISK_GROUP3'
STATE
-
DISMOUNTED
SQL > alter diskgroup disk_group3 mount
Diskgroup altered.
SQL > alter diskgroup disk_group3 drop disk disk5
The disk group has changed.
Delete a disk, because if the disk group is normal, there must be two disks, but this action can still be done.
SQL > select GROUP_NUMBER,DISK_NUMBER,INCARNATION,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,REDUNDANCY
2 TOTAL_MB,FREE_MB,NAME,FAILGROUP from v$asm_disk
GROUP_NUMBER DISK_NUMBER INCARNATION MOUNT_STATUS HEADER_STATUS MODE_STATUS STATE REDUNDANCY
-
1 0 4042862971 CACHED MEMBER ONLINE NORMAL UNKNOWN
1 1 4042862972 CACHED MEMBER ONLINE NORMAL UNKNOWN
2 0 4042862973 CACHED MEMBER ONLINE NORMAL UNKNOWN
2 1 4042862974 CACHED MEMBER ONLINE NORMAL UNKNOWN
3 1 4042862975 CACHED MEMBER ONLINE HUNG UNKNOWN
3 0 4042862976 CACHED MEMBER ONLINE NORMAL UNKNOWN
6 rows have been selected.
We see that the disk is in HUNG status.
SQL > select * from v$asm_diskgroup
GROUP_NUMBER NAME SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE STATE TYPE TOTAL_MB FREE_MB U COMP
-
1 DISK_GROUP1 512 4096 1048576 CONNECTED EXTERN 6144 4790 N 10.1
2 DISK_GROUP2 512 4096 1048576 CONNECTED EXTERN 6144 5333 N 10.1
3 DISK_GROUP3 512 4096 1048576 CONNECTED NORMAL 2046 1936 N 10.1
SQL >
SQL > ALTER DISKGROUP DISK_GROUP3 CHECK DISK DISK5
The disk group has changed.
SQL > conn / as sysdba
Connected.
SQL > select file_name from dba_data_files
FILE_NAME
+ DISK_GROUP1/devdb/datafile/users.291.652996483
+ DISK_GROUP1/devdb/datafile/sysaux.293.652996483
+ DISK_GROUP1/devdb/datafile/undotbs1.292.652996483
+ DISK_GROUP1/devdb/datafile/system.260.652996483
+ DISK_GROUP1/devdb/datafile/example.256.652996665
D:\ ORACLE\ PRODUCT\ 10.2.0\ ORADATA\ TEST.DBF
D:\ ORACLE\ PRODUCT\ 10.2.0\ ORADATA\ O1_MF_TEST2_42QWS6VO_.DBF
+ DISK_GROUP3/devdb/datafile/teste.256.655147089
Eight rows have been selected.
SQL > create table scott.user_session_t as select * from v$session
The table has been created.
SQL > alter tablespace teste offline
The tablespace has changed.
After the tablespace offline, the disk group is unmounted:
SQL > ALTER DISKGROUP DISK_GROUP3 DISMOUNT
The disk group has changed.
SQL > ALTER DISKGROUP DISK_GROUP3 MOUNT
The disk group has changed.
SQL > alter diskgroup disk_group3 rebalance power 2
The disk group has changed.
SQL > alter tablespace teste online
The tablespace has changed.
SQL > alter database datafile'+ DISK_GROUP3/devdb/datafile/teste.256.655147089' resize 200m
Alter database datafile'+ DISK_GROUP3/devdb/datafile/teste.256.655147089' resize 200m
*
An error occurred on line 1:
ORA-01237: unable to extend data file 8
ORA-01110: data file 8:'+ DISK_GROUP3/devdb/datafile/teste.256.655147089'
ORA-17505: ksfdrsz: 1 failed to resize the file to a block of 25600
ORA-15041: diskgroup space exhausted
We found that the data file could not be extended.
SQL > select GROUP_NUMBER,name,TOTAL_MB,FREE_MB,OFFLINE_DISKS,STATE from v$asm_diskgroup
GROUP_NUMBER NAME TOTAL_MB FREE_MB OFFLINE_DISKS STATE
1 DISK_GROUP1 6144 4790 0 CONNECTED
2 DISK_GROUP2 6144 5333 0 CONNECTED
3 DISK_GROUP3 2046 1936 0 CONNECTED
There is enough space.
SQL > alter database datafile'+ DISK_GROUP3/devdb/datafile/teste.256.655147089' resize 10m
Alter database datafile'+ DISK_GROUP3/devdb/datafile/teste.256.655147089' resize 10m
*
An error occurred on line 1:
ORA-01237: unable to extend data file 8
ORA-01110: data file 8:'+ DISK_GROUP3/devdb/datafile/teste.256.655147089'
ORA-17505: ksfdrsz: 1 failed to resize the file to a block of 1280
ORA-15041: diskgroup space exhausted
SQL > shutdown immediate
The database has been closed.
The database has been uninstalled.
The ORACLE routine has been closed.
SQL > shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown
SQL > startup
ASM instance started
Total System Global Area 83886080 bytes
Fixed Size 1295152 bytes
Variable Size 57425104 bytes
ASM Cache 25165824 bytes
ASM disk group is mounted
SQL > alter diskgroup disk_group3 undrop disks
The disk group has changed.
At this time, we found that we could cancel the deletion action.
SQL > select * from v$asm_disk
GROUP_NUMBER DISK_NUMBER COMPOUND_INDEX INCARNATION MOUNT_STATUS HEADER_STATUS MODE_STATUS STATE
1 0 16777216 4041340299 CACHED MEMBER ONLINE NORMAL
1 1 16777217 4041340300 CACHED MEMBER ONLINE NORMAL
2 0 33554432 4041340301 CACHED MEMBER ONLINE NORMAL
2 1 33554433 4041340302 CACHED MEMBER ONLINE NORMAL
31 50331649 4041340303 CACHED MEMBER ONLINE NORMAL
30 50331648 4041340304 CACHED MEMBER ONLINE NORMAL
6 rows have been selected.
SQL > alter database datafile'+ DISK_GROUP3/devdb/datafile/teste.256.655147089' resize 12m
The database has changed.
In fact, after we did drop disk, we didn't delete disk. Let's take a look at the explanation of hung status:
HUNG-Disk drop operation cannot continue because there is insufficient space to relocate the data from the disk being dropped
We see that because the failure group needs to transfer the data to other failura group, and there are only 2 disk, so the data is not transferred, but stops there.
The above is how to understand ASM Failure Group, the editor believes that there are some knowledge points that we may see or use in our daily work. I hope you can learn more from this article. For more details, please follow the industry information channel.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.