Hello Bin-Bin,
The following error from ASMalert.log indicates that Oracle ASM can not discover ASM disks in /dev/oracleasm/disks/* .
1] alert_+ASM.log
-----------------------
asm_diskstring = "ORCL:MFGBLOB_DATA"
asm_diskgroups = "MFGBLOB_DATA"
..
Sun Jun 29 16:35:43 2014
ASM Health Checker found 1 new failures
GMON dismounting group 1 at 4 for pid 17, osid 11746
ERROR: diskgroup MFGBLOB_DATA was not mounted
ORA-15032: not all alterations performed
ORA-15017: diskgroup "MFGBLOB_DATA" cannot be mounted
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "MFGBLOB_DATA"
--------------------------------------------
Question - Do you see any of ASM disks in /dev/oracleasm/disks/* directory ?
And I'd like to see the following information to investigate the current issue further
Action Plan
-------------------
1. Provide the following sql output (asm_info.html) after connecting to ASM instance.
==================================================================
spool asm_info.html
set pagesize 1000
set linesize 220
set feedback off
col bytes format 999,999,999,999
col space format 999,999,999,999
col gn format 999
col name format a25
col au format 99999999
col state format a12
col type format a12
col total_mb format 999,999,999
col free_mb format 999,999,999
col od format 999
col compatibility format a12
col dn format 999
col mount_status format a12
col header_status format a12
col mode_status format a12
col mode format a12
col failgroup format a25
col label format a20
col path format a50
col path1 format a40
col path2 format a40
col path3 format a40
col bytes_read format 999,999,999,999,999
col bytes_written format 999,999,999,999,999
col cold_bytes_read format 999,999,999,999,999
col cold_bytes_written format 999,999,999,999,999
alter session set nls_date_format='DD-MON-YYYY HH24:MI:SS' ;
select to_char(sysdate, 'DD-MON-YYYY HH24:MI:SS' ) current_time from dual;
select group_number gn, name, allocation_unit_size au, state, type, total_mb, free_mb, offline_disks od, compatibility from v$asm_diskgroup;
select group_number gn,disk_number dn, mount_status, header_status,mode_status,state, total_mb, free_mb,name, failgroup, label, path from v$asm_disk order by group_number, disk_number;
select inst_id, power_kfgmg, sofar_kfgmg, work_kfgmg, rate_kfgmg, time_kfgmg, file_kfgmg from x$kfgmg;
break on g_n skip 1
break on failgroup skip 1
compute sum of t_mb f_mb on failgroup
compute count of failgroup on failgroup
select g.group_number g_n,g.disk_number d_n,g.name , g.path , g.total_mb t_mb,g.free_mb f_mb,g.failgroup from v$asm_disk g order by g_n, failgroup, d_n;
select inst_id, power_kfgmg, sofar_kfgmg, work_kfgmg, rate_kfgmg, time_kfgmg, file_kfgmg from x$kfgmg;
SET MARKUP HTML ON
set echo on
select 'THIS ASM REPORT WAS GENERATED AT: ==)> ' , sysdate " " from dual;
select 'HOSTNAME ASSOCIATED WITH THIS ASM INSTANCE: ==)> ' , MACHINE " " from v$session where program like '%SMON%';
select * from v$asm_diskgroup;
SELECT * FROM V$ASM_DISK ORDER BY GROUP_NUMBER,DISK_NUMBER;
select inst_id, power_kfgmg, sofar_kfgmg, work_kfgmg, rate_kfgmg, time_kfgmg, file_kfgmg from x$kfgmg;
SELECT * FROM V$ASM_CLIENT;
select * from V$ASM_ATTRIBUTE;
select * from v$asm_operation;
select * from v$version;
show parameter
show sga
spool off
exit
==================================================================
2. Upload ASM device information on the server in the following way below.
Download ASMCHECK zip file ( including AsmCheck.sh and AsmCheck.sql ) from
note 1346190.1 and place them in any directory where grid OS user can read & write and run it in the following way.
As root OS user,
# chmod 755 AsmCheck.sh
# export ORACLE_HOME=<GRID_HOME> <<< Specify GRID_HOME from your env.
# export ORACLE_SID=<ASM#> <<< Specify ASM instance number from your env.
# ./AsmCheck.sh 'GRID_OS_USER' > `hostname`
Example> If GRID_OS User on the serveris grid, # ./AsmCheck.sh grid > `hostname`
NOTE 1: Some errors will be on the screen if the specified OS command and or directory does not exist, please ignore them.
NOTE 2: The following shell script can be run regardless of whether ASMlib is being used on the server.
NOTE 3: The following shell script can be run without running ASM instance on the server.
NOTE 4: Copy and paste the output of AsmCheck.sh on the sr
NOTE 5: Upload the following files after running AsmCheck.sh
**********************************************************************************
1] file generated with `hostname` in the directory where AsmCheck.sh runs.
2] kfed_DH.out/kfed_FS.out/kfed_BK.out/kfed_4MBK.out
*********************************************************************************
Regards,
Eun Heo