今天shutdown用户的数据库,以sys as sysdba身份登录,执行shutdown immediate命令,等了好久 没有反应,于是关闭了cmd程序窗口,就这样,问题来了!
当再次执行shutdown immediate命令时,ORA-01089错误出现了:ORA-01089 immediate shutdown in progress - no operations are permitted
(1).http://www.oracle.com.cn/onlinedoc/index.htm上查到的错误解释如下:
ORA-01089 immediate shutdown in progress - no operations are permitted
Cause: The SHUTDOWN IMMEDIATE command was used to shut down a running Oracle instance, terminating any active operations.
Action: Wait for the instance to be restarted or contact the database administrator.
(2)alert日志中产生错误如下:
Thu Mar 09 09:00:09 2006
Errors in file d:/oracle/admin/kdc/udump/kdc_ora_3240.trc:
ORA-01089: 正在进行紧急关闭 - 不允许进行任何操作
(3)google上搜了一下ORA-01089:
有人给出办法:(http://www.oracle123.com/hgkjh/mrspqtymzm/262162.htm)
$sqlplus /nolog
SQL>connect /as sysdba
SQL>shutdown abort
然后startup
按照如上方法执行shutdown abort,数据库关闭成功。接着使用startup命令启动数据库,又出现ORA-27100错误:ORA-27100 shared memory realm lready exists
(1).http://www.oracle.com.cn/onlinedoc/index.htm上查到的错误解释如下:
ORA-27100 shared memory realm already exists
Cause: An attempt was made to start duplicate instances, or tried to restart an instance that had not been properly shut down.
Action: Use a different instance name, or cleanup the failed instance's SGA.
(2)google上搜了一下,http://www.cnoug.org上提到了这个问题(可参考:http://www.cnoug.org/viewthread.php?tid=34399和http://www.oracle.com.cn/viewthread.php?tid=34991),
有些朋友说重新启动机器几次就好了。
我的处理方式有点不同,故写出与大家分享:
(1).进入控制面板-管理工具-服务,关闭oracle相关的所有服务。
(2).进入sqlplus,以sys as sysdba登录,出现ORA-12560错误:ORA-12560: TNS: 协议适配器错误
(3).启动LISTENER:(抱歉,这以前执行的脚本我都没有保存)
C:/Documents and Settings/Administrator>lsnrctl
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 09-3月 -2006 09:33
:08
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
欢迎来到LSNRCTL,请键入"help"以获得信息。
LSNRCTL> start
启动tnslsnr:请稍候...
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
系统参数文件为D:/oracle/ora92/network/admin/listener.ora
写入D:/oracle/ora92/network/log/listener.log的日志信息
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc)))
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=erp-weblogic2)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
tion
启动日期 09-3月 -2006 09:33:13
正常运行时间 0 天 0 小时 0 分 0 秒
跟踪级别 off
安全性 OFF
SNMP OFF
监听器参数文件 D:/oracle/ora92/network/admin/listener.ora
监听器日志文件 D:/oracle/ora92/network/log/listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=erp-weblogic2)(PORT=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "kdc" 包含 1 个例程。
例程 "kdc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
(4).退出lsnrctl,重新以sys as sysdba登录,还是报ORA-12560错误:
LSNRCTL> exit
C:/Documents and Settings/Administrator>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 3月 9 09:33:32 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn sys/*** as sysdba
ERROR:
ORA-12560: TNS: 协议适配器错误
(5).进入控制面板-管理工具-服务,启动OracleService<SID>服务,再次以sys as sysdba登录:
SQL> conn sys/*** as sysdba
已连接。
(6).执行startup命令:
SQL> startup
ORA-01081: 无法启动已在运行的 ORACLE --- 请首先关闭
(7).执行shutdown immediate命令:
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
(8).执行startup命令,启动数据库成功:
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1460741780 bytes
Fixed Size 456340 bytes
Variable Size 385875968 bytes
Database Buffers 1073741824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。