数据库open报错ORA-01555: snapshot too old
原文博客链接地址:数据库open报错ORA-01555: snapshot too old
今天正在东莞蜜月的时候。一个学生说他管理的測试库出问题了,无法open,我们先来看看是什么问题:
Recovery of Online Redo Log: Thread 1 Group 4 Seq 4 Reading mem 0 |
从上面的错误来看,该数据库之所以open失败,是因为Oracle在bootstrap阶段运行递归SQL时出现ora-01555错误,
这样bootstrap过程无法继续下去。也就导致数据库无法open。我们能够看到报错的SQL语句例如以下:
select ctime, mtime, stime from obj$ where obj# = :1
这是非常熟悉的一个SQL,通过10046 trace跟踪Oracle open的过程你会发现该SQL。
针对该错误。也许有人以为是回滚段的问题,实际上并非。这样的情况下推进下SCN 就能够非常顺利的把数据库open。
可是这里有个问题:该兄弟的数据库是Oracle 11.2.0.4。已经不支持传统的10015 event的方式了。
以下我们通过oradebug 来解决该问题:
SQL> conn /as sysdba |
这里简单解释一下。4 为长度,0x859AFA是16进制。我在原来的v$datafile_header.checkpoint_change#的基础之上
加上上1000000得到该值。
我们能够看到。顺利打开了数据库。
最后再出观察下alert log发现竟然有ora-00600 4194错误。
Thu Jun 19 14:48:43 2014 |
这是一个很常见的错误了,最简单的方式就是通过重建undo或处理回滚段来解决,这里我们用最简单的方式:
改动undo_management=manual |
重建undo之后,再停库,改动undo參数就可以顺利打开数据库,例如以下:
SQL> create spfile from pfile='/tmp/1.ora'; File created. SQL> startup mount |
处理完毕之后alert log不再抛出不论什么错误。
数据库open报错ORA-01555: snapshot too old的更多相关文章
- 11gR2数据库日志报错:Fatal NI connect error 12170、
11gR2数据库日志报错:Fatal NI connect error 12170.TNS-12535.TNS-00505 [问题点数:100分,结帖人MarkIII] 不显示 ...
- 4、Oracle 数据库 startup 报错:ORA-27102: out of memory
1.数据库启动报错: ORA-: out of memory SQL> startup pfile='/db/oracle/init.ora'; ORA-: out of memory Linu ...
- 导入MySQL测试数据库employee报错
导入MySQL测试数据库employee 报错 下载地址:https://launchpad.net/test-db/ 上传解压: [root@001 ~]# tar xf employees_db- ...
- 同时操作两个数据库:报错Illegal attempt to associate a collection with two open sessions
今天我在一个操作两个数据库的SSH里 同时插入1条数据 报错 Illegal attempt to associate a collection with two open sessions 在这里有 ...
- 无法删除MySql数据库,报错1010 error dropping
环境:MySQL.Navicat 8 操作:Drop database testDB 报错:1010 error dropping database 解决方法: ps -ef | g ...
- 修改oracle数据库内存报错
今天修改oracle数据库内存时, alter system set memory_max_target=10240M scope=spfile;语句正确修改:但重启时却报错 : SQL> al ...
- python+Django+test 测试数据库生成报错
前提: 使用Django自带的test进行单元测试. 问题描述: 运行:python manage.py test,报错,出现数据库乱码的现象,报错如下: Creating test database ...
- 导入数据库备份报错1067 – Invalid default value for ‘create_time’
通过navicat工具导入psc数据库备份文件,报错如下,mysql版本5.7 执行如下语句不通过 DROP TABLE IF EXISTS `guard_user`; CREATE TABLE `g ...
- 【redis数据库学习】用JAVA连接redis数据库各种报错
最近项目中,需要用到redis数据库,然后使用Jedis让JAVA连接redis. 首先,安装redis数据库,参考的是:http://www.runoob.com/redis/redis-insta ...
随机推荐
- [Contest20180415]看无可看
题意:有一个数列$f$,对$\forall i\geq2,f_i=2f_{i-1}+3f_{i-2}$,给定$f_0,f_1$,再给定一个集合$S=\{a_{1\cdots n}\}$和$k$,求$\ ...
- [SPOJ]COT2
题意:给一棵带点权的树,多次询问两点间路径上的不同权值数 学习了一下莫队上树(雾 先求出栈入栈序$p_{1\cdots 2n}$,记$st_x$为$x$在$p$中第一次出现的位置,$ed_x$为$x$ ...
- 【分类讨论】Codeforces Round #395 (Div. 2) D. Timofey and rectangles
D题: 题目思路:给你n个不想交的矩形并别边长为奇数(很有用)问你可以可以只用四种颜色给n个矩形染色使得相接触的 矩形的颜色不相同,我们首先考虑可不可能,我们分析下最多有几个矩形互相接触,两个时可以都 ...
- 【带修莫队】bzoj2120 数颜色
块大小为n2/3. 把询问和修改分开. 每次两个询问之间的修改进行暴力转移,如果修改在上一次询问的区间里,就会对当前状态形成影响. 好慢. #include<cstdio> #includ ...
- 使用ASP.Net WebAPI构建REST服务(七)——调试工具
由于WebAPI本身是基于HTTP协议的,在开发过程中,我们可以使用浏览器或Fiddler等HTTP工具辅助开发.与此同时,微软也提供了一些工具方便我们调试,使得开发更加简单快捷,本文就简单的介绍一下 ...
- telnet协议的作用详解,以及telnet端口号介绍
转:http://www.ctowhy.com/382.html Telnet协议,工作在TCP/IP协议栈的“应用层”,telnet是一种使用命令行的远程终端管理的协议,可以远程连接到网络设备上,并 ...
- openstack如何设置cpu和内存的超配比例
默认OpenStack的CPU超配比例是1:16,内存超配比例是1:1.5.下面配置的就是这个比例,你可以自己算一下,cat /proc/cpuinfo里面的逻辑核数,再x16就是你能够分配给虚拟机的 ...
- Hadoop之Sqoop详解
sqoop数据迁移1.简介 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HIVE.HBA ...
- 开源 免费 java CMS - FreeCMS1.9 移动APP管理 栏目配置
项目地址:http://www.freeteam.cn/ 栏目配置 管理员能够在这里设设置栏目是否是否同意移动app訪问.栏目页的布局等属性. 从左側管理菜单点击栏目配置进入. 选择须要管理的栏目后点 ...
- EffectiveJava(25)泛型和数组的使用取舍及规范
泛型和数组 泛型:1.泛型是不可变的.对于任意两个不同类型Type1,type2;List既不是List的子类型,也不是List的超类型 2.泛型是通过擦除来实现的.故泛型只在编译时强化它们的信息,并 ...