Oracle误删Undo后恢复

转载 2016年05月31日 11:42:01
undo 表空间丢失之恢复(ORA-01548)
误删undo表空间,或者undo表空间无限增大最后需要删除 undo表空间,解决方法


1. $ startup
  ORACLE 例程已经启动。
   Total System Global Area   264241152 bytes
   Fixed Size                1296208 bytes
   Variable Size              92276912 bytes
   Database Buffers       163577856 bytes
   Redo Buffers             7090176 bytes
  数据库装载完毕。
   数据库已经打开。
  
   已用时间:   00: 00: 00.04
  
2. $ shutdown abort
   ORACLE 例程已经关闭。


3. 删除D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHE\UNDOTBS01.DBF
4. $ startup
   ORACLE 例程已经启动。
   Total System Global Area   264241152 bytes
   Fixed Size                1296208 bytes
   Variable Size              92276912 bytes
   Database Buffers       163577856 bytes
   Redo Buffers             7090176 bytes
   数据库装载完毕。
   ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件
   ORA-01110: 数据文件 2: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHE\UNDOTBS01.DBF'


5. $ alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHE\UNDOTBS01.DBF' offline 


drop;
   数据库已更改。
   已用时间:   00: 00: 00.07
  
   $ alter database open;
   数据库已更改。


   已用时间:   00: 00: 08.12
6. $ select FILE_NAME, BYTES from dba_data_files;                                           


               
   FILE_NAME                                                       BYTES                   


            
   ------------------------------------------------------------ ----------                   


            
   D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHE\USERS01.DBF           106168320                   


            
   D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHE\SYSAUX01.DBF       262144000                   


            
   D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHE\UNDOTBS01.DBF                                     


            
   D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHE\SYSTEM01.DBF       681574400                   


            


   已用时间:   00: 00: 00.12
7. $ create undo tablespace undotbs02 datafile 'D:\ORACLE\PRODUCT\10.2.0


\ORADATA\HUICHE\UNDOTBS02.DBF' size 25m;
   表空间已创建。  
   已用时间:   00: 00: 01.32
8. $ show parameter undo
   NAME                               TYPE                VALUE
   ------------------------------------ ---------------------- ------------------------------
   undo_management                   string                 AUTO
   undo_retention                       integer             900
   undo_tablespace                   string                 UNDOTBS1
9. $ alter system set undo_tablespace=undotbs02;
   系统已更改。
   已用时间:   00: 00: 00.10


10. $ select segment_name,status from dba_rollback_segs;
   SEGMENT_NAME                                              STATUS
   ------------------------------------------------------------ -----------------------------


-------------------------------
   SYSTEM                                                    ONLINE
   _SYSSMU10$                                                 NEEDS RECOVERY
   _SYSSMU9$                                                 NEEDS RECOVERY
   _SYSSMU8$                                                 NEEDS RECOVERY
   _SYSSMU7$                                                 NEEDS RECOVERY
   _SYSSMU6$                                                 NEEDS RECOVERY
   _SYSSMU5$                                                 NEEDS RECOVERY
   _SYSSMU4$                                                 NEEDS RECOVERY
   _SYSSMU3$                                                 NEEDS RECOVERY
   _SYSSMU2$                                                 NEEDS RECOVERY
   _SYSSMU1$                                                 NEEDS RECOVERY
   _SYSSMU20$                                                 ONLINE
   _SYSSMU19$                                                 ONLINE
   _SYSSMU18$                                                 ONLINE
   _SYSSMU17$                                                 ONLINE
   _SYSSMU16$                                                 ONLINE
   _SYSSMU15$                                                 ONLINE
   _SYSSMU14$                                                 ONLINE
   _SYSSMU13$                                                 ONLINE
   _SYSSMU12$                                                 ONLINE
   _SYSSMU11$                                                 ONLINE
  
   已选择21行。
  
   已用时间:   00: 00: 00.07
  
11. $ drop tablespace undotbs1 including contents and datafiles;
   drop tablespace undotbs1 including contents and datafiles
   *
   第 1 行出现错误:
   ORA-01548: 已找到活动回退段 '_SYSSMU1$', 终止删除表空间
  
  
   已用时间:   00: 00: 00.04






12. $ create pfile from spfile;  
  
   pfile 内容如下:
  
   huiche.__db_cache_size=163577856
   huiche.__java_pool_size=4194304
   huiche.__large_pool_size=4194304
   huiche.__shared_pool_size=83886080
   huiche.__streams_pool_size=0
  
   *.audit_file_dest='D:\oracle\product\10.2.0\admin\HUICHE\adump'
   *.background_dump_dest='D:\oracle\product\10.2.0\admin\HUICHE\bdump'
   *.compatible='10.2.0.3.0'
   *.control_files='D:\oracle\product\10.2.0


\oradata\HUICHE\control01.ctl','D:\oracle\product\10.2.0


\oradata\HUICHE\control02.ctl','D:\oracle\product\10.2.0\oradata\HUICHE\control03.ctl'
   *.core_dump_dest='D:\oracle\product\10.2.0\admin\HUICHE\cdump'
   *.db_block_size=8192
   *.db_cache_size=113246208
   *.db_domain='COM'
   *.db_file_multiblock_read_count=16
   *.db_name='HUICHE'
   *.db_recovery_file_dest='D:\oracle\product\10.2.0\flash_recovery_area'
   *.db_recovery_file_dest_size=4294967296
   *.dispatchers='(PROTOCOL=TCP) (SERVICE=HUICHEXDB)'
   *.java_pool_size=4194304
   *.job_queue_processes=10
   *.large_pool_size=4194304
   *.nls_language='SIMPLIFIED CHINESE'
   *.nls_territory='CHINA'
   *.open_cursors=300
   *.pga_aggregate_target=69206016
   *.processes=150
   *.remote_login_passwordfile='EXCLUSIVE'
   *.sga_max_size=262144000
   *.sga_target=264241152
   *.shared_pool_size=79691776
   *.streams_pool_size=0
   *.undo_management='auto'
   *.undo_tablespace='UNDOTBS02'
   *.user_dump_dest='D:\oracle\product\10.2.0\admin\HUICHE\udump'
   # 增加隐形参数
   _corrupted_rollback_segments=(_SYSSMU10$,_SYSSMU9$,_SYSSMU8$,_SYSSMU7$,_SYSSMU6$,_SYSSMU5


$,_SYSSMU4$,_SYSSMU3$,_SYSSMU2$,_SYSSMU1$)
   _offline_rollback_segments=true


13. $ startup pfile=D:\oracle\product\10.2.0\db_1\database\INIThuiche.ORA
   ORACLE 例程已经启动。
   Total System Global Area   264241152 bytes
   Fixed Size                1296208 bytes
   Variable Size              92276912 bytes
   Database Buffers       163577856 bytes
   Redo Buffers             7090176 bytes
   数据库装载完毕。
   数据库已经打开。
14. $ select segment_name,status from dba_rollback_segs ;
SEGMENT_NAME                                              STATUS
------------------------------------------------------------ ----------------------------


--------------------------------
SYSTEM                                                    ONLINE
_SYSSMU10$                                                 NEEDS RECOVERY
_SYSSMU9$                                                 NEEDS RECOVERY
_SYSSMU8$                                                 NEEDS RECOVERY
_SYSSMU7$                                                 NEEDS RECOVERY
_SYSSMU6$                                                 NEEDS RECOVERY
_SYSSMU5$                                                 NEEDS RECOVERY
_SYSSMU4$                                                 NEEDS RECOVERY
_SYSSMU3$                                                 NEEDS RECOVERY
_SYSSMU2$                                                 NEEDS RECOVERY
_SYSSMU1$                                                 NEEDS RECOVERY
_SYSSMU20$                                                 ONLINE
_SYSSMU19$                                                 ONLINE
_SYSSMU18$                                                 ONLINE
_SYSSMU17$                                                 ONLINE
_SYSSMU16$                                                 ONLINE
_SYSSMU15$                                                 ONLINE
_SYSSMU14$                                                 ONLINE
_SYSSMU13$                                                 ONLINE
_SYSSMU12$                                                 ONLINE
_SYSSMU11$                                                 ONLINE


已选择21行。


已用时间:   00: 00: 00.31
15. $ drop tablespace undotbs1 including contents and datafiles;
   表空间已删除。
   已用时间:   00: 00: 01.39
  
16. $ select segment_name,status from dba_rollback_segs;
   SEGMENT_NAME                                              STATUS
   ------------------------------------------------------------ -----------------------------


-------------------------------
   SYSTEM                                                    ONLINE
   _SYSSMU20$                                                 ONLINE
   _SYSSMU19$                                                 ONLINE
   _SYSSMU18$                                                 ONLINE
   _SYSSMU17$                                                 ONLINE
   _SYSSMU16$                                                 ONLINE
   _SYSSMU15$                                                 ONLINE
   _SYSSMU14$                                                 ONLINE
   _SYSSMU13$                                                 ONLINE
   _SYSSMU12$                                                 ONLINE
   _SYSSMU11$                                                 ONLINE
  
   已选择11行。
  
   已用时间:   00: 00: 00.04
17. $ show parameter undo
NAME                               TYPE                VALUE
------------------------------------ ---------------------- ------------------------------
undo_management                   string                 AUTO
undo_retention                       integer             900
undo_tablespace                   string                 UNDOTBS02
$ create spfile from pfile;


文件已创建。


已用时间:   00: 00: 00.12


18. $ shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
19. $ startup
ORACLE 例程已经启动。
Total System Global Area   264241152 bytes
Fixed Size                1296208 bytes
Variable Size              92276912 bytes
Database Buffers       163577856 bytes
Redo Buffers             7090176 bytes
数据库装载完毕。
数据库已经打开。
20. $ show parameter undo
NAME                               TYPE                VALUE
------------------------------------ ---------------------- ------------------------------
undo_management                   string                 MANUAL
undo_retention                       integer             900
undo_tablespace                   string                 UNDOTBS02
$ alter system set undo_management=auto scope=spfile;


系统已更改。


已用时间:   00: 00: 00.03 

相关文章推荐

Oracle表数据误删恢复

记录了一次恢复Oracle数据库(11g)中误删除的表数据的过程。
  • pierre_
  • pierre_
  • 2015年06月25日 20:44
  • 356

oracle恢复删除数据(误删)

转自 第一种:1.打开Flash存储的权限 ALTER TABLE tableName ENABLE row movement ; 2.把表还原到指定时间点 flashback table t...
  • Jatham
  • Jatham
  • 2017年07月28日 11:05
  • 84

ORACLE误删数据的恢复

有很多原因导致了数据记录的误删,怎样恢复误删的记录呢?先来看看这个概念:   SCN(系统改变号),它的英文全拼为:System Change Number ,它是数据库中非常重要的一个数据结构。 ...

ORACLE 11G没有备份控制文件参数文件在异机通过rman备份恢复找回被误删的数据

背景:         同事误删除线上数据,所以需要从备份中找回数据恢复。真实屋漏偏逢连夜雨、船迟又遇打头风,前两天备份的磁盘坏块,现在只有rman全备的.bak文件,没有控制文件和参数文件,所以现在...
  • mchdba
  • mchdba
  • 2015年04月02日 21:29
  • 2899

ORACLE误删数据恢复

有很多原因导致了数据记录的误删,怎样恢复误删的记录呢?先来看看这个概念:   SCN(系统改变号),它的英文全拼为:System Change Number ,它是数据库中非常重要的一个数据结构。 ...
  • boobor
  • boobor
  • 2013年08月14日 14:25
  • 325

Oracle 中 误删 emp,dept ,恢复 emp 和 dept表的sql脚本.

Oracle 中 误删 emp,dept ,恢复 emp 和 dept表的sql脚本. 如果是不小心,删除了oracle中自带的emp 和 dept表,就能用下面的sql语句执行一下用来恢复..或者...
  • gwpJava
  • gwpJava
  • 2013年01月15日 12:33
  • 1716

oracle语句 trunc()、to_char()、to_date()、add_months()和误删恢复操作

整理的一些自己开发时遇到的oracle语句,有些是自己上网查找的。 oracle 误删数据库恢复方法: (一)delete 误删数据          原理:利用oracle提供的闪回方法,如果在...
  • hqkhly
  • hqkhly
  • 2016年07月09日 15:21
  • 313

Oracle恢复误删的数据或表,解除锁定SQL或table

Oracle恢复误删的数据或表,解除锁定SQL或table    转载于: http://renjie120.iteye.com/  注释:本文转自网络,转载请注明 注意:数据...
  • anya
  • anya
  • 2015年08月25日 09:01
  • 1929

误删oracle表,恢复表结构及数据方法

1、本人是通过drop的方式误删了所有正式库的所有表,瞬间崩溃了; 2、oracle是10g版本,晚上说只有该版本有回收站的概念,这个未去深究过; 3、去回收表中查看下被你误删的表是否还存在? ...

Oracle恢复误删的数据或表,解除锁定SQL或table

Oracle恢复误删的数据或表,解除锁定SQL或table 转载于: http://renjie120.iteye.com/ 注释:本文转自网络,转载请注明 注意:数据库版...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle误删Undo后恢复
举报原因:
原因补充:

(最多只允许输入30个字)