zoukankan      html  css  js  c++  java
  • 针对ORA-01111, ORA-01110, ORA-01157的处理

    异常

    在从库发现DG同步有延迟时执行recover失败,后台日志会报如下异常:

    解决

    根据源端地址和本地数据文件存放路径,整理语句如下:

    alter system set STANDBY_FILE_MANAGEMENT='MANUAL' scope=both;
    alter database rename file '/data/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00243' to '/data/app/oracle/oradata/PSPROD/PSPRODDG/datafile/o1_mf_gpapp_h4dnw6m6_.dbf'

    ​此时报错如下:

    此时需要注意,o1_mf_gpapp_h4dnw6m6_.dbf,这种命名数据文件的方式很奇怪,一般这种方式多出现在ASM磁盘中,由数据库定义名称,此时我就想到了OMF,查看相关参数,确认此库为OMF管理方式管理数据文件。

    此处验证证明了我的猜想,所以修改语句重新执行,修复了此问题。

    
    alter database create datafile '/data/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00243' as new;
    alter system set STANDBY_FILE_MANAGEMENT='AUTO' scope=both;

    分析

    在备用数据库中创建文件为UNNAMED的原因有很多,此次是因为备库上的磁盘空间不足导致的。

    STANDBY_FILE_MANAGEMENT 在启用自动备用文件管理后,将在备用数据库上复制主数据库上的操作系统文件添加和删除。此时,我们在主服务器上添加数据文件,而恢复过程(MRP)正在尝试应用存档,由于该参数设置,它将在$ ORACLE_HOME / dbs中创建一个未命名的文件将导致杀死MRP进程,错误如下所示。

    当数据库由OMF管理时,修改路径时可以使用 new 来代替路径的位置,修改 redo 除外。

  • 相关阅读:
    sqlserver 中的 substring函数(转)
    C#二个相减怎么获得天数,就是比如201225 与201231之间相差的天数
    C++文件添加到项目中
    VS2008动态链接库(DLL)的创建与导入
    美剧字幕绿箭侠第1季第7集
    C++中#define用法
    C++头文件的重复引用
    visual studio中解决方案是什么
    NewWords/300400
    指针
  • 原文地址:https://www.cnblogs.com/sandata/p/12712949.html
Copyright © 2011-2022 走看看