Beruflich Dokumente
Kultur Dokumente
ASM Troubleshooting
Yahoo!
August 2009
Kevin Moore
Technical Lead, Advanced Customer Services
ASM initSID.ora
############################################################################## # Copyright (c) 1991, 2001, 2002 by Oracle Corporation ############################################################################## ########################################### # Cluster Database ########################################### cluster_database=true ########################################### # Miscellaneous ########################################### diagnostic_dest=/home/oracle instance_type=asm ########################################### # Pools ########################################### large_pool_size=12M asm_diskgroups='DATA' +ASM2.instance_number=2 +ASM1.instance_number=1
2. RDBMS level errors when storage is on ASM 3. Inconsistencies between what is perceived as the available space 4. Inconsistencies between V$ASM_DISKGROUP and X$ views Note #351117.1 - Information to gather when diagnosing ASM space issues contains scripts for collecting specific ASM information
1.
TRUSSing or STRACEing the RBAL process while selecting * from v$asm_disk can often show errors in the path of the command
SESSION #1 strace -f -o /tmp/rbal.trc -p <OS pid of RBAL process> <OR> truss -ef -o /tmp/rbal.out -p <OS pid for RBAL process> SESSION #2 select * from v$asm_disk SESSION #3 tail f /tmp/rbal.trc Examine the rbal.out for errors: 1147090: 1871929: chdir("dev/") = 0 1147090: 1871929: statx("rhdisk8, ", 0x0FFFFFFFFFFFAA80, 176, 010) Err#2 ENOENT This says that rhdisk8 cannot be found 2. ORA-15063: ASM discovered an insufficient number of disks for diskgroup s% ORA-15040: diskgroup is incomplete ORA-15042: ASM disk "%" is missing
1.
1.
8) If the problem persists, please open a new service request with Oracle support and then please provide us the next information (from all the nodes if RAC) :
2. 3. 4. Upload the next files: ======================================= =)> /var/log/messages =)> New /etc/sysconfig/oracleasm =)> alert+ASM#.log for each instance. ================================ And the output of the next commands ================================ $> cat /etc/*release $> uname -a $> rpm -qa |grep oracleasm $> df -ha $> ls -l /dev/oracleasm/disks $> powermt display dev=emcpower# (On all the partitions if using PowerPath from EMC) ================================ $> /etc/init.d/oracleasm status $> usr/sbin/oracleasm-discover $> /usr/sbin/oracleasm-discover 'ORCL:*' SQL> show parameter asm
5. 6.
7.
Note #457369.1- ASM is Unable to Detect ASMLIB Disks/Devices Advanced Customer Services
ASM Rebalancing
Rebalancing is the activity of spreading data amongst disks in an ASM group Happens in the background but can be done manually Internally the balance happens on a file per file basis Only one RBAL process runs per node Rebalance request on the same diskgroup are done serially ASM decides how best to balance load across available disks Uses one of three allocation schemes for selecting disks
1. Placement by file/extent number 2. Random-seeded ordering of all disks in the ASM disk directory 3. Balanced placement over all disks
ASM Rebalancing
ASM Rebalancing
Displaying & changing rebalance POWER setting
SQL> show parameter limit NAME TYPE VALUE ------------------------------------ ----------- -----asm_power_limit integer 1
Changing setting
SQL> alter diskgroup dg1 rebalance power 8;
Verifying Change
SQL> select * from v$asm_operation; GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE ------------ ----- ---- ---------- ---------- ---------- ---------- ---------1 REBAL RUN 8 8 0 407 0
ASM Allocation Unit Size (1mb default) ASM Fine Grained Stripe Size (8x128k Stripes) MAX I/O Size Oracle Block Size
ASM Templates
Striping Attributes Fine, Coarse Redundancy Attributes
Mirror 2 way High 3 way Unprotected Not mirrored
ASM Templates
Viewing Template
select * from V$ASM_TEMPLATE;
Altering Template
Alter diskgroup DG modify template NAME attributes (coarse/fine);
Adding Template
Alter diskgroup DG add template NAME attributes (attributes);
Dropping Templates
Alter diskgroup DG drop template NAME;
View
V$ASM_ALIAS V$ASM_CLIENT
Contents
Alias for each disk group mounted by the ASM instance Identifies databases using disk groups managed by the ASM instance. Disks discovered by the ASM instance Disk groups known by the ASM instance File list for each disk group mounted by the ASM instance Long running operations executing in the ASM instance Templates present in each ASM mounted disk group
V$ASM_DISK
V$ASM_DISKGROUP V$ASM_FILE V$ASM_OPERATION
V$ASM_TEMPLATE
Note: 340417.1 - Data Gathering for Troubleshooting ASM Issues Note: 267982.1 - Automatic Storage Management (ASM) Knowledge Browser Product Page Note:824354.1 - How To Trace ASMCMD on Unix Note:351866.1 - How To Reclaim ASM Disk Space Note:345180.1 - How to duplicate a controlfile when ASM is involved Note:553319.1 - ORA-15036 When Starting An ASM Instance