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

作者:袖梨 2022-06-29

客户机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>

 

相关文章

精彩推荐