UNDO表空间在有热备没有事物交易的时候有数据块损坏的恢复
第一,先看一下确保undo表空间里没有交易的事物
SQL>select XID USN,XIDSLOT,XIDSQN fromv$transaction;
no rows selected
第二,确认当前所用的回退表空间
SQL>show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
第三查看表空间对应的数据文件
SQL>select tablespace_name,file_name from dba_data_Files
TABLESPACE_NAME FILE_NAME
------------------------------ ----------------------------------------
USERS /u01/tiger/oradata/orcl2/users01.dbf
SYSAUX /u01/tiger/oradata/orcl2/sysaux01.dbf
SYSTEM /u01/tiger/oradata/orcl2/system01.dbf
UNDOTBS2 /u01/tiger/oradata/orcl2/undotbs02.dbf
TIGER /u01/tiger/oradata/orcl2/tiger.dbf
第四查看数据文件的状态
SQL> selectfile#,name,status,recover,error from v$datafile_header;
FILE# NAME STATUS REC ERROR
---------- ---------------------------------------- ------- --- --------------------
1 /u01/tiger/oradata/orcl2/system01.dbf ONLINE NO
3 /u01/tiger/oradata/orcl2/sysaux01.dbf ONLINE NO
4 /u01/tiger/oradata/orcl2/users01.dbf ONLINE NO
5 /u01/tiger/oradata/orcl2/undotbs02.dbf ONLINE NO
7 /u01/tiger/oradata/orcl2/tiger.dbf ONLINE NO
第五,热备份undo表空间
SQL> alter tablespace undotbs2 beginbackup;
Tablespace altered.
SQL> !cp/u01/tiger/oradata/orcl2/undotbs02.dbf /bk
SQL> alter tablespace undotbs2 endbackup;
Tablespace altered.
如果在执行这条命令
SQL> alter tablespace undotbs2 beginbackup;
报错:
ERROR at line 1:
ORA-01123: cannot start online backup; media recovery notenabled
这说明了你的数据库不是归档模式,非归档的时候是不能进行热备的,只要把数据库改成归档模式即可。
第六,破坏数据块UNDO
QL> !cp /etc/passwd/u01/tiger/oradata/orcl2/undotbs02.dbf
SQL> selectfile#,name,status,recover,error from v$datafile_header;
FILE# NAME STATUS REC ERROR
---------- ---------------------------------------- ------- --- --------------------
1 /u01/tiger/oradata/orcl2/system01.dbf ONLINE NO
3 /u01/tiger/oradata/orcl2/sysaux01.dbf ONLINE NO
4 /u01/tiger/oradata/orcl2/users01.dbf ONLINE NO
5 /u01/tiger/oradata/orcl2/undotbs02.dbf ONLINE CANNOTREAD HEADER
7 /u01/tiger/oradata/orcl2/tiger.dbf ONLINE NO
第七,使UNDO文件离线会触发写文件操作就会报错系统将自动UNDOoffline
SQL> alter database datafile 5 offline;
alter database datafile 5 offline
*
ERROR at line 1:
ORA-00603: Oracle server session terminatedby fatal error
SQL> /
FILE# NAME STATUS REC ERROR
-------------------------------------------------- ------- --- --------------------
1 /u01/tiger/oradata/orcl2/system01.dbf ONLINE NO
3 /u01/tiger/oradata/orcl2/sysaux01.dbf ONLINE NO
4 /u01/tiger/oradata/orcl2/users01.dbf ONLINE NO
5 /u01/tiger/oradata/orcl2/undotbs02.dbf OFFLINE WRONG FILE TYPE
7 /u01/tiger/oradata/orcl2/tiger.dbf ONLINE NO
第八,恢复
SQL> !cp /bk/undotbs02.dbf/u01/tiger/oradata/orcl2/
SQL> selectfile#,name,status,recover,error from v$datafile_header;
FILE# NAME STATUS REC ERROR
-------------------------------------------------- ------- --- --------------------
1 /u01/tiger/oradata/orcl2/system01.dbf ONLINE NO
3 /u01/tiger/oradata/orcl2/sysaux01.dbf ONLINE NO
4 /u01/tiger/oradata/orcl2/users01.dbf ONLINE NO
5 /u01/tiger/oradata/orcl2/undotbs02.dbf OFFLINEYES
7 /u01/tiger/oradata/orcl2/tiger.dbf ONLINE NO
正确识别了文件头但是需要恢复
SQL> recover datafile 5;
ORA-00603: ORACLE server session terminatedby fatal error
SQL> conn /as sysdba
Connected.
SQL> col error for a20
SQL> selectfile#,name,status,recover,error from v$datafile_header;
FILE# NAME STATUS REC ERROR
-------------------------------------------------- ------- --- --------------------
1 /u01/tiger/oradata/orcl2/system01.dbf ONLINE NO
3 /u01/tiger/oradata/orcl2/sysaux01.dbf ONLINE NO
4 /u01/tiger/oradata/orcl2/users01.dbf ONLINE NO
5 /u01/tiger/oradata/orcl2/undotbs02.dbf OFFLINE NO
7 /u01/tiger/oradata/orcl2/tiger.dbf ONLINE NO
使得5号数据文件上线
SQL> alter database datafile 5 online;
Database altered.
SQL> selectfile#,name,status,recover,error from v$datafile_header;
FILE# NAME STATUS REC ERROR
-------------------------------------------------- ------- --- --------------------
1 /u01/tiger/oradata/orcl2/system01.dbf ONLINE NO
3 /u01/tiger/oradata/orcl2/sysaux01.dbf ONLINE NO
4 /u01/tiger/oradata/orcl2/users01.dbf ONLINE NO
5 /u01/tiger/oradata/orcl2/undotbs02.dbf ONLINE NO
7 /u01/tiger/oradata/orcl2/tiger.dbf ONLINE NO
- 大小: 47.2 KB
分享到:
相关推荐
### Oracle收缩Undo表空间 #### 一、概述 在Oracle数据库管理中,有时需要对Undo表空间进行管理和优化。特别是当Undo表空间因为历史数据积累而变得过大时,可能会影响数据库性能。本文将详细介绍如何通过新建一个...
标题和描述均提到了“undo表空间恢复”,这在Oracle数据库管理中是一个关键主题,尤其对于数据恢复和事务处理有着重要影响。以下是对这一知识点的深入解析: ### 一、Undo表空间概述 Undo表空间是Oracle数据库中...
### Oracle 9i UNDO 表空间数据文件丢失恢复知识点详解 #### 一、概述 在Oracle数据库管理中,UNDO表空间是非常重要的组成部分之一,主要用于存储事务处理期间的回滚信息。当UNDO表空间的数据文件丢失时,可能会...
接着,当日志错误排除后,发现UNDO表空间仍在增长,通过v$transaction视图发现SMON进程(System Monitor进程)在长时间执行事务,消耗大量UNDO空间。尝试通过ALTER SESSION命令结束SMON会话无效,且考虑到数据库安全...
然而,在执行热备时可能会遇到各种情况,比如undo表空间未被备份,这时候就需要采取特殊的恢复方法来恢复数据的一致性和完整性。 #### 热备原理 热备主要依赖于重做日志(Redo Log)记录的事务信息来进行数据恢复...
本文档提供了 Oracle 热备份恢复的手册,包括Undo 表空间恢复、非系统数据文件恢复、Oracle 热备份恢复过程、系统崩溃恢复、Undo 表空间和 Rollback 段、数据库初始化参数、数据库恢复命令等知识点。
- 如果需要取消的是一个重要的表空间,如UNDO表空间,建议先创建一个新的表空间,并将原有表空间中的数据迁移到新表空间中。 - 创建新表空间时,明确指定最大大小,不启用自动扩展功能。 - 将旧表空间中的数据...
Oracle 表空间时点恢复(TSPITR)是一种高级的数据库恢复技术,它允许管理员以表空间为单位,恢复到过去的某个特定时间点。这种恢复方式结合了RMAN(恢复管理器)和DataPump的功能,使得在不完全恢复过程中能够精确...
创建UNDO表空间时,需注意在数据库运行状态下,某些时刻可能仅能使用一个UNDO表空间。若需切换至新建的UNDO表空间,需执行系统级设置: ```sql CREATE UNDOTABLESPACE UNDOTBS02 DATAFILE '/oracle/oradata/db/...
### Oracle备份恢复闪回技术实战 #### 一、Oracle闪回技术概述 Oracle闪回技术是一种先进的数据恢复机制,能够帮助数据库管理员迅速恢复因逻辑错误而导致的数据损失。它不同于传统的备份与恢复方法,无需依赖备份...
在本文档中,我们介绍了删除 undo 表空间的步骤,包括选择 undo 表空间、删除 undo 表空间、重命名 undo 表空间等。 本文档为企业提供了一个 Oracle RAC 环境数据备份与恢复实践的案例,帮助企业更好地保护和恢复...
如果Oracle在运行中很不幸遇到undo损坏,当然最好的方法是完全恢复,不过如果没有备份,可以采用一种非常规的手段(利用Oracle的隐藏参数),如果此时undo包含未提交的事务,会造成一点点的数据丢失(一般都是可忍受...
- **从Recycle Bin中恢复表**: - 可以使用`FLASHBACK TABLE table_name TO BEFORE DROP;`命令将表恢复到删除之前的状态。 #### 三、Undo Retention Undo Retention是另一个重要的Oracle特性,用于管理undo数据的...
5. Undo表空间(Undo Tablespace):Oracle 9i之后引入,也用于存储回滚信息,但提供了更好的性能和管理功能。 在给定的压缩包文件中,"把atf_ygj的数据移动到ygj_data表空间中"的操作,通常涉及以下步骤: 1. ...
3. UNDO_MANAGEMENT参数:此参数控制是否自动管理undo空间。设置为"AUTO"表示使用自动管理的undo表空间,Oracle会自动分配和管理undo段。如果设置为"MANUAL",则需要手动管理undo表空间。 4. AUTOEXTEND选项:当...
控制用户所占用的表空间分配,通过将不同表的数据、分区表中不同分区的数据放置到不同的表空间(或其中的数据文件)中,可以提高数据库的 I/O 性能,并有利于进行部分备份和恢复等管理工作。 Oracle 表空间可以...
Oracle 表空间是 Oracle 数据库中的一种逻辑存储结构,它决定数据库实体的空间分配、设置数据库用户的空间份额、控制数据库部分数据的可用性、分布数据于不同的设备之间以改善性能和备份和恢复数据等。 Oracle 可以...
综上所述,Oracle 11g 的备份与恢复策略涉及到多个层面,包括但不限于故障类型、备份恢复计划、备份类型以及具体的实现方法等。为了确保系统的高可用性和数据的安全性,DBA需要结合实际需求和业务特点,综合考虑并...