• rac完全恢复学习


    1、查看现有数据库文件

    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    +DATA/rac/datafile/system.259.866566403
    +DATA/rac/datafile/undotbs1.260.866566407
    +DATA/rac/datafile/sysaux.261.866566407
    +DATA/rac/datafile/undotbs2.263.866566409
    +DATA/rac/datafile/users.264.866566409

    2、做一个完全备份

    RMAN> backup as copy database ;

    3、创建表空间

    SQL> create tablespace zxm datafile size 2m;
    
    Tablespace created.
    SQL> create tablespace user01 datafile '+DATA' size 1M;
    
    Tablespace created.
    SQL> alter tablespace user01 add datafile size 1m;
    
    Tablespace altered.
    
    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    +DATA/rac/datafile/system.259.866566403
    +DATA/rac/datafile/undotbs1.260.866566407
    +DATA/rac/datafile/sysaux.261.866566407
    +DATA/rac/datafile/undotbs2.263.866566409
    +DATA/rac/datafile/users.264.866566409
    +DATA/rac/datafile/zxm.287.866732569
    +DATA/rac/datafile/user01.284.866732649
    +DATA/rac/datafile/user01.288.866732733
    
    8 rows selected.

    4、创建示例数据

    SQL> create table test as select * from user_tables;
    
    Table created.
    
    SQL> create table test2 as select * from test;
    
    Table created.
    
    SQL> col TABLESPACE_NAME format a30
    SQL> col SEGMENT_NAME format a30
    SQL> select tablespace_name,segment_name from user_segments;
    
    TABLESPACE_NAME                SEGMENT_NAME
    ------------------------------ ------------------------------
    USER01                         TEST
    USER01                         TEST2

    5、关闭数据库删除文件,模拟灾难场景

    [oracle@rac1 admin]$ srvctl stop database -d rac
    [oracle@rac1 admin]$ export ORACLE_SID=+ASM1
    [oracle@rac1 admin]$ asmcmd -p
    ASMCMD [+] > ls
    DATA/
    RECV/
    ASMCMD [+] > cd DATA
    ASMCMD [+DATA] > ls
    RAC/
    TEST/
    ASMCMD [+DATA] > cd RAC
    ASMCMD [+DATA/RAC] > ls
    ARCHIVELOG/
    CONTROLFILE/
    DATAFILE/
    ONLINELOG/
    PARAMETERFILE/
    TEMPFILE/
    spfilerac.ora
    ASMCMD [+DATA/RAC] > cd DATAFILE
    ASMCMD [+DATA/RAC/DATAFILE] > ls
    SYSAUX.261.866566407
    SYSTEM.259.866566403
    TEST.282.866646695
    UNDOTBS1.260.866566407
    UNDOTBS2.263.866566409
    USER01.284.866732649
    USER01.288.866732733
    USERS.264.866566409
    ZXM.287.866732569
    ASMCMD [+DATA/RAC/DATAFILE] > rm USER01.284.866732649
    ASMCMD [+DATA/RAC/DATAFILE] > rm USER01.288.866732733
    ASMCMD [+DATA/RAC/DATAFILE] > rm ZXM.287.866732569
    [oracle@rac1 admin]$ export ORACLE_SID=rac1
    [oracle@rac1 admin]$ sqlplus / as sysdba
    
    SQL*Plus: Release 10.2.0.4.0 - Production on Fri Dec 19 15:31:22 2014
    
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
    
    Connected to an idle instance.
    
    SQL> startup;
    ORACLE instance started.
    
    Total System Global Area 1610612736 bytes
    Fixed Size                  2280840 bytes
    Variable Size             416100984 bytes
    Database Buffers         1157627904 bytes
    Redo Buffers               34603008 bytes
    Database mounted.
    ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
    ORA-01110: data file 6: '+DATA/rac/datafile/zxm.287.866732569'

    6、recover命令只能在已有的物理文件上进行恢复,所以需要先创建数据文件

    SQL> alter database create datafile 6;
    
    Database altered.
    
    SQL> recover datafile 6;             
    ORA-00283: recovery session canceled due to errors
    ORA-01110: data file 6: '+DATA/rac/datafile/zxm.287.866732569'
    ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
    ORA-01110: data file 6: '+DATA/rac/datafile/zxm.287.866732569'
    进入目录中看新创建的文件是:ZXM.287.866734565
    ASMCMD [+DATA/RAC] > cd DATAFILE
    ASMCMD [+DATA/RAC/DATAFILE] > ls
    SYSAUX.261.866566407
    SYSTEM.259.866566403
    TEST.282.866646695
    UNDOTBS1.260.866566407
    UNDOTBS2.263.866566409
    USERS.264.866566409
    ZXM.287.866734565
    
    而控制中的文件为:
    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    +DATA/rac/datafile/system.259.866566403
    +DATA/rac/datafile/undotbs1.260.866566407
    +DATA/rac/datafile/sysaux.261.866566407
    +DATA/rac/datafile/undotbs2.263.866566409
    +DATA/rac/datafile/users.264.866566409
    +DATA/rac/datafile/zxm.287.866732569
    +DATA/rac/datafile/user01.284.866732649
    +DATA/rac/datafile/user01.288.866732733
    
    8 rows selected.
    需要对数据文件进行改名,其实就是修改控制文件
    SQL> alter database rename file '+DATA/rac/datafile/zxm.287.866732569' to '+DATA/rac/datafile/ZXM.287.866734565';
    
    Database altered.
    
    再次操作,这次恢复成功了
    SQL> recover datafile 6;
    Media recovery complete.

    7、恢复其他的数据文件

    SQL> alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
    ORA-01110: data file 7: '+DATA/rac/datafile/user01.284.866732649'
    只恢复了一个文件,刚总共删除了3个,那现在重新再将剩下的两个创建了
    SQL> alter database create datafile '+DATA/rac/datafile/user01.284.866732649';
    
    Database altered.
    
    
    
    SQL> recover datafile 7;
    ORA-00283: recovery session canceled due to errors
    ORA-01110: data file 7: '+DATA/rac/datafile/user01.284.866732649'
    ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
    ORA-01110: data file 7: '+DATA/rac/datafile/user01.284.866732649'
    
    进入文件目录查看,发现文件名不是创建的那个
    ASMCMD [+DATA/RAC/DATAFILE] > ls
    SYSAUX.261.866566407
    SYSTEM.259.866566403
    TEST.282.866646695
    UNDOTBS1.260.866566407
    UNDOTBS2.263.866566409
    USER01.288.866735415
    USERS.264.866566409
    ZXM.287.866734565
    
    
    SQL> alter database rename file '+DATA/rac/datafile/user01.284.866732649' to '+DATA/rac/datafile/USER01.288.866735415';
    
    Database altered.
    
    SQL> recover datafile 7;
    Media recovery complete.
    
    
    
    SQL> alter database create datafile '+DATA/rac/datafile/user01.288.866732733';
    
    ASMCMD [+DATA/RAC/DATAFILE] > ls
    SYSAUX.261.866566407
    SYSTEM.259.866566403
    TEST.282.866646695
    UNDOTBS1.260.866566407
    UNDOTBS2.263.866566409
    USER01.284.866736519
    USER01.288.866735415
    USERS.264.866566409
    ZXM.287.866734565
    
    SQL> alter database rename file '+DATA/rac/datafile/user01.288.866732733' to '+DATA/rac/datafile/USER01.284.866736519';
    
    
    SQL> alter database rename file '+DATA/rac/datafile/user01.288.866732733' to '+DATA/rac/datafile/USER01.284.866736519';
    
    Database altered.
    SQL> recover datafile 8;
    Media recovery complete.
    
    打开数据
    SQL> alter database open;
    
    Database altered.
  • 相关阅读:
    RTSP协议视频智能分析平台EasyNVR新增H265播放器EasyPlayer和EasyWasmPlayer的区别介绍
    RTSP拉流协议视频平台EasyNVR硬件设备意外断电重启无法进入initramfs界面配置如何解决?
    RTSP拉流协议视频平台EasyNVR多点认证造成潜在威胁?EasyNVR多点认证机制优化
    【BUG修复】网络流媒体协议RTSP拉流平台EasyNVR增加鉴权抵御外部攻击优化
    RTSP视频平台EasyNVR作为下级平台通过GB28181级联传输视频流时的多播Multicast协议介绍
    【硬件设备】RTSP协议安防视频平台EasyNVR视频边缘计算网关设备如何关闭图形化网卡配置功能?
    【硬件设备】RTSP协议安防视频平台EasyNVR视频边缘计算网关设备修改/etc/network/interfaces后配置界面消失如何修复?
    RTSP协议视频智能分析/内容识别平台EasyNVR安防视频云服务关于POST接口C#调用的例子介绍说明
    RTSP协议视频智能分析/智能识别系统EasyNVR新增演示模式下用户登录有效期限时5分钟说明
    RTSP协议视频智能分析/智能识别服务平台EasyNVR新增自定义登录失败锁定用户功能
  • 原文地址:https://www.cnblogs.com/huanhuanang/p/4175131.html
Copyright © 2020-2023  润新知