本人对oralce备份恢复还在学习中, 此贴为练习总结:
1. 首先 关闭数据库库 shutdown immediate
2. 拷贝备份三个控制文件 CONTROL01.CTL, CONTROL02.CTL, CONTROL03.CTL
3. 删除CONTROL02.CTL
4. 装载数据库 startup mount, 出现ORA-00205:?????????,?????,???????错误
怎么会有乱码?
5. 退出sqlplus, 设置编码, set nls_lang=american_america.zhs16gbk
6. sqlplus 连入, startup mount, 这次没有乱码了,错误提示:ORA-00205:error in identifying control file, check alert log for more info. 在这里,很明显,就是control文件缺失了.
7. 拷贝原来的控制文件备份CONTROL02.CTL到数据库的ORADATA目录下
8. 如果直接再次startup mount, 会出现ORA-01081: cannot start already-running ORACLE - shut it down first.
9. 既然提示了,就关掉它. shutdown immediate
10. startup mount 结果出现ORA-00214: control file 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL' version 1145 inconsistent with file ''C:\ORACLE\PRODUCT\10.2.0ORADATA\ORCL\CONTROL02.CTL' version 1136, 这表示文件CONTROL02.CTL'版本比CONTROL01.CTL'版本低, 二者不同导致的.
11. a) 可以以CONTROL01.CTL重建, ALTER SYSTEM SET CONTROL_FILES='C:\ORACLE\PRODUCT\10.2.0ORADATA\ORCL\CONTROL01.CTL' SCOPE=SPFILE;
b) 也可以备份所有文件,根据Step10 提示把版本低的删掉, 复制版本高的,然后粘贴重命名也可以
12. shutdown immediate
13. startup mount, 提示Database mounted,表示装载成功
14. ALTER DATABASE OPEN; 出现Database altered, 成功.
詹应乐