当前位置:  数据库>oracle

UNDO表空间备份恢复

    来源: 互联网  发布时间:2017-05-07

    本文导语: UNDO表空间在有热备没有事物交易的时候有数据块损坏的恢复 第一,先看一下确保undo表空间里没有交易的事物 SQL>select XID USN,XIDSLOT,XIDSQN fromv$transaction; no rows selected 第二,确认当前所用的回退表空间 SQL>show parameter undo   NAME    ...

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


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.swing.undo类stateedit的类成员方法: undo定义及介绍
  • Oracle释放undo表空间
  • java命名空间javax.swing.undo接口undoableedit的类成员方法: undo定义及介绍
  • 如何Shrink Undo表空间,释放过度占用的空间
  • java命名空间javax.swing.undo类undomanager的类成员方法: undo定义及介绍
  • java命名空间javax.swing.undo类abstractundoableedit的类成员方法: undo定义及介绍
  • java命名空间javax.swing.text类defaultstyleddocument.attributeundoableedit的类成员方法: undo定义及介绍
  • java命名空间javax.swing.text类abstractdocument.defaultdocumentevent的类成员方法: undo定义及介绍
  • java命名空间javax.swing.text类abstractdocument.elementedit的类成员方法: undo定义及介绍
  • java命名空间java.awt.event类keyevent的类成员方法: vk_undo定义及介绍
  • java命名空间javax.swing.undo类compoundedit的类成员方法: edits定义及介绍
  • java命名空间javax.swing.undo接口undoableedit的类成员方法: getundopresentationname定义及介绍
  • java命名空间javax.swing.undo类undomanager的类成员方法: edittobeundone定义及介绍
  • java命名空间javax.swing.undo类undomanager的类成员方法: canundoorredo定义及介绍
  • java命名空间javax.swing.undo类undomanager的类成员方法: undoorredo定义及介绍
  • java命名空间javax.swing.undo类stateedit的类成员方法: poststate定义及介绍
  • java命名空间javax.swing.undo类undoableeditsupport的类成员方法: updatelevel定义及介绍
  • java命名空间javax.swing.undo类undoableeditsupport的类成员方法: createcompoundedit定义及介绍
  • java命名空间javax.swing.undo类stateedit的类成员方法: end定义及介绍
  • java命名空间javax.swing.undo类undoableeditsupport的类成员方法: compoundedit定义及介绍
  • java命名空间javax.swing.undo类cannotredoexception的类成员方法: cannotredoexception定义及介绍
  • java命名空间javax.swing.undo类stateedit的类成员方法: object定义及介绍
  • Oracle 管理Undo数据
  • java命名空间javax.swing.undo类stateedit的类成员方法: prestate定义及介绍
  • semop不使用SEM_UNDO的问题
  • java命名空间javax.swing.undo类undoableeditsupport的类成员方法: beginupdate定义及介绍
  • linux command无法撤消mv命令,在linux下没有undo.刚google下,看到老外说的一句比较经典的话。
  • java命名空间javax.swing.undo类stateedit的类成员方法: rcsid定义及介绍
  • Oracle undo_management参数不一致错误
  • java命名空间javax.swing.undo类undoableeditsupport的类成员方法: getupdatelevel定义及介绍
  • java命名空间javax.swing.undo接口stateeditable的类成员方法: restorestate定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,