试验之——丢失了所有的controlfile 和datafile情况下,完全恢复的过程(原创)
来源:互联网 发布:then.js 使用示例 编辑:程序博客网 时间:2024/05/22 06:14
前提条件:存在文件丢失之前的备份,包括controlfile的备份
******************************************************************************
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Disabled
Archive destination F:/oracle/ora92/RDBMS
Oldest online log sequence 0
Next log sequence to archive 1
Current log sequence 1
SQL> shutdown immediate
ORA-01109: database not open
删除全部三个控制文件以及数据文件backup.dbf,模拟损坏情况
这时startup ,肯定会报错说找不到controlfile;
这时把备份好的controlfile 和backup.dbf文件restore
STARTUP MOUNT;
成功;
ALTER DATABASE OPEN;
报错,说控制文件太老,不行的
SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
SQL> alter database backup controlfile to trace;
Database altered.(备份出当前数据库结构)
到udump目录下找出oracas_ora_3096.trc文件,对其中的内容进行编辑,写出重新生成控制文件的脚步
CREATE CONTROLFILE REUSE DATABASE "ORACAS" NORESETLOGS ARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 113
LOGFILE
GROUP 1 'F:/ORACLE/ORADATA/ORACAS/REDO01.LOG' SIZE 100M,
GROUP 2 'F:/ORACLE/ORADATA/ORACAS/REDO02.LOG' SIZE 100M,
GROUP 3 'F:/ORACLE/ORADATA/ORACAS/REDO03.LOG' SIZE 100M
DATAFILE
'F:/ORACLE/ORADATA/ORACAS/SYSTEM01.DBF',
'F:/ORACLE/ORADATA/ORACAS/UNDOTBS01.DBF',
'F:/ORACLE/ORADATA/ORACAS/DRSYS01.DBF',
'F:/ORACLE/ORADATA/ORACAS/EXAMPLE01.DBF',
'F:/ORACLE/ORADATA/ORACAS/INDX01.DBF',
'F:/ORACLE/ORADATA/ORACAS/ODM01.DBF',
'F:/ORACLE/ORADATA/ORACAS/TOOLS01.DBF',
'F:/ORACLE/ORADATA/ORACAS/USERS01.DBF',
'F:/ORACLE/ORADATA/ORACAS/XDB01.DBF',
'F:/ORACLE/ORADATA/ORACAS/OEM_REPOSITORY.DBF',
'F:/ORACLE/ORADATA/ORACAS/BACKUP.DBF'
CHARACTER SET ZHS16GBK
;
Control file created.
用新的控制文件启动数据库
SQL> alter database open
2 ;
alter database open
*
ERROR at line 1:
ORA-01113: file 11 needs media recovery
ORA-01110: data file 11: 'F:/ORACLE/ORADATA/ORACAS/BACKUP.DBF'
SQL> recover database;
Media recovery complete.
SQL> alter database open;
Database altered.
SQL> select * from backup;
ID
----------
1
2
3
4
5
到此,已经全部恢复成功^_^
小节:
1、restore all the corrupt contrilfile and datafile;
2、starup mount;
3、alter database backup controlfile to trace;
4、recreate the new controlfiles;
5、reover database;
5、alter database open;
这个过程是一个complete recovery
从udump目录下的oracas_ora_2764.trc文件中编辑出下面需要的控制文件创建教本
******************************************************************************
CREATE CONTROLFILE REUSE DATABASE "ORACAS" NORESETLOGS ARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 113
LOGFILE
GROUP 1 'F:/ORACLE/ORADATA/ORACAS/REDO01.LOG' SIZE 100M,
GROUP 2 'F:/ORACLE/ORADATA/ORACAS/REDO02.LOG' SIZE 100M,
GROUP 3 'F:/ORACLE/ORADATA/ORACAS/REDO03.LOG' SIZE 100M
DATAFILE
'F:/ORACLE/ORADATA/ORACAS/SYSTEM01.DBF',
'F:/ORACLE/ORADATA/ORACAS/UNDOTBS01.DBF',
'F:/ORACLE/ORADATA/ORACAS/DRSYS01.DBF',
'F:/ORACLE/ORADATA/ORACAS/EXAMPLE01.DBF',
'F:/ORACLE/ORADATA/ORACAS/INDX01.DBF',
'F:/ORACLE/ORADATA/ORACAS/ODM01.DBF',
'F:/ORACLE/ORADATA/ORACAS/TOOLS01.DBF',
'F:/ORACLE/ORADATA/ORACAS/USERS01.DBF',
'F:/ORACLE/ORADATA/ORACAS/XDB01.DBF',
'F:/ORACLE/ORADATA/ORACAS/OEM_REPOSITORY.DBF',
'F:/ORACLE/ORADATA/ORACAS/BACKUP.DBF'
CHARACTER SET ZHS16GBK
;
- 试验之——丢失了所有的controlfile 和datafile情况下,完全恢复的过程(原创)
- 试验之——冷备份或者是热备份,shutdown immediate 后可以恢复所有的datafile(原创)
- archivelog 下不需要热备也能完全恢复损坏或者被删除的datafile(原创)
- archivelog下不需要热备也能完全恢复损坏或者被删除的datafile(原创)
- oracle跳过丢失的归档恢复datafile
- oracle学习笔记之controlfile丢失的情况使数据库启动至open状态
- 试验之——丢失数据文件,全部控制文件,全部redo log file(原创)
- controlfile 的备份恢复
- 手工完全恢复(所有数据文件丢失)
- 使用alter tablespace create datafile恢复丢失的数据文件
- archivelog 下不需要热备也能完全恢复损坏或者被删除的datafile
- controlfile 丢失恢复
- ARCHIVELOG模式下用户管理的完全恢复—在没有数据文件备份的情况下恢复数据文件
- RMAN恢复案例——丢失所有的数据文件
- rman恢复案例——丢失所有的数据文件
- ARCHIVELOG模式下用户管理的完全恢复(4)——在没有数据文件备份的情况下恢复数据文件!
- 关于如何在rman没有catalog的情况下恢复用Rman 备份到磁带上的controlfile
- SQL Server 2005 在只有MDF文件的情况下恢复(丢失日志文件)
- 生活?
- 2004年11月4日
- Eclipse 平台入门【转】
- 类型自动转换害死人。。。唉
- [公告]“涕淌居”用户手册
- 试验之——丢失了所有的controlfile 和datafile情况下,完全恢复的过程(原创)
- ASP.NET 配置节架构
- Linux编译器GCC的使用
- 职业道德好重要
- .NET中获取电脑名,IP地址,当前用户
- 每日学英语之041104
- JavaBean
- JavaScript[对象.属性]集锦
- 明白了这十个故事,你也就参悟了人生