IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    解决oracle数据文件路径有回车故障

    惜分飞发表于 2024-12-14 00:38:47
    love 0

    联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

    标题:解决oracle数据文件路径有回车故障

    作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

    最近遇到一个硬件恢复朋友的请求,oracle数据库文件恢复出来了,但是在linux上面启动的时候,有两个文件无法检测到,dbv检测正常.
    checkpiont_err
    dbv


    通过分析是由于文件无法找到原因导致
    file-not-found

    进一步检查发现原库这两个文件结尾带有回车,但是恢复出来的文件不带回车
    huiche

    对于这个故障,我在测试环境进行了重现并且给予解决
    1. 创建带回车键数据文件

    SQL> create tablespace xifenfei datafile '/u01/app/oracle/oradata/xifenfei/xff01.dbf
      2  ' size 128m;
    
    Tablespace created.
    
    SQL> alter tablespace xifenfei add datafile '/u01/app/oracle/oradata/xifenfei/xff02.dbf' size 128M;
    
    Tablespace altered.
    
    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    /u01/app/oracle/oradata/xifenfei/system01.dbf
    /u01/app/oracle/oradata/xifenfei/sysaux01.dbf
    /u01/app/oracle/oradata/xifenfei/undotbs01.dbf
    /u01/app/oracle/oradata/xifenfei/users01.dbf
    /u01/app/oracle/oradata/xifenfei/xff01.dbf
    /u01/app/oracle/oradata/xifenfei/xff02.dbf
    
    6 rows selected.
    

    2.操作系统层面查看文件(在我的ssh工具中,可以看到带回车键文件和不带回车文件不一样,使用的是crt工具,其他工具是否显示不确定)

    [oracle@xifenfei ~]$ cd /u01/app/oracle/oradata/xifenfei/
    [oracle@xifenfei xifenfei]$ ls -l xff*
    -rw-r----- 1 oracle oinstall 134225920 Dec 14 08:05 xff01.dbf?
    -rw-r----- 1 oracle oinstall 134225920 Dec 14 08:05 xff02.dbf
    

    3. 操作系统层面重命名数据文件
    [oracle@xifenfei xifenfei]$ mv xff01.dbf* xff01.dbf
    [oracle@xifenfei xifenfei]$ ls -l xff*
    -rw-r—– 1 oracle oinstall 134225920 Dec 14 08:05 xff01.dbf
    -rw-r—– 1 oracle oinstall 134225920 Dec 14 08:05 xff02.dbf
    [/shell]
    3. 数据库层面重启看文件情况,发现文件不能被正常发现(当然不能,文件被os层面mv了)

    SQL> shutdown abort;
    ORACLE instance shut down.
    SQL> startup mount;
    ORACLE instance started.
    
    Total System Global Area  551165952 bytes
    Fixed Size                  2255112 bytes
    Variable Size             369100536 bytes
    Database Buffers          171966464 bytes
    Redo Buffers                7843840 bytes
    Database mounted.
    SQL> select file#, CHECKPOINT_CHANGE# from v$datafile_header;
    
         FILE# CHECKPOINT_CHANGE#
    ---------- ------------------
             1          306775013
             2          306775013
             3          306775013
             4          306775013
             5                  0
             6          306779423
    
    6 rows selected.
    
    RMAN> report schema;
    
    Report of database schema for database with db_unique_name XIFENFEI
    
    List of Permanent Datafiles
    ===========================
    File Size(MB) Tablespace           RB segs Datafile Name
    ---- -------- -------------------- ------- ------------------------
    1    770      SYSTEM               ***     /u01/app/oracle/oradata/xifenfei/system01.dbf
    2    1950     SYSAUX               ***     /u01/app/oracle/oradata/xifenfei/sysaux01.dbf
    3    70       UNDOTBS1             ***     /u01/app/oracle/oradata/xifenfei/undotbs01.dbf
    4    12       USERS                ***     /u01/app/oracle/oradata/xifenfei/users01.dbf
    5    0        XIFENFEI             ***     /u01/app/oracle/oradata/xifenfei/xff01.dbf
    
    6    128      XIFENFEI             ***     /u01/app/oracle/oradata/xifenfei/xff02.dbf
    

    4. 解决控制文件和数据文件实际名称不一致问题

    RMAN> catalog datafilecopy '/u01/app/oracle/oradata/xifenfei/xff01.dbf';
    
    using target database control file instead of recovery catalog
    cataloged datafile copy
    datafile copy file name=/u01/app/oracle/oradata/xifenfei/xff01.dbf RECID=1 STAMP=1187684217
    
    RMAN> switch datafile 5 to copy;
    
    datafile 5 switched to datafile copy "/u01/app/oracle/oradata/xifenfei/xff01.dbf"
    
    RMAN> report schema;
    
    Report of database schema for database with db_unique_name XIFENFEI
    
    List of Permanent Datafiles
    ===========================
    File Size(MB) Tablespace           RB segs Datafile Name
    ---- -------- -------------------- ------- ------------------------
    1    770      SYSTEM               ***     /u01/app/oracle/oradata/xifenfei/system01.dbf
    2    1950     SYSAUX               ***     /u01/app/oracle/oradata/xifenfei/sysaux01.dbf
    3    70       UNDOTBS1             ***     /u01/app/oracle/oradata/xifenfei/undotbs01.dbf
    4    12       USERS                ***     /u01/app/oracle/oradata/xifenfei/users01.dbf
    5    128      XIFENFEI             ***     /u01/app/oracle/oradata/xifenfei/xff01.dbf
    6    128      XIFENFEI             ***     /u01/app/oracle/oradata/xifenfei/xff02.dbf
    
    List of Temporary Files
    =======================
    File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
    ---- -------- -------------------- ----------- --------------------
    1    123      TEMP                 32767       /u01/app/oracle/oradata/xifenfei/temp01.dbf
    
    
    RMAN> alter database open;
    
    database opened
    
    • ORACLE 12C安装预览
    • asm数据文件迁移(os–>asm)
    • drop tablesapce 数据恢复
    • ORACLE 12C move datafile测试
    • oracle 23ai(23.5.0.24.07)完整功能版安装体验
    • ORACLE 12C 控制文件异常恢复
    • 普通库迁移至ASM存储
    • 分享运气超级好的一次drop tablespace 数据恢复
    • 分布式存储故障导致数据库无法启动故障处理
    • 数据文件重命名
    • 一键恢复ORA-01113 ORA-01110—Oracle Recovery Tools
    • 删除Oracle数据文件/临时文件


沪ICP备19023445号-2号
友情链接