在命令提示符下执行
c:\> sqlplus "/as sysdba"
SQL> alter database open;
看看出现什么错误?另外,也可以打开alert_sid.log文件,位于$ORACLE_BASE\admin\sid\bdump\下,看看里面的内容
c:\> sqlplus "/as sysdba"
SQL> alter database open;
看看出现什么错误?另外,也可以打开alert_sid.log文件,位于$ORACLE_BASE\admin\sid\bdump\下,看看里面的内容
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-00313: 无法打开日志组 1 (线程 1) 的成
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
SQL>column member format a50
SQL>SELECT group#,member FROM v$logfile;返回的内容是日志组号和日志文件名称,到操作系统下看看丢了哪个文件再执行
SQL> select group#,status from v$log;
看看丢失的文件对应的STATUS是不是CURRENT
---------- --------------------------------------------------
3 C:\ORACLE\ORADATA\YAND\REDO03.LOG
2 C:\ORACLE\ORADATA\YAND\REDO02.LOG
1 C:\ORACLE\ORADATA\YAND\REDO01.LOG
SQL> select group#,status from v$log; GROUP# STATUS
---------- ----------------
1 CURRENT
2 INACTIVE
3 INACTIVE然后怎么解决呢?
看看丢失的文件对应的STATUS是不是CURRENT
copy C:\ORACLE\ORADATA\YAND\REDO02.LOG C:\ORACLE\ORADATA\YAND\REDO01.LOG
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\YAND\REDO01.LOG'
ORA-27047: 无法读取文件的标题块
OSD-04006: ReadFile() 失败, 无法读取文件
O/S-Error: (OS 38) 已到文件结尾。
得到的这个呀!
C:\ORACLE\ORADATA\YAND\
去哪儿了?他这个文件怎么会丢失的呢?
然后改了名字 再打开ORACLE的时候
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\YAND\REDO01.LOG'
ORA-27046: 文件大小不是逻辑块大小的倍数
OSD-04012: 文件大小不匹配
O/S-Error: (OS 1) 函数不正确。
oracle的同类型文件。
SQL> alter database open -resetlog;