今天论坛里一个朋友发帖子问问题,性格还挺豪爽,直接让加QQ帮忙。我一开始看他的描述,以为是服务或者监听设置的问题,结果发现并不是这样的。我加了他QQ,远程协助帮助他小诊断了一下,并最终解决了问题。呵呵,开心,下面记录一下。
这个是原帖的地址
C:/Documents and Settings/Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 12月 23 21:31:40 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba
已连接。
SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
C:/Documents and Settings/Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 12月 23 21:32:12 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn system/manager
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress
SQL> conn / as sysdba
已连接。
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1:
'C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO01.LOG'
//这个时候我去他这个路径下看了看 只有数据文件和控制文件 一个redo log都没有……
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 209715200 bytes
Fixed Size 1248140 bytes
Variable Size 96470132 bytes
Database Buffers 109051904 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1:
'C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO01.LOG'
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- --------------
1 1 2 52428800 1 NO CURRENT
542820 19-11月-09
3 1 1 52428800 1 NO INACTIVE
534907 19-11月-09
2 1 0 52428800 1 YES UNUSED
0
//可以看到组2已经是UNUSED了 不需要清除了
SQL> alter database clear logfile group 3;
数据库已更改。
SQL> alter database clear logfile group 1; //无法清除当前正在使用的日志组
alter database clear logfile group 1
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1:
'C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO01.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
SQL> recover database until cancel; //进行恢复
完成介质恢复。
SQL> alter database open resetlogs; //需要指定resetlogs
数据库已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 209715200 bytes
Fixed Size 1248140 bytes
Variable Size
SQL> conn scott/tiger //现在连接就ok了
已连接。
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL>