Oracle恢复实验(四):所有控制文件和数据文件丢失。
来源:互联网 发布:php sqlsrv扩展 编辑:程序博客网 时间:2024/05/12 17:00
环境:Oracle10g、Red Hat 4,Oracle运行在归档模式。
场景:所有控制文件和数据文件丢失。
具体步骤:
1、主机断电,导致数据文件和所有控制文件全部丢失
SQL> !rm -f /home/oracle/oracle/product/oradata/orcl/*.ctl
SQL> !rm -f /home/oracle/oracle/product/oradata/orcl/*.dbf
SQL> !ls /home/oracle/oracle/product/oradata/orcl
redo01.log redo02.log redo03.log
SQL> shutdown abort
ORACLE instance shut down.
2、尝试打开数据库
SQL> startup
ORACLE instance started.
Total System Global Area 130023424 bytes
Fixed Size 1218100 bytes
Variable Size 62917068 bytes
Database Buffers 62914560 bytes
Redo Buffers 2973696 bytes
ORA-00205: error in identifying control file, check alert log for more info
提示找不到控制文件
3、拷贝数据文件和控制文件
SQL> !cp /disk2/oracle/coldbak/*.ctl /home/oracle/oracle/product/oradata/orcl/
SQL> !cp /disk2/oracle/coldbak/*.dbf /home/oracle/oracle/product/oradata/orcl/
4、尝试打开数据库
SQL> startup
ORACLE instance started.
Total System Global Area 130023424 bytes
Fixed Size 1218100 bytes
Variable Size 62917068 bytes
Database Buffers 62914560 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-00338: log 2 of thread 1 is more recent than control file
ORA-00312: online log 2 thread 1:
'/home/oracle/oracle/product/oradata/orcl/redo02.log'
提示控制文件比较旧,记录的日志序号比redo日志的小。
5、获取重建控制文件的脚本
SQL> alter database backup controlfile to trace;
Database altered.
从udump目录中找到脚本。
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/home/oracle/oracle/product/oradata/orcl/redo01.log' SIZE 50M,
GROUP 2 '/home/oracle/oracle/product/oradata/orcl/redo02.log' SIZE 50M,
GROUP 3 '/home/oracle/oracle/product/oradata/orcl/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/home/oracle/oracle/product/oradata/orcl/system01.dbf',
'/home/oracle/oracle/product/oradata/orcl/undotbs01.dbf',
'/home/oracle/oracle/product/oradata/orcl/sysaux01.dbf',
'/home/oracle/oracle/product/oradata/orcl/users01.dbf'
CHARACTER SET AL32UTF8
;
6、重启数据库到nomount状态、执行重建控制文件脚本
SQL> shutdown immediate
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 130023424 bytes
Fixed Size 1218100 bytes
Variable Size 62917068 bytes
Database Buffers 62914560 bytes
Redo Buffers 2973696 bytes
7、尝试打开数据库
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/home/oracle/oracle/product/oradata/orcl/system01.dbf'
8、介质恢复
SQL> recover database;
Media recovery complete.
9、打开数据库
SQL> alter database open;
Database altered.
SQL> conn scott/oracle
Connected.
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
RECOVER_TEST TABLE
RECOVER_TEST2 TABLE
6 rows selected.
SQL> select count(*) from recover_test2;
COUNT(*)
----------
28672
- Oracle恢复实验(四):所有控制文件和数据文件丢失。
- Oracle 丢失数据文件和控制文件的恢复案例
- Oracle 利用dbms_backup_restore恢复测试(数据文件和控制文件全部丢失了)
- oracle Rman 实验(丢失控制文件的恢复)
- 手工完全恢复(所有数据文件丢失)
- 丢失控制文件和数据文件,但是有冷备份和全部归档文件的恢复
- Oracle恢复实验一:使用添加数据文件之前的控制文件
- oracle控制文件(controlfile)丢失恢复方法列举
- ORACLE单个控制文件丢失的恢复
- Oracle - 使用RMAN的备份及恢复一例-丢失所有控制文件
- 丢失所有控制文件,还原所有数据文件,不还原控制文件,recover database until cancel
- 同时丢失参数文件、控制文件及redo log file的不完全恢复(有数据文件的热备和归档)
- 丢失全部数据文件,控制文件,redo log file(9201)——处理方法四
- Oracle恢复实验(三):恢复未备份的数据文件。
- 丢失控制文件恢复
- 控制文件丢失,但有二进制备份,数据文件丢失,没有备份(实验系列)
- Oracle恢复实验(四)
- Oracle 重建控制文件(在丢失控制文件的情况下,如何恢复数据库)
- 注册表学习——加快系统的开关机时间
- 崛起中的九大HTML5开发工具
- ORACLE exp/imp总结
- VS2005的Command Window 调试命令的总结
- 【再谈阶乘的近似解】HDU 1018——Big Number
- Oracle恢复实验(四):所有控制文件和数据文件丢失。
- 国内HTML5前端开发框架汇总
- 如何成为一名优秀的web前端工程师(前端攻城师)?
- vim
- CF 272 A. Dima and Friends
- 二、cocos2d文档的使用
- java泛型中的extends和super
- 《From C++ to Objective-C》笔记
- 软件随想录(local.joelonsoftware.com/wiki)-2001年07月31日 绝不妥协的抓虫行动 - Hard-Assed Bug Fixin'