因误操作,将控制文件删除了,三个全删了,但是还好,有备份的脚本文件。
现用脚本文件恢复控制文件,完成数据库的恢复。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 85006980 bytes
Fixed Size 453252 bytes
Variable Size 58720256 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
ORA-00205: ?????????????????????
恢复控制文件,首先要关闭数据库:
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
恢复操作如下:
SQL> ed
已写入文件 afiedt.buf
1 create controlfile reuse database ora92 noresetlogs archivelog
2 logfile group 1 'D:/ORACLE/ORADATA/ORA92/REDO01.LOG' SIZE 10M,
3 GROUP 2 'D:/ORACLE/ORADATA/ORA92/REDO02.LOG' SIZE 10M,
4 GROUP 3 'D:/ORACLE/ORADATA/ORA92/REDO03.LOG' SIZE 10M
5 datafile
6 'D:/ORACLE/ORADATA/ORA92/SYSTEM01.DBF',
7 'D:/ORACLE/ORADATA/ORA92/UNDOTBS01.DBF',
8 'D:/ORACLE/ORADATA/ORA92/INDX01.DBF',
9 'D:/ORACLE/ORADATA/ORA92/TOOLS01.DBF',
10 'D:/ORACLE/ORADATA/ORA92/USERS01.DBF'
11* character set zhs16gbk
SQL> /
控制文件已创建
最后,要所有的日志归档。
SQL> alter database mount
2 ;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> alter system archive log all;
系统已更改。
SQL> archive log list;
数据库日志模式 存档模式
自动存档 禁用
存档终点 d:/oracle/ora92/RDBMS
最早的概要日志序列 23
下一个存档日志序列 25
当前日志序列 25
SQL> show parameter archive
如果是9I, 一定要
SQL> archive log start;
已处理的语句。
做完成后,一定要做一次全备。