oracle断电重启之ORA-00600[4194]

简介:

1.问题描述

Oracle服务器断电重启以后无法数据库无法正常连接,使用sqlplus envision/envision连接报错。常见的错误有以下这些:

  1. ORA-12518: TNS:listener could not hand off client connection
  2. ORA-12560: TNS:protocol adapter error
  3. ORA-01034: ORACLE not available
  4. ORA-27101: shared memory realm does not exist
  5. ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
  6. ORA-00600:[4194]

2.基本处理

上述这些ORA报错,基本可以归类为一下几种:

  1. 环境变量ORACLE_SID是否为prjdb,如果不是就设置环境变量
  2. TNSListener服务是否启动,如果没有启动就重新启动一下。
  3. prjdb这个oracle服务是否启动,如果没有启动就启动一下
  4. 使用dba身份能否连接oralce。

3.查看日志确认问题

将上面的这些问题都过一遍,并且都操作一遍以后发现问题还是没有解决,此时我们可以查看oracle 的alert log。我的alert log的路径为:

D:\app\oracle\diag\rdbms\prjdb\prjdb\trace\alert_prjdb.txt

打开alert log文件,找到日志的最后一行,发现行号是1003417,如下图所示:

接着尝试重启oracle服务,

重启完毕以后再次查看log文件,看看日志有什么错误。当我们找到ora-00600[4194]的时候,就定位到undo表空间文件损坏这个问题。最后解决方法就是重建undo表空间。

4.问题处理步骤:重建undo表空间

4.1思路:

在INITprjdb.ora这个配置文件中将undo表空间指向系统表空间system,然后删除undo表空间,最后在创建undo表空间,最后再在INITprjdb.ora这个配置文件中将undo表空间指向刚刚创建的undo表空间。

4.2查看表空间

select * from v$tablespace;

 

4.3查看undo表空间

show parameter undo

4.4管理员身份登陆:

sqlplus / as sysdba

4.5创建pfile

create pfile from spfile;

关闭实例

shutdown immediate

修改INITprjdb.ora参数

undo_management= MANUAL
undo_tablespace= SYSTEM

这个可以参考:http://www.xifenfei.com/2111.html

启动数据库

在修改INITprjdb.ora以后,以INITprjdb.ora这个参数文件中的配置启动oracle实例

复制代码
$SQL> startup pfile=D:\app\oracle\product\11.2.0\dbhome_1\database\INITprjdb.ora

ORACLE instance started.
Total System Global Area  857903104 bytes
Fixed Size                  1377952 bytes
Variable Size             503318880 bytes
Database Buffers          348127232 bytes
Redo Buffers                5079040 bytes
Database mounted.
Database opened.
复制代码

删除undo表空间

因为重新指定了undo表空间,所以我们可以将undotbs1这个表空间删除

SQL> drop tablespace undotbs1 including CONTENTS;

重建表空间

CREATE SMALLFILE UNDO TABLESPACE UNDOTBS1 DATAFILE 'D:\app\oracle\oradata\prjdb\UNDOTBS01.DBF' SIZE 200M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 8G;

重新创建pfile

create pfile from spfile;

重启oracle数据库

PS:ORA-00600[4193]

  View Code

参考:ORA-600[4194]/[4193]解决

从这里可以看到出现了ORA-600[4194]/[4193],第一感觉就是undo出现问题。
4193:表示undo和redo不一致(Arg [a] Undo record seq number,Arg [b] Redo record seq number );
4194:表示也是undo和redo不一致(Arg [a] Maximum Undo record number in Undo block,Arg [b] Undo record number from Redo block)

所以出现4193错误,解决方法跟4194一样。

 

本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/p/3778383.html,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。
|
6月前
|
Oracle 关系型数据库 数据库
oracle数据恢复—服务器断电导致Oracle数据库报错的数据恢复案例
一台Windows server操作系统的服务器上部署Oracle数据库。 服务器意外断电导致oracle数据库报错,报错信息:“system01.dbf需要更多的恢复来保持一致性”。由于该oracle数据库并没有备份,仅有一些断断续续的归档日志,无法通过备份文件恢复oracle数据库的数据。管理员联系北亚企安数据恢复中心要求修复Oracle数据库。
oracle数据恢复—服务器断电导致Oracle数据库报错的数据恢复案例
|
Oracle 关系型数据库 数据库
数据库数据恢复—断电导致Oracle数据库报错的数据恢复案例
北京某公司一台运行oracle数据库的服务器,机房意外断电导致该服务器重启,重启后发现oracle数据库报错。该Oracle数据库没有备份。
数据库数据恢复—断电导致Oracle数据库报错的数据恢复案例
|
6月前
|
Oracle 关系型数据库 数据库
oracle 重启步骤及踩坑经验
oracle 重启步骤及踩坑经验
264 0
|
监控 Oracle druid
Springboot2.1.9+druid+mybatits(不重启项目动态添加mysql和oracle数据源)和数据监控
Springboot2.1.9+druid+mybatits(不重启项目动态添加mysql和oracle数据源)和数据监控
272 0
|
Oracle 关系型数据库
Oracle如何重启mmon/mmnl进程(AWR自动采集)
Oracle如何重启mmon/mmnl进程(AWR自动采集)
1053 0
|
Oracle 关系型数据库 Linux
Linux服务器oracle数据库重启服务、重启监听方法,oracle数据库sysdba管理员登录方法
Linux服务器oracle数据库重启服务、重启监听方法,oracle数据库sysdba管理员登录方法
1059 0
Linux服务器oracle数据库重启服务、重启监听方法,oracle数据库sysdba管理员登录方法
|
运维 Oracle 关系型数据库
Oracle运维笔记之有关外部表的ORA-20011错误
Oracle运维笔记之有关外部表的ORA-20011错误
1065 0
Oracle运维笔记之有关外部表的ORA-20011错误
|
运维 Oracle 关系型数据库
Oracle运维笔记之ORA-27102错误处理
Oracle运维笔记之ORA-27102错误处理
2876 0
Oracle运维笔记之ORA-27102错误处理