最近由于数据库hang住,无奈之下直接干掉了pmon进程,再次启动的时候收到了ORA-01092: ORACLE instance terminated. Disconnection forced以及ORA-12432: LBAC error: zllegnp:OCIStmtExecute。这下好了,有的整了,是个从来没有遇见的错误。下面是对这个错误的描述与解决。

1、故障描述
idle> startup
ORACLE instance started.

Total System Global Area  238530560 bytes
Fixed Size                  1335724 bytes
Variable Size             167775828 bytes
Database Buffers           62914560 bytes
Redo Buffers                6504448 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-12432: LBAC error: zllegnp:OCIStmtExecute
Process ID: 10704
Session ID: 125 Serial number: 5

2、故障分析
--首先看看提示的几个ORA说什么
[oracle@linux1 ~]$ oerr ora 1092
01092, 00000, "ORACLE instance terminated. Disconnection forced"
// *Cause:  The instance this process was connected to was terminated
//          abnormally, probably via a shutdown abort. This process
//          was forced to disconnect from the instance.
// *Action: Examine the alert log for more details. When the instance has been
//          restarted, retry action.
--上面的 ora 1092通常由于shutdown abort导致,需要查看alert日志

[oracle@linux1 ~]$ oerr ora 12432
12432, 00000, "LBAC error: %s"
// *Cause:  LBAC enforcement resulted in an error.
// *Action: Correct the problem identified in the error message.
--上面ora 12432是关于LBAC的错误

--下面查看alert日志及其产生的trace文件
$ tail -fn 50 /u02/database/usbo/diag/rdbms/usbo/usbo/trace/alert_usbo.log
Tue Sep 03 14:58:39 2013
ARC3 started with pid=29, OS id=10716
SMON: enabling cache recovery
Archived Log entry 53 added for thread 1 sequence 57 ID 0xcde7041e dest 1:
Successfully onlined Undo Tablespace 2.
Verifying file header compatibility for 11g tablespace encryption..
Verifying 11g file header compatibility for tablespace encryption completed
SMON: enabling tx recovery
Database Characterset is AL32UTF8
No Resource Manager plan active
Errors in file /u02/database/usbo/diag/rdbms/usbo/usbo/trace/usbo_ora_10704.trc:
ORA-12432: LBAC error: zllegnp:OCIStmtExecute
Errors in file /u02/database/usbo/diag/rdbms/usbo/usbo/trace/usbo_ora_10704.trc:
ORA-12432: LBAC error: zllegnp:OCIStmtExecute
Error 12432 happened during db open, shutting down database
USER (ospid: 10704): terminating the instance due to error 12432
Instance terminated by USER, pid = 10704
ORA-1092 signalled during: ALTER DATABASE OPEN...
opiodr aborting process unknown ospid (10704) as a result of ORA-1092
Tue Sep 03 14:58:40 2013
ORA-1092 : opitsk aborting process

$ tail -10 /u02/database/usbo/diag/rdbms/usbo/usbo/trace/usbo_ora_10704.trc
Avg compares per lookup = 173/173 = 1.0
----------------------------------------------
Recovery sets nab of thread 1 seq 57 to 72 with 8 zeroblks

*** 2013-09-03 14:58:39.830
ORA-12432: LBAC error: zllegnp:OCIStmtExecute
ORA-12432: LBAC error: zllegnp:OCIStmtExecute

*** 2013-09-03 14:58:39.830
USER (ospid: 10704): terminating the instance due to error 12432
--上面的这些信息比较笼统,有些不好确认,查询metalink,找到了解决方案
--ORA-01092 ORA-12432 LBAC ERROR ZLLEGNP While Starting Up An Instance (Doc ID 735801.1)
--尽管其版本范围是Oracle Database - Enterprise Edition - Version 11.1.0.6 to 11.1.0.6 [Release 11.1],我的11.2版本依旧适用
--Oracle给出的无法启动的原因
The issue happens because the OLS metadata is incomplete as a result of a shutdown abort executed while the script catnools.sql (or catols.sql)  was running.

3、故障解决
--Oracle给出的解决方案
--To solve this situation the LBAC option has to be disabled:
Step 1
  cd $ORACLE_HOME/rdbms/lib
  make -f ins_rdbms.mk lbac_off ioracle

-- Author   : Robinson Cheng
-- Blog     : http://blog.csdn.net/robinson_0612
-- DB Forum : http://bbs.dbsupport.cn

Step 2
$ sqlplus "/ as sysdba"
SQL> startup migrate
SQL> @?/rdbms/admin/catnools.sql
SQL> shutdown immediate
SQL> startup
SQL> select * from v$version where rownum<2;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

     专业数据库论坛:http://bbs.dbsupport.cn

更多参考

有关Oracle RAC请参考
     使用crs_setperm修改RAC资源的所有者及权限     使用crs_profile管理RAC资源配置文件     RAC 数据库的启动与关闭     再说 Oracle RAC services     Services in Oracle Database 10g     Migrate datbase from single instance to Oracle RAC     Oracle RAC 连接到指定实例     Oracle RAC 负载均衡测试(结合服务器端与客户端)     Oracle RAC 服务器端连接负载均衡(Load Balance)     Oracle RAC 客户端连接负载均衡(Load Balance)     ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)
     ORACLE RAC 监听配置 (listener.ora tnsnames.ora)     配置 RAC 负载均衡与故障转移     CRS-1006 , CRS-0215 故障一例 
     基于Linux (RHEL 5.5) 安装Oracle 10g RAC
     使用 runcluvfy 校验Oracle RAC安装环境

有关Oracle 网络配置相关基础以及概念性的问题请参考:
     配置非默认端口的动态服务注册
     配置sqlnet.ora限制IP访问Oracle     Oracle 监听器日志配置与管理
     设置 Oracle 监听器密码(LISTENER)     配置ORACLE 客户端连接到数据库

有关基于用户管理的备份和备份恢复的概念请参考
     Oracle 冷备份     Oracle 热备份     Oracle 备份恢复概念     Oracle 实例恢复     Oracle 基于用户管理恢复的处理     SYSTEM 表空间管理及备份恢复     SYSAUX表空间管理及恢复     Oracle 基于备份控制文件的恢复(unsing backup controlfile)

有关RMAN的备份恢复与管理请参考
     RMAN 概述及其体系结构     RMAN 配置、监控与管理     RMAN 备份详解     RMAN 还原与恢复     RMAN catalog 的创建和使用     基于catalog 创建RMAN存储脚本     基于catalog 的RMAN 备份与恢复     RMAN 备份路径困惑     使用RMAN实现异机备份恢复(WIN平台)     使用RMAN迁移文件系统数据库到ASM     linux 下RMAN备份shell脚本     使用RMAN迁移数据库到异机

有关ORACLE体系结构请参考
     Oracle 表空间与数据文件     Oracle 密码文件     Oracle 参数文件     Oracle 联机重做日志文件(ONLINE LOG FILE)     Oracle 控制文件(CONTROLFILE)     Oracle 归档日志     Oracle 回滚(ROLLBACK)和撤销(UNDO)     Oracle 数据库实例启动关闭过程     Oracle 10g SGA 的自动化管理     Oracle 实例和Oracle数据库(Oracle体系结构)

ORA-01092 ORA-12432: LBAC error: zllegnp:OCIStmtExecute 故障一例的更多相关文章

  1. oracle的listener.ora sqlnet.ora tnsnames.ora三个文件的关联性

    学习:http://www.cnblogs.com/william-lee/archive/2010/10/20/1856261.html 之前因为安装的是windows server 2008 r2 ...

  2. listener.ora/sqlnet.ora/tnsnames.ora配置文件详解

    oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The ...

  3. ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)

    不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数 ...

  4. Apache 安装后Error 403的故障排错方法(linux)

    Apache 安装后Error 403的故障排错方法 2018年01月07日 14:25:41 个人分类: Linux 一.问题描述 在apache2的httpd配置中,很多情况都会出现403. 刚安 ...

  5. oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件

    总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...

  6. oracle的sqlnet.ora , tnsnames.ora , Listener.ora 文件的作用(转)

    oracle网络配置三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下.1. sqlnet.o ...

  7. oracle错误(ORA:12154 ORA:01034 和 ORA:27101 ORA-18008 ORA-01081)

    按照正常操作流程,启动项目,发现项目报错,原因是连接不上oracle数据库, PLSQL连接时报错,错误码  ORA:12154 无法解析指定的连接标识符 第一次,遇到这个错误,在网上找了资料都是需要 ...

  8. ORACLE RAC 监听配置 (listener.ora tnsnames.ora)

    Oracle RAC 监听器的配置与单实例稍有不同,但原理和实现方法基本上是相同的.在Oracle中 tns进程用于为指定网络地址上的一个或多个Oracle 实例提供服务注册,并响应来自客户端对该服务 ...

  9. GTID环境中手动修复主从故障一例(Error 1236/Error 1396)

      Preface       I got an replication error 1236 when I modified the password of a user without start ...

随机推荐

  1. CMD获取当前目录的绝对路径

    @echo offecho 当前盘符:%~d0echo 当前盘符和路径:%~dp0echo 当前批处理全路径:%~f0echo 当前盘符和路径的短文件名格式:%~sdp0echo 当前CMD默认目录: ...

  2. Qt的信号槽,一个老MFC的经验

    最近在利用闲暇时间研究Qt,大概有3周了,看过了官网的white paper并浏览了一遍<C++ GUI Programming with Qt 4, 2nd Edition>.总的来说, ...

  3. 数据库数据用Excel导出的3种方法

    将数据库数据用Excel导出主要有3种方法:用Excel.Application接口.用OleDB.用HTML的Tabel标签 方法1——Excel.Application接口: 首先,需要要Exce ...

  4. BZOJ 1597: [Usaco2008 Mar]土地购买( dp + 斜率优化 )

    既然每块都要买, 那么一块土地被另一块包含就可以不考虑. 先按长排序, 去掉不考虑的土地, 剩下的土地长x递增, 宽y递减 dp(v) = min{ dp(p)+xv*yp+1 } 假设dp(v)由i ...

  5. ORACLE的执行计划

    转自:http://www.cnblogs.com/lovingprince/archive/2007/12/07/2166400.html 背景知识:        为了更好的进行下面的内容我们必须 ...

  6. Codeforces 489A SwapSort

    这题第一次看的时候以为是区间替换,后来发现看错了,只是单纯的元素替换. 解题思路: 先对输入的序列加个数组排个序 遍历下来,如果和排序后的结果当前元素不同,设当前位置为 i, 则往下面找,设查找位置为 ...

  7. Spring IOC三种注入方式(接口注入、setter注入、构造器注入)(摘抄)

    IOC ,全称 (Inverse Of Control) ,中文意思为:控制反转, Spring 框架的核心基于控制反转原理. 什么是控制反转?控制反转是一种将组件依赖关系的创建和管理置于程序外部的技 ...

  8. OGR SQL

    The OGRDataSource supports executing commands against a datasource via the OGRDataSource::ExecuteSQL ...

  9. HDU 4740 模拟题意

    九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11711743 题意:驴和老虎在方格中跑,跑的方式:径直跑,若遇到边界或之前走过的 ...

  10. C Tips:显示点阵汉字的小样例

    非常简陋的一段小程序,演示怎样显示点阵字库.有时间的时候再详解. #include <stdio.h> #include <stdlib.h> struct HzkInfoSt ...