Oracle RAC 环境下数据文件误建在本地目录的处理过程

问题描述

在 Oracle RAC 环境中,有时会误将数据文件创建在本地目录,导致其他节点无法访问该数据文件,从而报出 ORA-01157 和 ORA-01110 错误。

问题分析

  1. 错误日志

    Mon Nov 16 19:02:38 2021
    Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_m000_27416.trc:
    ORA-01157: cannot identify/lock data file 9 - see DBWR trace file
    ORA-01110: data file 9: '/u01/app/oracle/11.2.0/db1/dbs/testnew'
    Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_m000_27416.trc:
    ORA-01157: cannot identify/lock data file 10 - see DBWR trace file
    ORA-01110: data file 10: '/u01/app/oracle/11.2.0/db1/dbs/testfilenew'
    
  2. 查询数据文件路径

    SQL> SELECT file#, name FROM v$datafile;--输出示例:FILE# NAME
    ---------- -------------------------------------------------1 +DATA/orcl/datafile/system.259.8552443412 +DATA/orcl/datafile/sysaux.260.8552443453 +DATA/orcl/datafile/undotbs1.261.8552443454 +DATA/orcl/datafile/undotbs2.263.8552443535 +DATA/orcl/datafile/users.264.8552443556 +DATA/orcl/datafile/egapp.293.8748592117 +DATA/orcl/datafile/loop_test.294.8790933498 +DATA/orcl/datafile/loop_file_test.295.87909 /u01/app/oracle/11.2.0/db1/dbs/testnew10 /u01/app/oracle/11.2.0/db1/dbs/testfilenew

解决方法

1. 确定数据文件的位置

  1. 确定数据文件在哪个节点上

    -- 在节点2上执行
    ls -l /u01/app/oracle/11.2.0/db/dbs/
    

2. 将数据文件下线

  1. 登录到 SQL\Plus

    sqlplus / as sysdba
    
  2. 将数据文件下线

    SQL> ALTER DATABASE DATAFILE 9 OFFLINE;
    SQL> ALTER DATABASE DATAFILE 10 OFFLINE;
    
  3. 确认数据文件状态

    SQL> COL NAME FOR A45
    SQL> SET LINESIZE 234
    SQL> SELECT NAME, FILE#, STATUS FROM V$DATAFILE;
    

3. 复制数据文件到共享目录

  1. 登录到 RMAN

    rman target /
    
  2. 复制数据文件

    RMAN> COPY DATAFILE '/u01/app/oracle/11.2.0/db/dbs/goa31new' TO '+DATA';
    RMAN> COPY DATAFILE '/u01/app/oracle/11.2.0/db/dbs/goafilenew' TO '+DATA';
    

4. 更改数据文件路径

  1. 重命名数据文件

    SQL> ALTER DATABASE RENAME FILE '/u01/app/oracle/11.2.0/db1/dbs/testnew' TO '+DATA/orcl/datafile/testnew.339.895952649';
    SQL> ALTER DATABASE RENAME FILE '/u01/app/oracle/11.2.0/db1/dbs/testfilenew' TO '+DATA/orcl/datafile/testfilenew.340.895952749';
    
  2. 确认数据文件状态

    SQL> SELECT NAME, FILE#, STATUS FROM V$DATAFILE;
    

5. 恢复数据文件

  1. 恢复数据文件

    SQL> RECOVER DATAFILE '+DATA/orcl/datafile/testnew.339.895952649';
    SQL> RECOVER DATAFILE '+DATA/orcl/datafile/testfilenew.340.895952749';
    
  2. 确认数据文件状态

    SQL> SELECT NAME, FILE#, STATUS FROM V$DATAFILE;
    

6. 将数据文件上线

  1. 将数据文件上线

    SQL> ALTER DATABASE DATAFILE 9 ONLINE;
    SQL> ALTER DATABASE DATAFILE 10 ONLINE;
    
  2. 确认数据文件状态

    SQL> SELECT NAME, FILE#, STATUS FROM V$DATAFILE;
    

特殊情况:系统表空间数据文件创建在本地

1. 模拟创建

  1. 在节点一上创建系统表空间数据文件

    SQL> ALTER TABLESPACE SYSTEM ADD DATAFILE '/u02/app/oracle/datafile/system02.dbf' SIZE 10M AUTOEXTEND OFF;
    
  2. 检查数据文件

    SQL> COL TABLESPACE_NAME FOR A20
    SQL> COL FILE_NAME FOR A50
    SQL> SELECT FILE_NAME, FILE_ID, ONLINE_STATUS, TABLESPACE_NAME FROM DBA_DATA_FILES;
    SQL> SELECT FILE#, NAME FROM V$DATAFILE;FILE# NAME
    ---------- -------------------------------------------------4 +DATA/orcl/datafile/users.257.9013336873 +DATA/orcl/datafile/undotbs1.264.9013336872 +DATA/orcl/datafile/sysaux.256.9013336851 +DATA/orcl/datafile/system.265.9013336855 +DATA/orcl/datafile/undotbs2.266.9013339436 +DATA/orcl/datafile/testdb.dbf7 /u02/app/oracle/datafile/system02.dbf
    

2. 处理系统表空间数据文件

  1. 将数据文件下线

    SQL> ALTER DATABASE DATAFILE 7 OFFLINE;
    

    注意:系统表空间数据文件无法下线,需要停机时间。

    ORA-01541: system tablespace cannot be brought offline; shut down if necessary
    
  2. 关闭问题节点

    SQL> SHUTDOWN IMMEDIATE;
    
  3. 在另一个节点上检查数据文件状态

    SQL> SELECT OPEN_MODE FROM GV$DATABASE;
    
  4. 使用 ASM 命令将本地文件移动到 ASM

    ASMCMD [+data/orcl/datafile] > CP /u02/app/oracle/datafile/system02.dbf ./
    copying /u02/app/oracle/datafile/system02.dbf -> +data/orcl/datafile/system02.dbf
    
  5. 启动节点一数据库到 mount 状态

    SQL> STARTUP MOUNT;
    
  6. 修改数据文件路径

    SQL> ALTER DATABASE RENAME FILE '/u02/app/oracle/datafile/system02.dbf' TO '+data/orcl/datafile/system02.dbf';
    
  7. 启动数据库

    SQL> ALTER DATABASE OPEN;
    
  8. 在另一个节点上检查数据文件状态

    SQL> SELECT FILE_NAME, FILE_ID, ONLINE_STATUS, TABLESPACE_NAME FROM DBA_DATA_FILES;
    
  9. 重启另一个节点

    SQL> SHUTDOWN IMMEDIATE;
    SQL> STARTUP;
    
  10. 确认数据文件状态

    SQL> SELECT FILE_NAME, FILE_ID, ONLINE_STATUS, TABLESPACE_NAME FROM DBA_DATA_FILES;
    

总结

通过上述步骤,可以有效地解决 Oracle RAC 环境中数据文件误建在本地目录的问题,特别是系统表空间的数据文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/62022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大厂也在用的分布式链路追踪:TraceIdFilter + MDC + Skywalking

痛点 查线上日志时,同一个 Pod 内多线程日志交错,很难追踪每个请求对应的日志信息。 日志收集工具将多个 Pod 的日志收集到同一个数据库中后,情况就更加混乱不堪了。 解决 TraceId MDC 前端每次请求时,添加 X-App-Trace-Id 请…

Dashboard Tactics

1:相关链接Dashboard Tactics :: OpenCPN Dashboard Tactics Plugin rgleason/dashboard_tactics_pi: OpenCPN dashboard built-in plugin merger with external tactics_pi plugin NMEAconverter :: OpenCPN 2:显示样式 3:代码 这个插件…

【leetcode】动态规划

31. 873. 最长的斐波那契子序列的长度 题目&#xff1a; 如果序列 X_1, X_2, ..., X_n 满足下列条件&#xff0c;就说它是 斐波那契式 的&#xff1a; n > 3对于所有 i 2 < n&#xff0c;都有 X_i X_{i1} X_{i2} 给定一个严格递增的正整数数组形成序列 arr &#xff0…

24.11.26 Mybatis2

resultMap 中的标签和属性 如果是主键列 一般用id标签对应 propertyjava对象的属性 column 数据库中的列( javaType实体类数据类型 jdbcType数据库列的数据类型 ) 不需要配置 <id property"empno" column"empno" />如果是普通列 一般用result对…

第六届国际科技创新学术交流大会暨新能源科学与电力工程国际(NESEE 2024)

重要信息 会议官网&#xff1a;nesee.iaecst.org 会议时间&#xff1a;2024年12月6-8日 会议地点&#xff1a; 中国-广州&#xff08;越秀国际会议中心) 大会简介 新能源科学与电力工程国际学术会议&#xff08;NESEE 2024&#xff09;作为第六届国际科技创新学术交流大会分…

【es6】原生js在页面上画矩形添加选中状态高亮及显示调整大小控制框(三)

接上篇文章&#xff0c;这篇实现下选中当前元素显示调整大小的控制框&#xff0c;点击document取消元素的选中高亮状态效果。 实现效果 代码逻辑 动态生成控制按钮矩形,并设置响应的css // 动态添加一个调整位置的按钮addScaleBtn(target) {const w target.offsetWidth;con…

文心一言与千帆大模型平台的区别:探索百度AI生态的双子星

随着人工智能技术的迅猛发展&#xff0c;越来越多的公司开始投入资源开发自己的AI解决方案。在中国&#xff0c;百度作为互联网巨头之一&#xff0c;不仅在搜索引擎领域占据重要位置&#xff0c;还在AI领域取得了显著成就。其中&#xff0c;“文心一言”和“千帆大模型平台”便…

【西瓜书】神经网络-MP神经元、感知机和多层网络

神经网络&#xff08;neural networks&#xff09;的定义&#xff1a;神经网络是由具有适应性的简单单元组成的广泛并行互联的网络&#xff0c;它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。&#xff08;T. Kohonen 1988年在Neural Networks创刊号上给出的定义…

《基于FPGA的便携式PWM方波信号发生器》论文分析(三)——数码管稳定显示与系统调试

一、论文概述 基于FPGA的便携式PWM方波信号发生器是一篇由任青颖、庹忠曜、黄洵桢、李智禺和张贤宇 等人发表的一篇期刊论文。该论文主要研究了一种新型的信号发生器&#xff0c;旨在解决传统PWM信号发生器在移动设备信号调控中存在的精准度低和便携性差的问题 。其基于现场可编…

一个专为云原生环境设计的高性能分布式文件系统

大家好&#xff0c;今天给大家分享一款开源创新的分布式 POSIX 文件系统JuiceFS&#xff0c;旨在解决海量云存储与各类应用平台&#xff08;如大数据、机器学习、人工智能等&#xff09;之间高效对接的问题。 项目介绍 JuiceFS 是一款面向云原生设计的高性能分布式文件系统&am…

【JavaScript】图解JS中的字符串方法

&#x1f4af; 欢迎光临清清ww的博客小天地&#x1f4af; &#x1f525; 个人主页:【清清ww】&#x1f525; &#x1f4da; 系列专栏:vue3 | TypeScript &#x1f4da; &#x1f31f; 学习本无底&#xff0c;前进莫徬徨。&#x1f31f; 目录 一.字符串查找 1.length属性 2. i…

ffmpeg视频滤镜:替换部分帧-freezeframes

滤镜描述 freezeframes 官网地址 > FFmpeg Filters Documentation 这个滤镜接收两个输入&#xff0c;然后会将第一个视频中的部分帧替换为第二个视频的某一帧。 滤镜使用 参数 freezeframes AVOptions:first <int64> ..FV....... set first fra…

云计算-华为HCIA-学习笔记

笔者今年7月底考取了华为云计算方向的HCIE认证&#xff0c;回顾从IA到IE的学习和项目实战&#xff0c;想整合和分享自己的学习历程&#xff0c;欢迎志同道合的朋友们一起讨论&#xff01; 第三章&#xff1a;常见设备 交换机 二层交换机和三层交换机&#xff0c;所谓二层交换机…

问题记录-Java后端

问题记录 目录 问题记录1.多数据源使用事务注意事项&#xff1f;2.mybatis执行MySQL的存储过程&#xff1f;3.springBoot加载不到nacos配置中心的配置问题4.服务器产生大量close_wait情况 1.多数据源使用事务注意事项&#xff1f; 问题&#xff1a;在springBoot项目中多表处理数…

瑞派宠物医生 | 热爱与实践交织,专注宠物口腔健康

热爱与实践交织的兽医梦 瑞派上海乔登宠物医院院长陈德举自小便与赛鸽结下了不解之缘&#xff0c;家族中饲养赛鸽的传统不仅让他对鸟类产生了浓厚的兴趣&#xff0c;更在心中埋下了成为一名兽医的种子。在面临高考这一人生重要抉择时&#xff0c;他毫不犹豫地选择了兽医专业&am…

【AIGC】如何准确引导ChatGPT,实现精细化GPTs指令生成

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | 提示词Prompt应用实例 文章目录 &#x1f4af;前言&#x1f4af;准确引导ChatGPT创建爆款小红书文案GPTs指令案例&#x1f4af; 高效开发GPTs应用的核心原则明确应用场景和目标受众构建多样化风格模板提问与引…

json格式数据集转换成yolo的txt格式数据集

这个代码是参考了两个博客 我是感觉第一篇博客可能有问题&#xff0c;然后自己做了改进&#xff0c;如果我是错误的或者正确的&#xff0c;请各位评论区说一下&#xff0c;感谢 Json格式的数据集标签转化为有效的txt格式(data_coco)_train.json-CSDN博客 COCO&#xff08;.j…

Ajax学习笔记,第一节:语法基础

Ajax学习笔记&#xff0c;第一节&#xff1a;语法基础 一、概念 1、什么是Ajax 使用浏览器的 XMLHttpRequest 对象 与服务器通信2、什么是axios Axios是一个基于Promise的JavaScript库&#xff0c;支持在浏览器和Node.js环境中使用。相较于Ajax&#xff0c;Axios提供了更多…

【ONE·基础算法 || 动态规划(二)】

总言 主要内容&#xff1a;编程题举例&#xff0c;熟悉理解动态规划类题型&#xff08;子数组、子序列问题&#xff09;。                文章目录 总言5、子数组问题&#xff08;数组中连续的一段&#xff09;5.1、最大子数组和&#xff08;medium&#xff09;5.1.…

数据库相关学习杂记-事务

ARIES&#xff08;基于语义的恢复与隔离算法&#xff09;是现代数据库理论的基础。提供了解决ACID中A、I、D重要的解决思路。 基础知识 这里先复习一下关于ACID的含义以及数据库隔离级别&#xff1a; ACID的含义 原子性&#xff08;Atomicity&#xff09;: 一个事务中被视为…