`

UNDO表空间下的数据文件被误删除后的处理方法

阅读更多


UNDO表空间下的数据文件被误删除后的处理方法:

操作前备份数据库,以避免更大的损失。
思路:
1、把误删除的数据文件offline
2、正常打开数据库后创建新的UNDO表空间及数据文件
3、修改相应参数指向新的UNDO表空间
4、重新启动数据库验证
5、删除旧的UNDO表空间。


以下为我在虚拟机上模拟的场景:在数据库打开的状态下,用操作系统命令将undo表空间对应的唯一数据文件改名,以模拟数据文件被删除的情况。
关闭数据库
SQL> shutdown immediate;
Database closed.
Database dismounted.
Oracle instance shut down.
启动数据库,报错,提示找不到undo表空间下的数据文件/oradata/orcl/undotbs01.dbf
SQL> startup
ORACLE instance started.


Total System Global Area  536870912 bytes
Fixed Size                    2097624 bytes
Variable Size                  150998568 bytes
Database Buffers          377487360 bytes
Redo Buffers                    6287360 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
ORA-01110: data file 2: '/oradata/orcl/undotbs01.dbf'


将该数据文件offline
SQL> alter database datafile 2 offline
2  ;


Database altered.


正常打开数据库
SQL> alter database open;


Database altered.


显示UNDO相关的参数
SQL> show parameter undo


NAME                                    TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string        AUTO
undo_retention                            integer        900
undo_tablespace                      string        UNDOTBS1
创建新的UNDO表空间
SQL> create undo tablespace undotbs2 datafile '/oradata/orcl/undotbs02.dbf' size 320M;


Tablespace created.


修改UNDO_TABLESPACE参数,指向新创建的UNDO表空间
SQL> alter system set undo_tablespace='undotbs2' scope=spfile;


System altered.
重新启动数据库
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.


SQL> startup 
ORACLE instance started.


Total System Global Area  536870912 bytes
Fixed Size                    2097624 bytes
Variable Size                  150998568 bytes
Database Buffers          377487360 bytes
Redo Buffers                    6287360 bytes
Database mounted.
Database opened.


SQL> select * from v$tablespace;


      TS# NAME                          INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
        0 SYSTEM                          YES NO  YES
        1 UNDOTBS1                          YES NO  YES
        2 SYSAUX                          YES NO  YES
        3 TEMP                          NO  NO  YES
        4 USERS                          YES NO  YES
        5 HRTBS                          YES NO  YES
        6 DEMO                          YES NO  YES
        8 UNDOTBS2                          YES NO  YES


8 rows selected.
确认UNDO_TABLESPACE参数已修改
SQL> show parameter undo


NAME                                    TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string        AUTO
undo_retention                            integer        900
undo_tablespace                      string        undotbs2

删除旧的UNDO表空间
SQL> drop tablespace undotbs1;

Tablespace dropped.
  • 大小: 25.8 KB
分享到:
评论

相关推荐

    Oracle 表空间时点恢复(TSPITR)

    时点恢复则意味着可以选择将表空间恢复到一个特定的时间点,这通常用于处理误操作、错误的数据输入或需要撤销的数据定义语言(DDL)操作,如误删表或改变表结构。与全库级别的闪回相比,TSPITR对数据库的影响更小,...

    Oracle误删的重要数据恢复指导

    当数据被误删除后,我们可以借助这些工具来尝试恢复。 1. **闪回查询(Flashback Query)**:如果数据库开启了闪回功能,可以通过闪回查询回溯到删除操作之前的状态,查看并恢复数据。`FLASHBACK TABLE table_name ...

    Linux系统rm 命令误删除恢复.rar

    本资料包"Linux系统rm命令误删除恢复.rar"主要关注的是如何在误用`rm`命令后尽可能地恢复删除的数据。 首先,理解`rm`命令的基本用法是防止误操作的关键。`rm`命令的基本格式是`rm [选项] 文件或目录`,常用的选项...

    oracle恢复数据的方法

    - 对于误删除或更新的数据,可以使用撤销(UNDO)表空间和闪回交易(Flashback Transaction)进行逻辑恢复。 9. **媒体恢复**: - 当物理介质(如磁盘)损坏时,需使用备份和归档日志进行媒体恢复。RMAN的MEDIA ...

    广药oracle选择题复习.doc

    Oracle数据库管理系统是企业级的关系型数据库系统,广泛应用于各种业务场景。...这些知识点涵盖了Oracle数据库的表空间管理、数据文件操作、重做日志管理、撤销管理等多个方面,对于理解和操作Oracle数据库至关重要。

    Oracle 备份恢复闪回技术实战

    这项技术基于undo表空间中的undo数据,因此只有已提交的事务才会被记录并用于闪回查询。 **示例步骤**: 1. **创建测试表**: ```sql create table test(id int,name char(10)); ``` 2. **插入数据**: ```...

    ora-1555 相关_auto undo management.pdf

    - **数据恢复**:当遇到误删除或误更新数据的情况时,如果及时发现并且撤销数据还在撤销段中,则可以使用闪回查询恢复这部分数据。 - **数据分析**:在某些情况下,可能需要分析数据的历史变化情况,例如跟踪订单的...

    oracle flashback闪回技术

    通常,当表被误删除后,如果没有启用Recyclebin或者表已被回收站清理,可能需要依赖RMAN(Recovery Manager)或者数据泵导出导入的方式来恢复。但如果表仍在回收站中,可以使用以下步骤: 1. 查看回收站中的表: `...

    oracle命令整理.7z

    这为用户提供了一种方法来回滚事务,甚至在事务提交后也可以通过查询UNDO表空间来查看数据的历史状态。例如,如果你误删除了一条记录,你可以使用`FLASHBACK TABLE`命令来恢复。 ```sql FLASHBACK TABLE table_...

    Oracle Flashback在医院数据恢复中的应用.pdf

    Oracle Flashback技术的出现解决了这一问题,尤其对于误删除或逻辑错误导致的数据丢失,它可以快速恢复到错误发生之前的状态。 Oracle Flashback主要包括三种类型:Flashback Query、Flashback Transaction和...

    实验2Oracle数据库物理存储结构管理.doc

    1. 添加数据文件:`users02.dbf` 和 `temp02.dbf` 分别被添加到 `USERS` 和 `TEMP` 表空间中,用于存储用户数据和临时工作数据。这通过SQL命令如 `ALTER TABLESPACE ADD DATAFILE` 完成。 2. 添加自动扩展数据文件...

    Oracle闪回特性及应用.pdf

    2. **闪回删除**:用于恢复被误删除的对象,如表、索引等,使得数据库能够撤销最近的DELETE操作,而不需要从备份中恢复。 3. **闪回表**:允许用户将表恢复到过去某个时间的状态,这对于处理误修改的表数据非常有用...

    Oracle 10g闪回技术及实现.pdf

    每个被修改的数据在数据库中都会产生新的版本,Oracle数据文件仅保留最新提交的版本,而旧版本则会被存储在回滚表空间中,直到被覆盖或超过设定的时间。 2. **闪回技术类型** - **闪回查询**:允许用户查询过去...

    oracle 数据恢复

    在Oracle 10g及更高版本中,闪回技术得到了进一步扩展,不仅可以用于恢复DML(数据操纵语言)操作,还可以恢复DDL(数据定义语言)操作,如误删除表,甚至可以闪回整个数据库。这极大地提高了数据库系统的容错能力和...

    深入解析OracleDBA入门进阶与诊断案例 3/4

     8.16 使用Flashback Query恢复误删除数据   8.17 诊断案例之一:释放过度扩展的UNDO空间   8.18 特殊情况的恢复   8.19 诊断案例之二:回滚段损坏的恢复  第9章 等待事件   9.1 等待事件的源起  ...

    深入解析OracleDBA入门进阶与诊断案例 4/4

     8.16 使用Flashback Query恢复误删除数据   8.17 诊断案例之一:释放过度扩展的UNDO空间   8.18 特殊情况的恢复   8.19 诊断案例之二:回滚段损坏的恢复  第9章 等待事件   9.1 等待事件的源起  ...

    深入解析OracleDBA入门进阶与诊断案例 2/4

     8.16 使用Flashback Query恢复误删除数据   8.17 诊断案例之一:释放过度扩展的UNDO空间   8.18 特殊情况的恢复   8.19 诊断案例之二:回滚段损坏的恢复  第9章 等待事件   9.1 等待事件的源起  ...

    ORACLE常用维护命令

    当归档日志文件被误删除时,需要在RMAN环境中使用`crosscheck archivelog all`命令来与控制文件或Catalog同步,确保备份的准确性。 3. **KILL ORACLE会话**: 通过`V$SESSION`视图找到要结束的会话的`SID`和`...

    Oracle Flashback技术

    这一特性在处理误删除、错误更新或需要查看历史数据时显得尤为重要。Oracle Flashback技术主要包含以下几个核心组件: 1. Flashback Query(闪回查询):它允许用户通过SQL语句查询数据库的过去状态,仿佛回到了...

    ORACLE FLAHBACK

    针对误删除表的情况,Oracle 10g引入了Flashback Drop功能。这一功能允许用户恢复已删除的表及其所有依赖对象。 ##### 示例 ```sql FLASHBACK TABLE table_name TO BEFORE DROP; ``` #### 七、Oracle 10g的...

Global site tag (gtag.js) - Google Analytics