`
fyd222
  • 浏览: 103929 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ORA-00054 故障处理一例

 
阅读更多

--************************

-- ORA-00054 故障理一

--************************

最近index job,于是尝试动执试试。收到了ORA-00054错误消息。

一、错误消息

SQL> ALTER INDEX ESMDBA.ESM_PRCS_ERR_IDX1 rebuild;

ALTER INDEX ESMDBA.ESM_PRCS_ERR_IDX1 rebuild

*

ERROR at line 1:

ORA-00054: resource busy and acquire with NOWAIT specified

二、

SQL> col OBJECT_NAME for a30

SQL> col username format a20

SQL> set linesize 200

SELECT object_name, s.username, s.sid, s.serial#, p.spid, to_char(s.logon_time,'yyyy-mm-dd hh24:mi:ss') logon_time

FROM v$locked_object l, dba_objects o, v$session s, v$process p

WHERE l.object_id = o.object_id

AND l.session_id = sSQL> 2 3 .sid

AND s.paddr = p.addr; 4 5

OBJECT_NAME USERNAME SID SERIAL# SPID LOGON_TIME

------------------------------ -------------------- ---------- ---------- ------------ -------------------

PLAN_TABLE A505995 622 15849 26577 2011-06-08 03:04:30

ESM_PRCS_ERR SMEVFP 396 60589 8388 2011-06-11 18:24:51

VNDR_FEED_SCHED SMEVFP 467 15860 3119 2011-06-11 22:30:48

BB_RF_VNDR_FEED_RCRD SMEVFP 467 15860 3119 2011-06-11 22:30:48

BB_RF_VNDR_REPSTRY SMEVFP 773 1079 8440 2011-06-11 18:24:55

BB_RF_VNDR_FEED_RCRD_DATA SMEVFP 467 15860 3119 2011-06-11 22:30:48

BB_RF_VNDR_FEED_RCRD_DATA SMEVFP 467 15860 3119 2011-06-11 22:30:48

7 rows selected.

三、看表象上信息

SQL> select OWNER,INDEX_NAME,TABLE_NAME,INDEX_TYPE from dba_indexes where INDEX_NAME like '%ESM_PRCS_ERR_IDX1%';

OWNER INDEX_NAME TABLE_NAME INDEX_TYPE

------------------------------ ------------------------------ ------------------------------ ---------------------

ESMDBA ESM_PRCS_ERR_IDX1 ESM_PRCS_ERR NORMAL

SQL> SELECT sql_text

2 FROM v$session, v$sqltext_with_newlines

3 WHERE decode(v$session.sql_hash_value, 0, prev_hash_value, sql_hash_value) =

v$sqltext_with_newlines.hash_value

AND v$session.sid = &sid

ORDER BY piece;

4 5 6 Enter value for sid: 396

old 5: AND v$session.sid = &sid

new 5: AND v$session.sid = 396

SQL_TEXT

----------------------------------------------------------------

SELECT ERR_OID, MQ_MSGE FROM ESM_PRCS_ERR WHERE ERR_OID = :1 FOR

UPDATE NOWAIT

四、一步尝试

上此做任何表结构的操作分析都将会收到ORA-00054错误

SQL> analyze table ESMDBA.ESM_PRCS_ERR validate structure;

analyze table ESMDBA.ESM_PRCS_ERR validate structure

*

ERROR at line 1:

ORA-00054: resource busy and acquire with NOWAIT specified

SQL> analyze index ESMDBA.ESM_PRCS_ERR_IDX1 validate structure;

analyze index ESMDBA.ESM_PRCS_ERR_IDX1 validate structure

*

ERROR at line 1:

ORA-00054: resource busy and acquire with NOWAIT specified

五、定的会话

SQL> alter system kill session '396,60589';

System altered.

SQL> alter session set current_schema=ESMDBA;

Session altered.

SQL> show parameter db_name

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

db_name string O01GRS3

SQL> ALTER INDEX ESMDBA.ESM_PRCS_ERR_IDX1 rebuild;

Index altered.

六、原因

1.select for update

select for update是用于并发控制的句。该语句后,在表上加持RX(Row Exclusive,10gR1之前是Row Share)

在被记录上加行。但是,正是因其加的操作,for update子句会导select查询的性能下降。

2.select for updateselect for update nowait

使用 select for update 候,其他会话之相DML,DDL被挂起,直到会话select for update定被解除。

使用 select for update nowait ,其他会话之相DML,DDL被挂起不再是挂起,是直接返回一个资源忙的错误

3.结论

是使用select ... for update 是使用 select ... for update nowait。都会对的行集定,其他会话进行相

行集的操作都被挂起,直到该锁定被解除。所以,在使用了select ... for update或者 select ... for update nowait 后,要

快解除定,避免其他会话挂起太久,致系性能下降

七、 快捷参考

性能请参

Oracle 硬解析与软解析

共享池的与优(Shared pool Tuning)

Buffer cache 与优(一)

Oracle (caching table)的使用

ORACLE体系结构请参

Oracle 表空间与数据文件

Oracle 文件

Oracle 参数文件

Oracle 机重做日志文件(ONLINE LOG FILE)

Oracle 控制文件(CONTROLFILE)

Oracle 归档日志

Oracle (ROLLBACK)和撤(UNDO)

Oracle 库实启动关闭过

Oracle 10g SGA 的自化管理

Oracle 例和Oracle(Oracle体系结构)

关闪回特性请参

Oracle 回特性(FLASHBACK DATABASE)

Oracle 回特性(FLASHBACK DROP & RECYCLEBIN)

Oracle 回特性(Flashback Query、Flashback Table)

Oracle 回特性(Flashback Version、Flashback Transaction)

基于用管理的备份备份请参

Oracle 备份

Oracle 热备份

Oracle 备份复概

Oracle 例恢

Oracle 基于用管理恢(详细描述了介及其)

SYSTEM 表空管理及备份

SYSAUX表空管理及恢

RMAN备份复与管理请参

RMAN 述及其体系结构

RMAN 配置、管理

RMAN 备份详

RMAN

RMAN catalog 建和使用

于catalog RMAN脚本

基于catalog 的RMAN 备份与

使用RMAN迁移文件系统数据库到ASM

RMAN 备份困惑(使用plus archivelog)

ORACLE故障请参

ORA-32004 错误处

ORA-01658 错误

CRS-0215 错误处

ORA-00119,ORA-00132 错误处

又一例SPFILE错误导无法启动

对参数FAST_START_MTTR_TARGET = 0 解及

SPFILE 错误导无法启动(ORA-01565)

ASM请参

ASM例及ASM

ASM 、目的管理

使用 ASMCMD 工具管理ASM及文件

SQL/PLSQL请参

SQLPlus 常用命令

替代SQL*Plus

使用Uniread实现SQLplus功能

SQL -->SELECT 查询

SQL --> NEW_VALUE 的使用

SQL --> 集合(UNION UNION ALL)

SQL --> 常用函

SQL --> 视图(CREATE VIEW)

SQL --> 建和管理表

SQL --> 查询

SQL --> 过滤和排序

SQL --> 查询

SQL --> 组与

SQL --> 次化查询(START BY ... CONNECT BY PRIOR)

SQL --> ROLLUPCUBE算符实现数汇总

PL/SQL -->

PL/SQL --> (Exception)

PL/SQL --> 言基

PL/SQL --> 流程控制

PL/SQL --> PL/SQL记录

PL/SQL --> 包的管理

PL/SQL --> 式游(SQL%FOUND)

PL/SQL --> 包重、初始化

PL/SQL --> DBMS_DDL包的使用

PL/SQL --> DML 触发

PL/SQL --> INSTEAD OF 触发

PL/SQL --> 储过

PL/SQL -->

PL/SQL --> 动态SQL

PL/SQL --> 动态SQL的常见错误

ORACLE特性

Oracle 常用目录结构(10g)

使用OEM,SQL*Plus,iSQL*Plus 管理Oracle

日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING)

表段、索引段上的LOGGINGNOLOGGING

Oralce OMF 功能

Oracle 限、系统权

Oracle 角色、配置文件

Oracle

Oracle 外部表

使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)

簇表及簇表管理(Index clustered tables)

EXPDP 出工具的使用

IMPDP 入工具的使用

Oracle

SQL*Loader使用方法

用用户进程跟踪

配置非默端口的动态

配置ORACLE 接到

system sys,sysoper sysdba 区别

ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAME

Oracle 丁全集 (Oracle 9i 10g 11g Path)

Oracle 10.2.0.1 10.2.0.4

Oracle kill session

分享到:
评论

相关推荐

    oracle数据库中ora-报错原因及处理

    以"ORA-01422"为例,这个错误通常发生在使用SELECT INTO语句时,如果查询返回多于一行的数据,就会触发这个错误。处理方法可能包括修改查询以确保只返回一行数据,或者使用BULK COLLECT INTO与FORALL语句进行批量...

    oracle 回闪日志 满了 ORA-03113 通信信道结束 进入 rman 删除日志

    ### Oracle回闪日志满了与ORA-03113错误处理 在Oracle数据库管理过程中,经常遇到的一些问题包括回闪日志空间不足以及ORA-03113错误等。这些问题若不及时解决,可能会导致数据库性能下降甚至停机。下面我们将详细...

    Oracle利用errorstack追踪tomcat报错ORA-00903 无效表名的问题

    在IT行业中,数据库管理和故障排查是关键技能之一。Oracle数据库是广泛应用的关系型数据库管理系统,而Tomcat是一款流行的Java应用服务器。当Tomcat在运行过程中遇到问题,如在执行SQL语句时抛出“ORA-00903: 无效...

    Oracle删除数据报ORA 02292错误的巧妙解决方法

    总的来说,理解并正确处理ORA-02292错误是数据库管理的关键技能之一。通过理解数据库的约束结构,我们可以更有效地解决这类问题,同时确保数据的完整性和一致性。对于初学者或开发者来说,学习和掌握这些技巧对于...

    数据库备份两例故障的恢复与解决方法

    ### 数据库备份两例故障的恢复与解决方法 #### 一、引言 数据库作为现代信息系统的核心组成部分之一,其安全性和稳定性至关重要。然而,在实际应用过程中,由于多种因素的影响,如计算机系统的不稳定、人为失误等...

    oracle11g OCM 题库_第三场

    #### 故障列表示例 ```plaintext List of Database Failures ========================= Failure ID Priority Status Time Detected Summary ----------------------------------------------- 207 CRITICAL OPEN ...

    地震前兆Oracle数据库UNDO表空间持续增长修复.pdf

    在本例中,错误提示为ORA-08102和ORA-00600,这两个错误通常与索引不一致有关。为解决这个问题,需要对出现问题的索引进行重建,若索引无法重建,可能需要清空表(TRUNCATE)后再导入数据。 接着,当日志错误排除后...

    instantclient-basic-windows.x64-11.2.0.4.0

    Oracle Instant Client是一款轻量级的数据库连接工具,主要用于在Windows平台上快速建立与Oracle数据库的连接,而无需完整安装Oracle数据库服务器。"instantclient-basic-windows.x64-11.2.0.4.0"是Oracle Instant ...

    (绝对干货)Oracle ADG数据库完整部署、切换、备份、运维手册

    此外,还将介绍如何处理常见的数据库异常故障,例如死锁和数据误删除等。 **部署平台**: 阿里云ECS服务器 *2 - **操作系统**: CentOS 6.8 (64位) - **CPU**: 8核心 - **内存**: 32GB - **数据库版本**: Oracle ...

    oracle OCP 认证试题

    - **场景描述**: 数据库处于归档模式,一个在线重做日志文件成员因为永久性介质故障丢失,导致实例崩溃。 - **问题分析**: - 数据库正在 ARCHIVELOG 模式下运行。 - 存在一个当前组成员的丢失。 - 需要高效地...

    Oracle 8i数据库恢复一例.pdf

    首先,故障诊断是恢复的第一步。当用户报告计算机启动时出现错误,提示D盘错误,这可能由非法关机或硬盘问题引起。通过查看日志和检查硬件状态,确定问题可能是由于停电导致的多次非法关机,以及硬盘可能存在坏道。 ...

    自动备份Oracle数据库

    Oracle数据库的自动备份是系统管理员日常维护工作的重要环节,它确保了在系统出现故障时能够及时恢复数据,保障业务连续性。以下将详细介绍如何在UNIX环境下实现Oracle数据库的自动备份。 首先,Oracle数据库的自动...

    oracle面试1000例

    以下是对"Oracle面试1000例"这个主题的详细解析: 1. **Oracle基础知识**: - 数据库概念:了解数据库的基本构成,如表、视图、索引、存储过程、触发器等。 - SQL语言:掌握SQL的增删改查操作,了解子查询、连接...

    Oracle中分区表的使用

    以下是一个使用范围分区的例子,以物料交易表为例: 首先创建三个表空间,用于存储不同分区的数据。 ```sql CREATE TABLESPACE dinya_space01 DATAFILE '/test/demo/oracle/demodata/dinya01.dnf' SIZE 50M; CREATE ...

    中型三甲医院Oracle数据库坏块恢复方法探讨.pdf

    在案例中,故障发生在军卫一号HIS服务器,处理故障的工程师首先排除了硬件问题,然后确认坏块存在于用户INPBILL的表INP_BILL_DETAIL中。进一步分析确认只有一个坏块,并且是用户数据坏块而非索引坏块。此时,可以...

    Oracle10g数据库的安装优化方法研究.pdf

    Oracle 10g数据库是企业级的数据库管理系统,以其强大的数据处理能力和稳定性著称。在Debian这样的开源Linux发行版上安装Oracle 10g,不仅可以降低成本,还能够利用其开源的优势,根据需要进行定制和优化。以下是...

    GoldenGate部署步骤

    以下是一个简化的GoldenGate部署过程,以源库在CentOS 6.3上运行Oracle 10g,目标库在Windows 7上运行Oracle 11g为例: 1. **环境准备**: - 检查主机关系和操作系统:源库主机是CentOS 6.3,目标库主机是Windows ...

    oracle 10g 手工建库实践

    ### Oracle 10g 手工建库实践详解 #### 一、背景介绍 ...尽管这种方式较为繁琐,但它可以帮助我们更好地理解和掌握Oracle数据库的工作原理,同时也是一种宝贵的技能,尤其在处理特定场景或问题时尤为有用。

    exp/imp2导入导出

    - 本例中,数据文件的位置为 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora',初始大小为 5MB。 - 如果需要创建多个数据文件,可以在 CREATE TABLESPACE 命令中添加多个 DATAFILE 子句。 **4. EXTENT MANAGEMENT LOCAL** ...

Global site tag (gtag.js) - Google Analytics