很可惜,我没能保存一开始的报错信息(alert文件竟然没记录)。报错在mount阶段,报错的意思是控制文件2与控制文件1不一致,2比1版本更高。数据库的损坏是由于非法断电导致的。
修改参数文件pfile,只保留控制文件2,启动数据库。
SQL> conn / as sysdba
已连接。
SQL> create pfile from spfile;
文件已创建。
SQL> create spfile from pfile;
create spfile from pfile
*
ERROR 位于第 1 行:
ORA-32002: ??????????? SPFILE
可以猜到报错为不能创建正在使用的SPFILE。当然可也修改nls_language设置语言。
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> create spfile from pfile;
文件已创建。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF'
SQL> select status from v$datafile;
STATUS
-------
SYSTEM
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
已选择10行。
SQL> recover datafile 1;
完成介质恢复。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: 文件 2 需要介质恢复
ORA-01110: 数据文件 2: 'D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF'
SQL> recover database;
完成介质恢复。
注意这里是完全恢复,恢复成功了,说明应用日志完全了,不存在丢失。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-00314: 日志 2 (线程 1),预计序号 与 不匹配
ORA-00312: 联机日志 2 线程 1: 'D:\ORACLE\ORADATA\ORCL\REDO02.LOG'
ORA-00314说明Cause: The online log is corrupted or is an old version.既然是完全恢复的,我们可以resetlogs,不会造成丢失。
SQL> select * from v$Log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- ----------
1 1 320 104857600 1 NO INVALIDATED
47548236 06-7月 -10
2 1 318 104857600 1 NO INACTIVE
47366790 05-7月 -10
3 1 319 104857600 1 NO INACTIVE
47386928 05-7月 -10
SQL> recover database until cancel;
完成介质恢复。
SQL> alter database open resetlogs;
数据库已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL>
修改参数文件pfile,只保留控制文件2,启动数据库。
SQL> conn / as sysdba
已连接。
SQL> create pfile from spfile;
文件已创建。
SQL> create spfile from pfile;
create spfile from pfile
*
ERROR 位于第 1 行:
ORA-32002: ??????????? SPFILE
可以猜到报错为不能创建正在使用的SPFILE。当然可也修改nls_language设置语言。
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> create spfile from pfile;
文件已创建。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF'
SQL> select status from v$datafile;
STATUS
-------
SYSTEM
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
已选择10行。
SQL> recover datafile 1;
完成介质恢复。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: 文件 2 需要介质恢复
ORA-01110: 数据文件 2: 'D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF'
SQL> recover database;
完成介质恢复。
注意这里是完全恢复,恢复成功了,说明应用日志完全了,不存在丢失。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-00314: 日志 2 (线程 1),预计序号 与 不匹配
ORA-00312: 联机日志 2 线程 1: 'D:\ORACLE\ORADATA\ORCL\REDO02.LOG'
ORA-00314说明Cause: The online log is corrupted or is an old version.既然是完全恢复的,我们可以resetlogs,不会造成丢失。
SQL> select * from v$Log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- ----------
1 1 320 104857600 1 NO INVALIDATED
47548236 06-7月 -10
2 1 318 104857600 1 NO INACTIVE
47366790 05-7月 -10
3 1 319 104857600 1 NO INACTIVE
47386928 05-7月 -10
SQL> recover database until cancel;
完成介质恢复。
SQL> alter database open resetlogs;
数据库已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22034023/viewspace-667413/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22034023/viewspace-667413/