首页 > 代码库 > ORA-01034: ORACLE not available如何解决

ORA-01034: ORACLE not available如何解决

一个小小的问题,让我折腾了一个上午,下午三点彻底解决了,分享一个给大家解决方法,尽管在测试服务器上,但是经验是值得总结和分享的.

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
进程 ID: 0
会话 ID: 0 序列号: 0

---- 这个是现象。

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 18 15:30:38 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-01031: insufficient privileges


请输入用户名:  sys as sysdba
输入口令:
已连接到空闲例程。

SQL> show parameter;
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0


SQL> select group#,sequence#,members,archived,status from v$log;
select group#,sequence#,members,archived,status from v$log
*
第 1 行出现错误:
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0
-----

这个过程中我参考很多资料,无法解决

SQL> startup open hstestdb
ORACLE 例程已经启动。

Total System Global Area 6847938560 bytes
Fixed Size                  2188768 bytes
Variable Size            3422554656 bytes
Database Buffers         3405774848 bytes
Redo Buffers               17420288 bytes
数据库装载完毕。
ORA-03113: 通信通道的文件结尾
进程 ID: 2984
会话 ID: 5 序列号: 3

-----

还是报ORA-03113: 通信通道的文件结尾,究竟什么原因?

SQL> startup open hstestdb
ORACLE 例程已经启动。

Total System Global Area 6847938560 bytes
Fixed Size                  2188768 bytes
Variable Size            3422554656 bytes
Database Buffers         3405774848 bytes
Redo Buffers               17420288 bytes
数据库装载完毕。
ORA-03113: 通信通道的文件结尾
进程 ID: 2984
会话 ID: 5 序列号: 3


SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断

C:\Documents and Settings\Administrator>set oracle_sid=hstestdb

C:\Documents and Settings\Administrator>sqlplus "/as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 18 15:37:02 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-01031: insufficient privileges


请输入用户名:  sys as  sysdba
输入口令:
已连接到空闲例程。

SQL> stop
SP2-0042: 未知命令 "stop" - 其余行忽略。
SQL> shutdown immediate;
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area 6847938560 bytes
Fixed Size                  2188768 bytes
Variable Size            3422554656 bytes
Database Buffers         3405774848 bytes
Redo Buffers               17420288 bytes
数据库装载完毕。
SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS           FIRST_CHANGE# FIRST_TIME     NEXT_CHANGE# NEXT_TIME
---------------- ------------- -------------- ------------ --------------
         1          1       3823   52428800        512          1 NO
CURRENT               34344047 12-3月 -13       2.8147E+14

         3          1       3822   52428800        512          1 NO
INACTIVE              34327500 12-3月 -13         34344047 12-3月 -13

         2          1       3821   52428800        512          1 NO
INACTIVE              34324562 12-3月 -13         34327500 12-3月 -13


SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-03113: 通信通道的文件结尾
进程 ID: 2592
会话 ID: 5 序列号: 7


SQL> alter database archivelog;
ERROR:
ORA-03114: 未连接到 ORACLE


SQL> select * from v$log;
ERROR:
ORA-03114: 未连接到 ORACLE


SQL> conn sys/sys as sysdba
已连接到空闲例程。
SQL> select * from v$log;
select * from v$log
*
第 1 行出现错误:
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0


SQL> archive log list;
ORA-01012: not logged on
SQL> exit
已断开连接

C:\Documents and Settings\Administrator>lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 18-3月 -2013 15:4
4:24

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hserptest)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
ction
启动日期                  18-3月 -2013 15:30:27
正常运行时间              0 天 0 小时 14 分 0 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          D:\app\Administrator\product\11.2.0\dbhome_1\network\a
dmin\listener.ora
监听程序日志文件          d:\app\administrator\diag\tnslsnr\hserptest\listener\a
lert\log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hserptest)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
  实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 2 个处理程序...
服务 "hstestdb" 包含 1 个实例。
  实例 "hstestdb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

C:\Documents and Settings\Administrator>sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 18 15:45:23 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-01031: insufficient privileges


请输入用户名:  sys/sys as sysdba
已连接到空闲例程。

SQL> select *  from v$log;
select *  from v$log
*
第 1 行出现错误:
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0


SQL> alter  database open resetlog;
alter  database open resetlog
*
第 1 行出现错误:
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0


SQL> alter  database open resetlogs;
alter  database open resetlogs
*
第 1 行出现错误:
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 0 序列号: 0


SQL> shutdown immedate;
SP2-0717: 非法的 SHUTDOWN 选项
SQL> shutdown immediate
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area 6847938560 bytes
Fixed Size                  2188768 bytes
Variable Size            3422554656 bytes
Database Buffers         3405774848 bytes
Redo Buffers               17420288 bytes
数据库装载完毕。

SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效


SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS           FIRST_CHANGE# FIRST_TIME     NEXT_CHANGE# NEXT_TIME
---------------- ------------- -------------- ------------ --------------
         1          1       3823   52428800        512          1 NO
CURRENT               34344047 12-3月 -13       2.8147E+14

         3          1       3822   52428800        512          1 NO
INACTIVE              34327500 12-3月 -13         34344047 12-3月 -13

         2          1       3821   52428800        512          1 NO
INACTIVE              34324562 12-3月 -13         34327500 12-3月 -13


SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效



SQL>
SQL> recover database until time ‘2013-03-01 12:12:12‘;
完成介质恢复。

---

我恢复3月1日的
SQL> alter database open resetlogs;

数据库已更改。

SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 6847938560 bytes
Fixed Size                  2188768 bytes
Variable Size            3422554656 bytes
Database Buffers         3405774848 bytes
Redo Buffers               17420288 bytes
数据库装载完毕。
数据库已经打开。
SQL>

--到目前为止,问题解决。