归档模式下-丢失关键数据文件
来源:互联网 发布:dior fix it 编辑:程序博客网 时间:2024/06/08 10:03
保是归档模式
检查数据状态
SQL> conn / as sysdBA
Connected.
SQL> select current_Scn from v$database;
CURRENT_SCN
-----------
2756129
SQL> @/home/oracle/q_log
GROUP# SEQUENCE# FILENAME FILESTA GROUPSTAT ARC
------ --------- ---------------------------------------- ------- ---------- ---
1 4 /u01/app/oracle/oradata/orcl/redo01.log INACTIVE YES
2 5 /u01/app/oracle/oradata/orcl/redo02.log CURRENT NO
3 3 /u01/app/oracle/oradata/orcl/redo03.log INACTIVE YES
SQL> select name,checkpoint_change# from v$datafile;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2754635
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2754635
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2754635
/u01/app/oracle/oradata/orcl/users01.dbf 2755118
/u01/app/oracle/oradata/orcl/example01.dbf 2754635
SQL> select name,checkpoint_change# from v$datafile_header;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2754635
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2754635
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2754635
/u01/app/oracle/oradata/orcl/users01.dbf 2755118
/u01/app/oracle/oradata/orcl/example01.dbf 2754635
2.模拟故障,发现报错
SQL> !rm -rf /u01/app/oracle/oradata/orcl/undotbs01.dbf
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-01116: error in opening database file 3
ORA-01110: data file 3: '/u01/app/oracle/oradata/orcl/undotbs01.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
3.执行恢复
停止数据并重启到MOUNT状态
SQL> conn / as sysdba
Connected.
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 548216832 bytes
Fixed Size 1337804 bytes
Variable Size 377488948 bytes
Database Buffers 163577856 bytes
Redo Buffers 5812224 bytes
Database mounted.
使用备份的文件,把丢失的UNDO文件复制回来
[oracle@oel orcl]$ cp /u03/hot_bak/undotbs01.dbf /u01/app/oracle/oradata/orcl/
检查一下控制文件及数据文件头中,检查点的信息,发现undotbs01.dbf这个文件的文件头中记录的检查信息比其它文件旧
需要恢复
SQL> select name,checkpoint_change# from v$datafile;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2754635
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2754635
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2754635
/u01/app/oracle/oradata/orcl/users01.dbf 2755118
/u01/app/oracle/oradata/orcl/example01.dbf 2754635
SQL> select name,checkpoint_change# from v$datafile_header;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2754635
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2754635
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2754456
/u01/app/oracle/oradata/orcl/users01.dbf 2755118
/u01/app/oracle/oradata/orcl/example01.dbf 2754635
单独对该文件进行恢复
SQL> recover datafile 3;
ORA-00279: change 2754456 generated at 05/20/2016 09:40:33 needed for thread 1
ORA-00289: suggestion : /u02/arch/1_1_912326240.dbf
ORA-00280: change 2754456 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 2754614 generated at 05/20/2016 09:43:58 needed for thread 1
ORA-00289: suggestion : /u02/arch/1_2_912326240.dbf
ORA-00280: change 2754614 for thread 1 is in sequence #2
Log applied.
Media recovery complete.
打开数据库
SQL> alter database open;
Database altered.
再次检查数据库状态
SQL> select name,checkpoint_change# from v$datafile;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2776233
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2776233
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2776233
/u01/app/oracle/oradata/orcl/users01.dbf 2776233
/u01/app/oracle/oradata/orcl/example01.dbf 2776233
SQL> select name,checkpoint_change# from v$datafile_header;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2776233
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2776233
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2776233
/u01/app/oracle/oradata/orcl/users01.dbf 2776233
/u01/app/oracle/oradata/orcl/example01.dbf 2776233
检查数据状态
SQL> conn / as sysdBA
Connected.
SQL> select current_Scn from v$database;
CURRENT_SCN
-----------
2756129
SQL> @/home/oracle/q_log
GROUP# SEQUENCE# FILENAME FILESTA GROUPSTAT ARC
------ --------- ---------------------------------------- ------- ---------- ---
1 4 /u01/app/oracle/oradata/orcl/redo01.log INACTIVE YES
2 5 /u01/app/oracle/oradata/orcl/redo02.log CURRENT NO
3 3 /u01/app/oracle/oradata/orcl/redo03.log INACTIVE YES
SQL> select name,checkpoint_change# from v$datafile;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2754635
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2754635
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2754635
/u01/app/oracle/oradata/orcl/users01.dbf 2755118
/u01/app/oracle/oradata/orcl/example01.dbf 2754635
SQL> select name,checkpoint_change# from v$datafile_header;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2754635
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2754635
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2754635
/u01/app/oracle/oradata/orcl/users01.dbf 2755118
/u01/app/oracle/oradata/orcl/example01.dbf 2754635
2.模拟故障,发现报错
SQL> !rm -rf /u01/app/oracle/oradata/orcl/undotbs01.dbf
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-01116: error in opening database file 3
ORA-01110: data file 3: '/u01/app/oracle/oradata/orcl/undotbs01.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
3.执行恢复
停止数据并重启到MOUNT状态
SQL> conn / as sysdba
Connected.
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 548216832 bytes
Fixed Size 1337804 bytes
Variable Size 377488948 bytes
Database Buffers 163577856 bytes
Redo Buffers 5812224 bytes
Database mounted.
使用备份的文件,把丢失的UNDO文件复制回来
[oracle@oel orcl]$ cp /u03/hot_bak/undotbs01.dbf /u01/app/oracle/oradata/orcl/
检查一下控制文件及数据文件头中,检查点的信息,发现undotbs01.dbf这个文件的文件头中记录的检查信息比其它文件旧
需要恢复
SQL> select name,checkpoint_change# from v$datafile;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2754635
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2754635
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2754635
/u01/app/oracle/oradata/orcl/users01.dbf 2755118
/u01/app/oracle/oradata/orcl/example01.dbf 2754635
SQL> select name,checkpoint_change# from v$datafile_header;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2754635
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2754635
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2754456
/u01/app/oracle/oradata/orcl/users01.dbf 2755118
/u01/app/oracle/oradata/orcl/example01.dbf 2754635
单独对该文件进行恢复
SQL> recover datafile 3;
ORA-00279: change 2754456 generated at 05/20/2016 09:40:33 needed for thread 1
ORA-00289: suggestion : /u02/arch/1_1_912326240.dbf
ORA-00280: change 2754456 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 2754614 generated at 05/20/2016 09:43:58 needed for thread 1
ORA-00289: suggestion : /u02/arch/1_2_912326240.dbf
ORA-00280: change 2754614 for thread 1 is in sequence #2
Log applied.
Media recovery complete.
打开数据库
SQL> alter database open;
Database altered.
再次检查数据库状态
SQL> select name,checkpoint_change# from v$datafile;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2776233
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2776233
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2776233
/u01/app/oracle/oradata/orcl/users01.dbf 2776233
/u01/app/oracle/oradata/orcl/example01.dbf 2776233
SQL> select name,checkpoint_change# from v$datafile_header;
NAME CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/u01/app/oracle/oradata/orcl/system01.dbf 2776233
/u01/app/oracle/oradata/orcl/sysaux01.dbf 2776233
/u01/app/oracle/oradata/orcl/undotbs01.dbf 2776233
/u01/app/oracle/oradata/orcl/users01.dbf 2776233
/u01/app/oracle/oradata/orcl/example01.dbf 2776233
0 0
- 归档模式下-丢失非关键数据文件
- 归档模式下-丢失关键数据文件
- 在归档模式下有备份,丢失数据文件的恢复
- (归档模式)丢失非关键文件恢复
- Oracle归档模式有备份,丢失数据文件的恢复
- Oracle归档模式无备份,丢失数据文件的恢复
- 归档模式五备份,丢失数据文件的恢…
- 非归档模式下恢复数据文件浅析
- 非归档模式下数据文件移动方法
- 归档与非归档模式下更改数据文件位置
- 非归档模式下,redo丢失案例
- 归档模式下丢失未归档的redolog处理
- 非归档模式下,数据文件误删除解决
- 在非归档模式下如何更改数据文件位置
- 归档模式下恢复被删除的数据文件
- 在非归档模式下如何更改数据文件位置
- Oracle恢复(三)------归档模式下恢复数据文件
- RMAN之非归档日志模式下的数据文件恢复
- 垂直方向的TextView的滚动效果
- 面试的角度诠释Java工程师(二)
- Zurmo(十一)Relation之n:n
- 第四讲项目2-2 求r1与r2并联的阻值
- __attribute__的简简简单理解
- 归档模式下-丢失关键数据文件
- CS1041号错误是什么
- A. Mike and Fax
- Python 函数定义以及参数传递
- DMA Coherent Mapping
- 华为机试在线训练-牛客网(36)火车进站
- 向函数中传递指针和传递指针的引用的区别
- js中几种实用的跨域方法原理详解
- PAT考试大纲