Home  >  Article  >  Database  >  oracle ora-01172,01151故障处理详细教程

oracle ora-01172,01151故障处理详细教程

WBOY
WBOYOriginal
2016-06-07 17:46:202555browse

本文章介绍了关于oracle ora-01172,01151故障处理详细教程,有需要的同学可以参考一下关于01151故障处理方法吧。

本文章介绍了关于oracle ora-01172,01151故障处理详细教程,有需要的同学可以参考一下关于01151故障处理方法吧。

客户机windows蓝屏了,然后客户在电脑一顿乱删,真寒。

oracle不能启动,报ora-01172,01151错误。

处理过程:

 代码如下 复制代码


Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:Documents and SettingsAdministrator>tnsping dbtest
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-12月-
2011 16:34:10
Copyright (c) 1997, 2005, Oracle.  All rights reserved.


已使用的参数文件:

 代码如下 复制代码
E:oracleproduct10.2.0db_1networkadminsqlnet.ora


已使用 TNSNAMES 适配器来解析别名

 代码如下 复制代码

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = mqdyj)(P
ORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dbtest)))
OK (10 毫秒)
C:Documents and SettingsAdministrator>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 12月 14 16:34:34 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
ERROR:
ORA-12560: TNS: 协议适配器错误


--这里是因为 service.msc里面的服务没有启动。启动就OK了。

 代码如下 复制代码


C:Documents and SettingsAdministrator>
C:Documents and SettingsAdministrator>sqlplus /@dbtest as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 12月 14 16:34:46 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

 


请输入用户名:  exit
输入口令:

 代码如下 复制代码
ERROR:
ORA-12560: TNS: 协议适配器错误


--错误原因同上。这里是因为 service.msc里面的服务没有启动。启动就OK了。


--这里我修改了一下listener.ora,把其注册成了静态监听。
就是添加 sid_desc那一款,添加好了就会有二个SID_DESC。

 代码如下 复制代码


C:Documents and SettingsAdministrator>
C:Documents and SettingsAdministrator>lsnrctl stop
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-12月-2011 16:3
6:59
Copyright (c) 1991, 2005, Oracle.  All rights reserved.


正在连接到

 代码如下 复制代码
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

命令执行成功

 代码如下 复制代码

C:Documents and SettingsAdministrator>lsnrctl start
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-12月-2011 16:3
7:06
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
启动tnslsnr: 请稍候...

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为E:oracleproduct10.2.0db_1networkadminlistener.ora
写入E:oracleproduct10.2.0db_1networkloglistener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1ipc)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mqdyj)(PORT=1521)))


正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期                  14-12月-2011 16:37:11
正常运行时间              0 天 0 小时 0 分 5 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件          E:oracleproduct10.2.0db_1networkloglistener.log


监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mqdyj)(PORT=1521)))
服务摘要..
服务 "dbtest" 包含 1 个例程。
  例程 "dbtest", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "PLSExtProc" 包含 1 个例程。
  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功


C:Documents and SettingsAdministrator>tnsping dbtest
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-12月-
2011 16:37:17
Copyright (c) 1997, 2005, Oracle.  All rights reserved.
已使用的参数文件:
E:oracleproduct10.2.0db_1networkadminsqlnet.ora 
SQL> conn oracle/iamdba
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress


--我连的时候报这个错。
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>startup
ERROR 位于第 1 行:
ORA-01172: 线程1的恢复停止在块253011(在文件2中)
ORA-01151: 如果需要,请使用媒体恢复以恢复块和恢复备份


--启动数据库时报:  ora-01172,01151,UNDO文件出错。
出现这个错误的诱因是windows蓝屏了。
解决办法(在操作之前最好先备份一下oracle的各种文件):
SQL> startup mount
ORACLE 例程已经启动。


Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             159386500 bytes
Database Buffers          444596224 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
SQL> recover datafile 2;
完成介质恢复。
SQL> alter database open;


数据库已更改。


SQL>

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn