【故障处理】ORA-30012的解决过程

1  BLOG文档结构图

2  前言部分

2.1  导读和注意事项

各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:

① ORA-30012的解决过程

Tips:

① 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和微信公众号(xiaomaimiaolhr)上有同步更新。

② 文章中用到的所有代码、相关软件、相关资料及本文的pdf版本都请前往小麦苗的云盘下载,小麦苗的云盘地址见:http://blog.itpub.net/26736162/viewspace-1624453/

③ 若网页文章代码格式有错乱,请下载pdf格式的文档来阅读。

④ 在本篇BLOG中,代码输出部分一般放在一行一列的表格中。其中,需要特别关注的地方我都用灰色背景和粉红色字体来表示,比如在下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日志号为43是需要特别关注的地方;而命令一般使用黄色背景和红色字体标注;对代码或代码输出部分的注释一般采用蓝色字体表示。

List of Archived Logs in backup set 11

Thrd Seq     Low SCN    Low Time            Next SCN   Next Time

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

1    32      1621589    2015-05-29 11:09:52 1625242    2015-05-29 11:15:48

1    33      1625242    2015-05-29 11:15:48 1625293    2015-05-29 11:15:58

2    42      1613951    2015-05-29 10:41:18 1625245    2015-05-29 11:15:49

2    43      1625245    2015-05-29 11:15:49 1625253    2015-05-29 11:15:53

[ZHLHRDB1:root]:/>lsvg -o

T_XLHRD_APP1_vg

rootvg

[ZHLHRDB1:root]:/>

00:27:22 SQL> alter tablespace idxtbs read write;

====》2097152*512/1024/1024/1024=1G

本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力。

2.2  本文简介

甲方在做灾备切换演练的时候,有一套数据库不能正常启动,基本的报错都是:ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrong type 。下面记录一下其解决过程。

3  故障分析及解决过程

3.1  故障环境介绍

项目

source db

db 类型

RAC

db version

11.2.0.3.0

db 存储

ASM

OS版本及kernel版本

AIX 64位 7.1.0.0

3.2  故障发生现象及报错信息

[ZFLHRDB1:root]:/>crsctl stat res -t

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

NAME           TARGET  STATE        SERVER                   STATE_DETAILS

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

Local Resources

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

ora.DATA1.dg

ONLINE  ONLINE       zflhrdb1

ONLINE  ONLINE       zflhrdb2

ora.LISTENER.lsnr

ONLINE  ONLINE       zflhrdb1

ONLINE  ONLINE       zflhrdb2

ora.asm

ONLINE  ONLINE       zflhrdb1                 Started

ONLINE  ONLINE       zflhrdb2                 Started

ora.gsd

OFFLINE OFFLINE      zflhrdb1

OFFLINE OFFLINE      zflhrdb2

ora.net1.network

ONLINE  ONLINE       zflhrdb1

ONLINE  ONLINE       zflhrdb2

ora.ons

ONLINE  ONLINE       zflhrdb1

ONLINE  ONLINE       zflhrdb2

ora.registry.acfs

ONLINE  ONLINE       zflhrdb1

ONLINE  ONLINE       zflhrdb2

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

Cluster Resources

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

ora.LISTENER_SCAN1.lsnr

1        ONLINE  ONLINE       zflhrdb1

ora.cvu

1        ONLINE  ONLINE       zflhrdb1

ora.oc4j

1        ONLINE  ONLINE       zflhrdb1

ora.oralhr.db

1        ONLINE  OFFLINE                               Instance Shutdown

2        ONLINE  OFFLINE                               Instance Shutdown

ora.scan1.vip

1        ONLINE  ONLINE       zflhrdb1

ora.zflhrdb1.vip

1        ONLINE  ONLINE       zflhrdb1

ora.zflhrdb2.vip

1        ONLINE  ONLINE       zflhrdb2

[ZFLHRDB1:root]:/>srvctl start db -d oralhr

PRCR-1079 : Failed to start resource ora.oralhr.db

CRS-5017: The resource action "ora.oralhr.db start" encountered the following error:

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrong type

Process ID: 12976284

Session ID: 1421 Serial number: 1

. For details refer to "(:CLSN00107:)" in "/oracle/app/11.2.0/grid/log/zflhrdb1/agent/crsd/oraagent_oracle/oraagent_oracle.log".

CRS-2674: Start of 'ora.oralhr.db' on 'zflhrdb1' failed

CRS-2632: There are no more servers to try to place resource 'ora.oralhr.db' on that would satisfy its placement policy

CRS-5017: The resource action "ora.oralhr.db start" encountered the following error:

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-30012: undo tablespace 'UNDOTBS2' does not exist or of wrong type

Process ID: 14614730

Session ID: 1421 Serial number: 1

. For details refer to "(:CLSN00107:)" in "/oracle/app/11.2.0/grid/log/zflhrdb2/agent/crsd/oraagent_oracle/oraagent_oracle.log".

CRS-2674: Start of 'ora.oralhr.db' on 'zflhrdb2' failed

3.3  故障分析及解决过程

[ZFLHRDB1:root]:/>oerr ora 30012

30012, 00000, "undo tablespace '%s' does not exist or of wrong type"

// *Cause:   the specified undo tablespace does not exist or of the

//           wrong type.

// *Action:  Correct the tablespace name and reissue the statement.

[ZFLHRDB1:root]:/>su - oracle

[ZFLHRDB1:oracle]:/oracle>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Sun Nov 6 23:46:05 2016

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SYS@oraLHR1> startup mount

ORACLE instance started.

Total System Global Area 3206836224 bytes

Fixed Size                  2225776 bytes

Variable Size            1409288592 bytes

Database Buffers         1778384896 bytes

Redo Buffers               16936960 bytes

Database mounted.

SYS@oraLHR1> select * from v$tablespace;

TS# NAME                           INC BIG FLA ENC

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

0 SYSTEM                         YES NO  YES

1 SYSAUX                         YES NO  YES

3 TEMP                           NO  NO  YES

5 USERS                          YES NO  YES

6 ILHRDATA                       YES NO  YES

7 ILHRIND                        YES NO  YES

8 ILHRLOG                        YES NO  YES

9 UNDO1                          YES NO  YES

10 UNDO2                          YES NO  YES

9 rows selected.

SYS@oraLHR1> show parameter spfile

NAME                                 TYPE        VALUE

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

spfile                               string      +DATA1/oralhr/spfileoralhr.ora

SYS@oraLHR1> SELECT a.SID, a.VALUE FROM v$spparameter a WHERE a.NAME LIKE '%undo_tablespace%' ;

SID                  VALUE

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

oraLHR2              UNDOTBS2

oraLHR1              UNDOTBS1

*                    UNDO2

可以看到UNDO表空间的名称和从控制文件中查到的名称不一致,下面修改SPFILE文件中有关UNDO表空间的部分,如下所示:

SYS@oraLHR1> ALTER SYSTEM SET undo_tablespace='UNDO1' SID='oraLHR1';

System altered.

SYS@oraLHR1> ALTER SYSTEM SET undo_tablespace='UNDO2' SID='oraLHR2';

System altered.

SYS@oraLHR1> SELECT a.SID, a.VALUE FROM v$spparameter a WHERE a.NAME LIKE '%undo_tablespace%';

SID             VALUE

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

oraLHR1         UNDO1

oraLHR2         UNDO2

<<<<<<<<<-------   已经和控制文件中记录的一致了,下面启动数据库

SYS@oraLHR1> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and Real Application Testing options

[ZFLHRDB1:oracle]:/oracle>srvctl stop db -d oralhr -o abort

[ZFLHRDB1:oracle]:/oracle>srvctl start db -d oralhr

[ZFLHRDB1:oracle]:/oracle>crsctl stat res -t

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

NAME           TARGET  STATE        SERVER                   STATE_DETAILS

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

Local Resources

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

ora.DATA1.dg

ONLINE  ONLINE       zflhrdb1

ONLINE  ONLINE       zflhrdb2

ora.LISTENER.lsnr

ONLINE  ONLINE       zflhrdb1

ONLINE  ONLINE       zflhrdb2

ora.asm

ONLINE  ONLINE       zflhrdb1                 Started

ONLINE  ONLINE       zflhrdb2                 Started

ora.gsd

OFFLINE OFFLINE      zflhrdb1

OFFLINE OFFLINE      zflhrdb2

ora.net1.network

ONLINE  ONLINE       zflhrdb1

ONLINE  ONLINE       zflhrdb2

ora.ons

ONLINE  ONLINE       zflhrdb1

ONLINE  ONLINE       zflhrdb2

ora.registry.acfs

ONLINE  ONLINE       zflhrdb1

ONLINE  ONLINE       zflhrdb2

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

Cluster Resources

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

ora.LISTENER_SCAN1.lsnr

1        ONLINE  ONLINE       zflhrdb1

ora.cvu

1        ONLINE  ONLINE       zflhrdb1

ora.oc4j

1        ONLINE  ONLINE       zflhrdb1

ora.oralhr.db

1        ONLINE  ONLINE       zflhrdb1                 Open

2        ONLINE  ONLINE       zflhrdb2                 Open

ora.scan1.vip

1        ONLINE  ONLINE       zflhrdb1

ora.zflhrdb1.vip

1        ONLINE  ONLINE       zflhrdb1

ora.zflhrdb2.vip

1        ONLINE  ONLINE       zflhrdb2

[ZFLHRDB1:oracle]:/oracle>srvctl status db -d oralhr

Instance oraLHR1 is running on node zflhrdb1

Instance oraLHR2 is running on node zflhrdb2

4  故障处理总结

ORA-30012基本是由于参数文件中的undo_tablespace的值和控制文件中记录的值不一致导致的。可以使用ALTER SYSTEM修改或者直接修改参数文件中有关undo_tablespace的部分和控制文件中的一致即可。

关于为何会出现参数文件和控制文件中undo_tablespace的值不一致的情况,这个可以从告警日志中去查询,这里就不深究了,毕竟是个测试库,也许很多年都没人使用了吧。

About Me

...............................................................................................................................

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/viewspace-2127949/

● 本文博客园地址:http://www.cnblogs.com/lhrbest/p/6040312.html

● 本文pdf版及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

     微信群:私聊

● 联系我请加QQ好友(642808185),注明添加缘由

-06 23:00 ~ 2016-11-07 12:00 在中行完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

...............................................................................................................................

手机长按下图识别二维码或微信客户端扫描下边的二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,免费学习最实用的数据库技术。

【故障处理】ORA-30012的解决过程的更多相关文章

  1. 转载:oracle11G 已开启监听,但远程连接依旧无监听解决过程

    1.连接数据库显示无监听程序,首先查看服务器的oracle监听服务是否开启,服务名称:OracleOraDb11g_home1TNSListener(具体环境中可能不完全一样,但是认准TNSListe ...

  2. oracle11G 已开启监听,但远程连接依旧无监听解决过程

    1.连接数据库显示无监听程序,首先查看服务器的oracle监听服务是否开启,服务名称:OracleOraDb11g_home1TNSListener(具体环境中可能不完全一样,但是认准TNSListe ...

  3. .NET平台开源项目速览(7)关于NoSQL数据库LiteDB的分页查询解决过程

    在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑) 与 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB中,介绍了LiteDB的基本使用情况以及部 ...

  4. 启动Tomcat一闪而过——分析及解决过程

    启动Tomcat一闪而过--分析及解决过程 嗯,昨天将有关JDK的知识稍微整理了一下,现在稍微整理一下有关Tomcat的! 1:Tomcat是什么? Tomcat是当今世界上使用最为广泛的.开源免费的 ...

  5. 这几天帮一个朋友解决了一点小问题(RF的有些小问题及解决过程)

    最近涉猎自动化太少了,以至于都不经常更新了.最近一个朋友在做移动端自动化的时候遇到了一些小问题来找我解决.本人也不是很精通,只是接触的时间长了一点了.下面就是一些问题和解决过程: 1.她刚过来的时候, ...

  6. nginx负载下站点错误响应会导致其他节点重复响应问题的解决过程

    目录 前言 问题来了 问题又来了 问题分析 困惑 转机 后续 前言: 这是我上周工作过程中的一次解决问题的过程.解决的是nginx负载下站点错误响应导致其他节点重复响应. 我在整理这个记叙文时,在给这 ...

  7. 再记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)

    在此之前项目有发生过两次类似的状况,都得以解决,但最近又会发现偶尔CPU会跑满,虽然之前使用过WinDbg解决过两次问题但人的记忆是不可靠的,今天处理同样问题的时候还是遇到了一些障碍,这一次希望可以记 ...

  8. 记录linux /bin被误删除的解决过程

    1.事因: 执行shell测试时,shell中rm -rf $path/* 变量$path为空,结果执行的命令是rm -rf / 事发时及时ctrl+c中断,导致只有/bin /boot目录删除 2. ...

  9. 记VS2013并行编译导致出错的解决过程

    接前一篇,电脑换了新的,系统是64bit的win8系统,先安装了SQLServer2012,再安装VS2010旗舰版,Stop!为什么还是2010?因为2010太经典了,以至于公司的项目还在用它写项目 ...

随机推荐

  1. UWP开发入门(十五)——在FlipView中通过手势操作图片

    本篇的最终目的,是模拟系统的照片APP可以左右滑动,缩放图片的操作.在实现的过程中,我们会逐步分析UWP编写UI的一些思路和技巧. 首先我们先实现一个横向的可以浏览图片的功能,也是大部分APP中的实现 ...

  2. 【Android进阶系列教程】前言

    起因 因为初学Android的时候还没有写博客的意识,现在Android的门是入了,正在进阶的道路上行走,但是就这一路也走了不少的弯路.我想,总得来说Android入门还是比较容易的,网络资源比较丰富 ...

  3. java 版的复利计算器(张俊毅 周修文)

    (带有本金的选项卡的意思就是计算你在知道利率.年限和本息的情况下计算本金) 在利率的输入中能限制小数点的输入并且输入字母会被直接去除 每一个选项卡都有复利和单利的计算,并且在你计算之后会立即更新在下面 ...

  4. 从P6 EPPM 8 R3 到P6 EPPM 16 R1 有哪些改变?

    Product 特征 First Release for Feature P6 EPPM 通过编辑活动标识替换关系.当你需要修改一个关系,你不需要删除现有的关系,并作出一个新的,你可以简单地编辑活动的 ...

  5. linq之where子句

    在Linq中,where子句主要是来指定筛选元素的逻辑条件.linq查询中where子句不是必须的,可以不包括where子句,也可以包含多个where子句,where子句中可以包含一个或多个bool类 ...

  6. WebApi 登录身份验证

    前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问,本文通过Form认证,Mvc的Controller基类及Action的权 ...

  7. [CLR via C#]18. Attribute

    attribute可以说是Microsoft .NET Framework提出的最具创意的技术之一了.利用attribute,可以声明性的为自己的代码构造添加注解,从而实现一些特殊的功能.attrib ...

  8. javascript: detect mobile devices or browser

    http://detectmobilebrowsers.com/ http://hgoebl.github.io/mobile-detect.js/ http://www.hand-interacti ...

  9. mongodb学习3---mongo的MapReduce

    1,概述MapReduce是个非常灵活和强大的数据聚合工具.它的好处是可以把一个聚合任务分解为多个小的任务,分配到多服务器上并行处理.MongoDB也提供了MapReduce,当然查询语肯定是Java ...

  10. ahjesus sql2005+游标示例

    DECLARE @TypeId INT, @Price1 FLOAT, @Original FLOAT DECLARE my_cursor CURSOR SCROLL FOR SELECT TypeI ...