1.还是用UE破坏所有的控制文件,并做checkpoint
2.连接数据库,将数据库启动到nomount状态
3.创建controlfile为noresetlog
4.recover数据库
5.归档所有日志
6.open数据库
7.添加temp表空间的数据文件
过程如下:
SQL> show parameter control
![](/Images/OutliningIndicators/None.gif)
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string D:\ORACLE\PRODUCT\10.2.0\ORADA
TA\SUREDD\CONTROL01.CTL, D:\OR
ACLE\PRODUCT\10.2.0\ORADATA\SU
REDD\CONTROL02.CTL, D:\ORACLE\
PRODUCT\10.2.0\ORADATA\SUREDD\
CONTROL03.CTL
======================此时破坏所有控制文件======================
SQL> alter system checkpoint;
alter system checkpoint
*
第 1 行出现错误:
ORA-00227: 控制文件中检测到损坏的块: (块 , # 块 )
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
SQL> select status from v$instance;
ERROR:
ORA-03114: 未连接到 ORALCE
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
SQL> conn / as sysdba
已连接到空闲例程。
SQL> startup nomount
ORACLE 例程已经启动。
![](/Images/OutliningIndicators/None.gif)
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 201329540 bytes
Database Buffers 402653184 bytes
Redo Buffers 7135232 bytes
SQL> edit
已写入 file afiedt.buf
![](/Images/OutliningIndicators/None.gif)
1 CREATE CONTROLFILE REUSE DATABASE "SUREDD" NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO01.LOG' SIZE 50M,
9 GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO02.LOG' SIZE 50M,
10 GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\REDO03.LOG' SIZE 50M
11 DATAFILE
12 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\SYSTEM01.DBF',
13 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\UNDOTBS01.DBF',
14 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\SYSAUX01.DBF',
15 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\USERS01.DBF',
16 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\EXAMPLE01.DBF',
17 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\DDTESTTBS02.DBF'
18* CHARACTER SET ZHS16GBK
SQL> /
![](/Images/OutliningIndicators/None.gif)
控制文件已创建。
![](/Images/OutliningIndicators/None.gif)
SQL> RECOVER DATABASE;
完成介质恢复。
SQL> ALTER SYSTEM ARCHIVE LOG ALL;
![](/Images/OutliningIndicators/None.gif)
系统已更改。
![](/Images/OutliningIndicators/None.gif)
SQL> ALTER DATABASE OPEN;
![](/Images/OutliningIndicators/None.gif)
数据库已更改。
![](/Images/OutliningIndicators/None.gif)
SQL> edit
已写入 file afiedt.buf
![](/Images/OutliningIndicators/None.gif)
1 ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\TEMP01.DBF'
2* SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M
SQL> /
![](/Images/OutliningIndicators/None.gif)
表空间已更改。
![](/Images/OutliningIndicators/None.gif)
SQL> select * from dd.t1;
![](/Images/OutliningIndicators/None.gif)
ID NAME
---------- ----------
1 test1
2 test2
![](/Images/OutliningIndicators/None.gif)
SQL>
posted on 2011-05-05 00:01
xrzp 阅读(262)
评论(0) 编辑 收藏 所属分类:
oracle-备份恢复