一次数据库无法登陆的"问题"及排查(r2第11天)
继昨天发生san存储切换导致io等待异常高的问题后,晚上客户对测试环境的数据库进行了远程启动,因为库比较多,监控process都起来了。客户就发邮件通知测试组继续测试。 结果早上测试反馈有一个库怎么都等不了。 他们提供的日志如下: sqlplus test3c/xxxx@testdb SQL*Plus: Release 11.2.0.2.0 Production on Sat Jun 21 12:59:36 2014 Copyright (c) 1982, 2010, Oracle. All rights reserved. ERROR: ORA-01033: ORACLE initialization or shutdown in progress Process ID: 0 Session ID: 0 Serial number: 0
猛一看是数据库可能没起来,但是根据客户的邮件说库都起来了。 就开始排查,大周末的只能很艰难的连上V**来看了。 通过客户端,问题可以复现,直接连入db服务器,通过dba账户来连接。
sqlplus jianrong/jianrong@testdb
SQL*Plus: Release 11.2.0.2.0 Production on Sat Jun 21 13:05:42 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
通过sysdba来连接,貌似是连上了。
sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Sat Jun 21 13:07:06 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter back
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
。。。。。。
查看对应的process的情况,process确实存在。而且是半夜1点多起的。 3071 18455 1 0 01:51 ? 00:00:00 ora_smon_TESTDB
查到这,还没有找到其他的线索,来看看alert日志怎么说吧。一查看直接晕倒。 。。。。 alter database open Sat Jun 21 13:02:48 2014 Errors in file /opt/app/oracle/testdb/diag/rdbms/testdb/TESTDB/trace/TESTDB_dbw0_18440.trc: ORA-01157: cannot identify/lock data file 3 - see DBWR trace file ORA-01110: data file 3: '/u01/oracle/TESTDB/orarbs01/rbs/undotbs01.dbf' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 3 Errors in file /opt/app/oracle/testdb/diag/rdbms/testdb/TESTDB/trace/TESTDB_ora_18358.trc: ORA-01157: cannot identify/lock data file 3 - see DBWR trace file ORA-01110: data file 3: '/u01/oracle/TESTDB/orarbs01/rbs/undotbs01.dbf' ORA-1157 signalled during: alter database open...
原来库就没起来,被误导了。查看库的状态。 SQL> select open_mode from v$database; OPEN_MODE -------------------- MOUNTED
剩下的事情就是从备份中拿到undo来做恢复了。给客户简单说了一下情况,马上问题就解决了,虚惊一场。
- 使用yield进行异步流程控制
- 【Java提高十七】Set接口集合详解
- 如何科学地蹭热点:用python爬虫获取热门微博评论并进行情感分析
- 使用ETag进行session的降级
- 关于oracle中的反连接(r3笔记第95天)
- 用Python爬取网易云音乐的用户评论文本
- grunt任务之seajs模块打包
- 【Java提高十八】Map接口集合详解
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(五)讲一下maven
- Thinking in React
- 【Java提高十六】集合List接口详解
- JS的内建函数reduce
- Error: Cannot find module 'gulp-clone'问题的解决
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(四)代码简化
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 大数据理论篇HDFS的基石——Google File System
- 6. 二十不惑,ObjectMapper使用也不再迷惑
- 接口自动化对比工具实践
- 什么?Java9这些史诗级更新你都不知道?Java9特性一文打尽!
- 利用 Arthas 精准定位 Java 应用 CPU 负载过高问题
- 你想了解的JDK 10版本更新都在这里
- Linux Page Cache调优在 Kafka 中的应用
- 声明式 UIKit 在有赞美业的实践
- 一个@Transaction哪里来这么多坑?
- 绘图代码|10种绘制热图方法,你想要的全都有!
- 有赞DB连接池性能优化
- 有赞移动热修复平台建设
- 有赞零售智能硬件体系搭建历程
- 有赞移动如何做到并行灰度的复杂场景?
- 微商城订单模块重构实践