估计是我使用新毒霸-垃圾清理把log日志文件删除掉,我的oracle也一个多月也没用过了。现在说说解决之道。
首先通过运行cmd,
输入:sqlplus /nolog
解释:运行sqlplus命令,进入sqlplus环境。其中/nolog是不登陆到数据库服务器的意思,如果没有/nolog参数,sqlplus会提示你输入用户名和密码
输入:connect system/accp as sysdba
解释:SQL>connect system/accp as sysdba
以系统管理员(sysdba)身份连接数据库
system/accp 账号/密码 登录
输入:shutdown normal
提示:数据库已经关闭已经卸载数据库 ORACLE 例程已经关闭
输入:startup mount
提示:ORACLE例程已经启动
[数据库的信息]
数据库装载完毕
输入:startup
提示:启动例程,发现报错的数据,果然不出所料,是我使用新毒霸-垃圾清理把log日志文件删除掉。
输入:alter database datafile 5 offline drop;
提示:数据库已更改。
循环使用最后两步,直到alter database open;后不再提示错误,出现“数据库已更改”。
然后接着输入即可。
然后输入:
shutdown normal 关闭数据库
startup mount 启动
alter database open; 打开数据库,一般这个时候会报出来丢失了哪些文件
我的问题已经解决了。
如果是出现这种问题的解决办法,如下:
ERROR 位于第 1 行:
ORA-00313: 无法打开日志组 2 (线程 1) 的成员
ORA-00312: 联机日志 2 线程 1: 'C:\ORACLE\ORADATA\LIANADEV\REDO02.LOG'
select group#,sequence#,archived,status from v$log; 开始解决
GROUP# SEQUENCE# ARCHIV STATUS
---------- ---------- ------ --------------------------------
1 0 NO CLEARING_CURRENT
2 0 NO UNUSED
3 70 NO INACTIVE
alter database clear logfile group 1;
alter database clear logfile group 3;