Oracle ASM crash & ORA-15196
本站文章除注明转载外,均为本站原创: 转载自love wife love life —Roger 的Oracle技术博客 本文链接地址: Oracle ASM crash ORA-15196 这是一个网友的数据库,ASM数据库崩溃,但是DiskGroup无法mount了,据说是加盘导致的. Wed Dec 10 15:44:42 GMT+08:00
本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger 的Oracle技术博客
本文链接地址: Oracle ASM crash & ORA-15196
这是一个网友的数据库,ASM数据库崩溃,但是DiskGroup无法mount了,据说是加盘导致的.
Wed Dec 10 15:44:42 GMT+08:00 2014WARNING: cache read a corrupted block gn=4 dsk=1 blk=16 from disk 1 NOTE: a corrupted block was dumped to the trace file ERROR: cache failed to read dsk=1 blk=16 from disk(s): 1 ORA-15196: invalid ASM block header [kfc.c:8281] [check_kfbh] [2147483649] [16] [2170712234 != 3074501765] System State dumped to trace file /oracle/app/admin/+ASM/bdump/+asm1_arb0_18219146.trc NOTE: cache initiating offline of disk 1 group 4 WARNING: process 18219146 initiating offline of disk 1.63799954 (JCYLDG_0001) with mask 0x3 in group 4 WARNING: Disk 1 in group 4 in mode: 0x7,state: 0x2 will be taken offline NOTE: PST update: grp = 4, dsk = 1, mode = 0x6 Wed Dec 10 15:44:42 GMT+08:00 2014ERROR: too many offline disks in PST (grp 4) Wed Dec 10 15:44:42 GMT+08:00 2014ERROR: PST-initiated MANDATORY DISMOUNT of group JCYLDG Wed Dec 10 15:44:42 GMT+08:00 2014WARNING: Disk 1 in group 4 in mode: 0x7,state: 0x2 was taken offline Wed Dec 10 15:44:42 GMT+08:00 2014NOTE: halting all I/Os to diskgroup JCYLDG!
很明显,是Oracle ASM的元数据出现一些了,从日志来看,应该是10g的库。这里我说明一点,10g的asm其实还是有点
脆弱,之前我们测试添加磁盘时ctrl+c终止SQLPLUS操作导致asm instance crash,然后再也无法mount DiskGroup的情况。
这一切在11gR2变得非常强悍了。至少目前为止我没有遇到过11gR2的ASM出现过这种情况。
针对上述的类似case恢复,其实并不是太难,在add disk的过程中Oracle ASM会更新PSU和Disk directory 元数据。
据说该环境部署了Dataguard,这样可以进行Failover切换了,这是一个好消息。
关于Oracle ASM元数据的研究,我写过一个系列的文章,大家可以参考下!如果遇到类似的故障可以联系我!
Related posts:
- oracle restart体验(续)
- BUG 10008092 caused instance crash
- database crash with ora-00494
- 10gR2 rac(asm) crash with ora-15064
- asm rebalance 原理

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Solutions to Oracle cannot be opened include: 1. Start the database service; 2. Start the listener; 3. Check port conflicts; 4. Set environment variables correctly; 5. Make sure the firewall or antivirus software does not block the connection; 6. Check whether the server is closed; 7. Use RMAN to recover corrupt files; 8. Check whether the TNS service name is correct; 9. Check network connection; 10. Reinstall Oracle software.

The method to solve the Oracle cursor closure problem includes: explicitly closing the cursor using the CLOSE statement. Declare the cursor in the FOR UPDATE clause so that it automatically closes after the scope is ended. Declare the cursor in the USING clause so that it automatically closes when the associated PL/SQL variable is closed. Use exception handling to ensure that the cursor is closed in any exception situation. Use the connection pool to automatically close the cursor. Disable automatic submission and delay cursor closing.

Oracle database paging uses ROWNUM pseudo-columns or FETCH statements to implement: ROWNUM pseudo-columns are used to filter results by row numbers and are suitable for complex queries. The FETCH statement is used to get the specified number of first rows and is suitable for simple queries.

In Oracle, the FOR LOOP loop can create cursors dynamically. The steps are: 1. Define the cursor type; 2. Create the loop; 3. Create the cursor dynamically; 4. Execute the cursor; 5. Close the cursor. Example: A cursor can be created cycle-by-circuit to display the names and salaries of the top 10 employees.

To stop an Oracle database, perform the following steps: 1. Connect to the database; 2. Shutdown immediately; 3. Shutdown abort completely.

SQL statements can be created and executed based on runtime input by using Oracle's dynamic SQL. The steps include: preparing an empty string variable to store dynamically generated SQL statements. Use the EXECUTE IMMEDIATE or PREPARE statement to compile and execute dynamic SQL statements. Use bind variable to pass user input or other dynamic values to dynamic SQL. Use EXECUTE IMMEDIATE or EXECUTE to execute dynamic SQL statements.

Building a Hadoop Distributed File System (HDFS) on a CentOS system requires multiple steps. This article provides a brief configuration guide. 1. Prepare to install JDK in the early stage: Install JavaDevelopmentKit (JDK) on all nodes, and the version must be compatible with Hadoop. The installation package can be downloaded from the Oracle official website. Environment variable configuration: Edit /etc/profile file, set Java and Hadoop environment variables, so that the system can find the installation path of JDK and Hadoop. 2. Security configuration: SSH password-free login to generate SSH key: Use the ssh-keygen command on each node

The steps to open an Oracle database are as follows: Open the Oracle database client and connect to the database server: connect username/password@servername Use the SQLPLUS command to open the database: SQLPLUS
