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 除外。

  • 相关阅读:
    C++ 打印 vector
    使用 winsock 实现简单的 Client 和 Server
    Windows 10 Clion 配置 Opencv 4.0.1
    解决编译的时候头文件找不到的问题
    linux内核打印内存函数print_hex_dump使用方法
    ubuntu180
    驱动编译相关
    Real-Time Rendering 4th Chapter 1 Introduction 简介 转载
    do_gettimeofday使用方法
    6、设备树实践操作
  • 原文地址:https://www.cnblogs.com/sandata/p/12712949.html
Copyright © 2011-2022 走看看