从 ASM 中删除归档日志遇 ORA-15028 错误
ORA-15032: not all alterations performedORA-15028: ASM file
今天一8点跑去中金校验数据,发现近期库(AIX6.1下4节点11gR2 RAC)的归档满了,数据库hang住,跑去问提前到的中间件的哥们,结果来了一句没发现什么异常……
心凉了一截,这他妈我要是晚来一会,准出事啊,纳税人还不得急死……二话不说赶紧去先清清再说,切换到grid用户下,通过 asmcmd 用 os 命令连删除了两个文件夹
结果删到第二个文件夹时,突然报错:
ORA-15032: not all alterations performed
ORA-15028: ASM file '+FRA/bjschxcx/……' not dropped; currently being accessed (DBD ERROR: OCIStmtExecute)
ls 命令核查,发现只有一个文件未删除,数据库已经从 hang 机状态恢复了,尝试用 RMAN 删除,仍然报如下错误:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of delete command on default channel at 06/08/2012 13:20:35
ORA-15028: ASM file '+FRA/bjschxcx/……' not dropped; currently being accessed
我要删除的归档是好几天钱的了,当前按道理应该没有使用才对,即便是近期库上配置了好几家厂商的 GoldenGate 实例,数据库在释放一点归档空间后虽然成功
起来了,但是这个问题不解决也不是个事,我在几家厂商的 GoldenGate 实例上查了一下,都未用到我要删除的归档日志,而且进程都没有延迟。
查阅了下 metalink ,有 2、3 篇文章对此现象有描述
其中一篇描述如下,肯定不符合我这里遇到的场景,首先排除、
Cause
The issue can be caused by any replication process running or hanging, holding this file.
For example a Golden Gate replication or shareplex replication process.
Solution
Stop the replication process and try deleting the file uisng rman or ASMCMD.
另外两篇如下:
Cause: An attempt was made to drop an ASM file, but the file was being
accessed by one or more database instances and therefore could not
be dropped.
Action: Shut down all database instances that might be accessing this
file and then retry the drop command.
Solution
Use the following to quickly find out which database instance holds the lock and to identify for restart:
ASMCMD [+] > lsof -G DG_ARCH
DB_Name Instance_Name Path
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_1_seq_72711.5178.785032231
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_1_seq_72720.4818.785040307
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_1_seq_72727.4616.785046605
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_1_seq_72730.4479.785049261
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_1_seq_72742.4395.785059089
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_2_seq_70382.2308.785047531
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_2_seq_70385.1835.785050225
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_2_seq_70402.3091.785064485
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_2_seq_70408.1211.785069875
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_2_seq_70410.4439.785071661
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_3_seq_67973.4354.785051059
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_3_seq_67974.2051.785051959
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_3_seq_67995.1876.785069891
myprod myprod1 +dg_arch/myprod/archivelog/2012_06_04/thread_6_seq_32158.4060.785046539
myprod myprod1 +dg_arch/myprod/datafile/tbs_hways_master_data_med.1698.750777283
这两篇可能和我这个场景有点像,按照第三篇文章中的例子,我在 asmcmd 中也执行了 lsof -G FRA,但是命令执行后无任何输出
不知道是不是我这里的版本不合适,我所在的环境数据库版本为 11.2.0.3.0,而这篇文章写的我的数据库版本也应该是适用的。
Oracle Server - Enterprise Edition - Version 11.2.0.2 and later
Information in this document applies to any platform.
9点左右的时候,我的另一位同事,准备看看 lsof 命令的帮助信息,,结果真他妈受伤,他直接输入 lsof
结果,上述所示的输出便出现了……
结果是实例 4 锁住了那个归档日志,中午重启节点4后,执行 RMAN 命令便可正常删除归档了
转载请注明出处及原文链接:

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



Full table scanning may be faster in MySQL than using indexes. Specific cases include: 1) the data volume is small; 2) when the query returns a large amount of data; 3) when the index column is not highly selective; 4) when the complex query. By analyzing query plans, optimizing indexes, avoiding over-index and regularly maintaining tables, you can make the best choices in practical applications.

InnoDB's full-text search capabilities are very powerful, which can significantly improve database query efficiency and ability to process large amounts of text data. 1) InnoDB implements full-text search through inverted indexing, supporting basic and advanced search queries. 2) Use MATCH and AGAINST keywords to search, support Boolean mode and phrase search. 3) Optimization methods include using word segmentation technology, periodic rebuilding of indexes and adjusting cache size to improve performance and accuracy.

Yes, MySQL can be installed on Windows 7, and although Microsoft has stopped supporting Windows 7, MySQL is still compatible with it. However, the following points should be noted during the installation process: Download the MySQL installer for Windows. Select the appropriate version of MySQL (community or enterprise). Select the appropriate installation directory and character set during the installation process. Set the root user password and keep it properly. Connect to the database for testing. Note the compatibility and security issues on Windows 7, and it is recommended to upgrade to a supported operating system.

The difference between clustered index and non-clustered index is: 1. Clustered index stores data rows in the index structure, which is suitable for querying by primary key and range. 2. The non-clustered index stores index key values and pointers to data rows, and is suitable for non-primary key column queries.

Article discusses popular MySQL GUI tools like MySQL Workbench and phpMyAdmin, comparing their features and suitability for beginners and advanced users.[159 characters]

Article discusses strategies for handling large datasets in MySQL, including partitioning, sharding, indexing, and query optimization.

MySQL is an open source relational database management system. 1) Create database and tables: Use the CREATEDATABASE and CREATETABLE commands. 2) Basic operations: INSERT, UPDATE, DELETE and SELECT. 3) Advanced operations: JOIN, subquery and transaction processing. 4) Debugging skills: Check syntax, data type and permissions. 5) Optimization suggestions: Use indexes, avoid SELECT* and use transactions.

In MySQL database, the relationship between the user and the database is defined by permissions and tables. The user has a username and password to access the database. Permissions are granted through the GRANT command, while the table is created by the CREATE TABLE command. To establish a relationship between a user and a database, you need to create a database, create a user, and then grant permissions.
