暂无图片
手工dd了undo数据文件后,DB实例不能开启
我来答
分享
xuxiaogang
2019-05-31
手工dd了undo数据文件后,DB实例不能开启

手工dd将数据误写入undo数据文件,重启数据库,在alter database open时报如下错误:

ORA-01122: database file 3 failed verification check
ORA-01110: data file 3: '/u01/app/oracle/oradata/MEDB/undotbs01.dbf'
ORA-01251: Unknown File Header Version read for file number 3


直接alter database datafile 3 offline drop 时alert中出现:

Fri May 31 10:16:02 2019
alter database datafile 3 offline drop
Fri May 31 10:16:03 2019
Errors in file /u01/app/oracle/diag/rdbms/db/DB/trace/DB_dbw0_8543.trc  (incident=1713441):
ORA-00600: internal error code, arguments: [3600], [3], [2], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/medb/DB/incident/incdir_1713441/DB_dbw0_8543_i1713441.trc
Errors in file /u01/app/oracle/diag/rdbms/medb/DB/trace/MEDB_dbw0_8543.trc:
ORA-00600: internal error code, arguments: [3600], [3], [2], [], [], [], [], []
DBW0 (ospid: 8543): terminating the instance due to error 471
Instance terminated by DBW0, pid = 8543


我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
Moone

1、如果数据库是正常关闭的,可以尝试修改undo_management=manual然后删除undo tablespace重建试试

2、如果undo有活动事务,建议使用备份来恢复

3、如果无备份且是生产库,建议呼叫恩墨紧急救援

暂无图片 评论
暂无图片 有用 0
打赏 0
xuxiaogang

感觉您的回答

目前是测试环境,dd后是正常关闭的,将Undo改为了手动模式并去掉undo tablespace这种方式我测试过,还是不行。

暂无图片 评论
暂无图片 有用 0
打赏 0
盖国强

这种情况非常复杂,遇到的问题也会是多种多样,最佳方式是有备份。

如果没有备份是很难解决的,生产可以找恩墨救援。


如果自己研究,参考以下几个文章:

https://www.eygle.com/archives/2006/02/howto_resolve_ora_600_4194.html

https://www.eygle.com/archives/2010/07/ora_600_2831.html

https://www.eygle.com/archives/2012/05/ora-00600_kclchkblk_4.html

https://www.eygle.com/archives/2011/06/recovery_4193_4194_2662.html


见招拆招,不外如是。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle AWR报告中的各个指标 都是如何获取的?
回答 1
你意思是自己去一个个查吗?一般来说官方提供了,我们只要读和解析报告就行。没研究每个具体怎么来的。当然有些大的指标知道。就像看验血报告知道含义,不见得造一台机器。
Redhat Linux7.6 64位安装Oracle 19c 19.3.0版本安装遇到的INS-44002和 INS-32070
回答 12
求一份19Crac详细安装文档和升级文档谢谢
为什么oracle 监听注册不上?
回答 8
可以尝试进行altersystemregister进行重新注册。或者直接删除locallistener内容,再次进行注册。
Oracle创建表分区后,查询的时候不给出partition,但是会给分区字段指定的值,会不会自动按照分区查询?
回答 1
已采纳
会:例:数据准备:CREATETABLEt1(idnumber,CDNUMBER(8)NOTNULL)PARTITIONBYRANGE(CD)(PARTITIONt1RANGE10VALUESLESS
请问,impdp导入数据 因为错误而终止,alert也没有提示报错, impdp 的日志也没有错误号,就这一句,看不出来有什么错误 ,这个怎么看?
回答 1
上面不是说你的序列已经存在了吗?
请问一下为何我查询A用户17年下半年的数据总量是1955 但是我分月查询 7-12月怎么总量对不上
回答 3
你分月查询时,时间没有包含完整。应该查询时指定到月末最后一天的23:59:59才对
Oracle执行查询语句后,如何获取查询到的记录的条数?
回答 2
已采纳
在executeQuery()方法执行SELECT语句后,查询结果会返回给ResultSet对象,而该对象没有定义获取结果集中记录条数的方法。如果需要知道记录的条数,就需要使用循环读取的方法来计算记录
Oracle 查询某条SQL产生的日志大小
回答 3
已采纳
可以用下面的存储过程试试:createorreplaceproceduredosql(psqlinvarchar2)as  lstartredonumber; &nbsp
oracle19c 插入数据 报 ORA-01950: 对表空间 'USERS' 无权限 错误
回答 7
1、检查登录用户是否正确2、检查用户拥有的权限3、检查表空间使用情况这3个都没问题的话,是可以插入数据的
oracle sys_guid
回答 2
问题已经处理了,dns的问题导致!在hosts文件里面配置了主机名和ip的对应关系后恢复正常