当前位置: 首页 > news >正文

11G RAC数据文件创建到本地如何处理

问题场景

本身问题不复杂,开发的人员在现有的RAC上加了个数据文件,结果路径写错了,文件加到了服务器本地磁盘上。

后来他们自己拍脑门想到了个办法,把数据文件里的表MOVE到其它表空间里去,然后再删除这个文件(啊这。0_0)

结果他们查到了新数据文件里有LOB字段,就尝试把整个LOB字段挪到别的表空间。。。。。。

挪了4-5个小时无果,无奈要上班了,最后只能kill掉MOVE进程,回滚数据了。就这样又用了几天。

直到最近,还是出问题了。。。

趁着这次库出问题,直接停库时候,正好把文件改到ASM存储里。

现场的环境是:

两台AIX7系统下的11G RAC集群。下面简单记录一下操作过程

处理办法

先确认数据库开启了归档模式

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            +ARCH
Oldest online log sequence     58500
Next log sequence to archive   58502
Current log sequence           58502

确认被放到本地的数据文件位置

SQL> select file#,name from v$datafile where file#='56';FILE#     NAME
------- -------------------------------------------------------------------------
56       /u01/app/oracle/oracle/product/11.2.0/dbhome_1/dbs/R:ORADATAHTEMRHTBASE01.DBF1 rows selected.

下线数据文件

SQL> alter database datafile 56 offline;Database altered.SQL> select file#,status from v$datafile where file#='56';FILE# STATUS
---------- -------56 RECOVER

登录rman,把文件复制到ASM存储里

bash-3.2$ rman target/Recovery Manager: Release 11.2.0.4.0 - Production on Tue Aug 12 09:57:12 2025Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: EMRDB (DBID=xxxxxx)RMAN> backup as copy datafile 56 format '+DATA/emrdb/datafile/htbase48.ora';Starting backup at 2025-08-12 09:59:58
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2129 instance=emrdb2 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00056 name=/u01/app/oracle/oracle/product/11.2.0/dbhome_1/dbs/R:ORADATAHTEMRHTBASE01.DBF
output file name=+DATA/emrdb/datafile/htbase48.ora tag=TAG20250812T095958 RECID=1 STAMP=1208944798
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 2025-08-12 09:59:59

亲自到ASM里查看一下文件是否存在,用grid用户操作

$ asmcmd
ASMCMD> cd data
ASMCMD> cd emrdb
ASMCMD> cd datafile
ASMCMD> ls -l
Type      Redund  Striped  Time             Sys  Name
<多余的我这里隐去了>N    htbase46.ora => +DATA/EMRDB/DATAFILE/HTBASE.319.1170750941N    htbase47.ora => +DATA/EMRDB/DATAFILE/HTBASE.320.1170751055N    htbase48.ora => +DATA/EMRDB/DATAFILE/HTBASE.321.1208944799

切回到Oracle用户,登录数据库,执行修改数据文件命令

$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 12 10:01:19 2025
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing optionsSQL> alter database rename file '/u01/app/oracle/oracle/product/11.2.0/dbhome_1/dbs/R:ORADATAHTEMRHTBASE01.DBF' to '+DATA/emrdb/datafile/htbase48.ora';Database altered.

确认修改结果

SQL> select file#,name,status from v$datafile;FILE#     NAME   							  STATUS
-------   ---------------------------------  	-------
56        +DATA/emrdb/datafile/htbase48.ora     RECOVER

上线数据文件

SQL> alter database recover datafile 56;
Database altered.SQL> alter database datafile 56 online;
Database altered.

确认数据文件状态

SQL> select file#,name,status from v$datafile;FILE#     NAME   							 STATUS
-------   ---------------------------------    -------
56        +DATA/emrdb/datafile/htbase48.ora     ONLINE

收工!

再说一句

如果是12C及以上版本的话,可以在线移动数据文件

lter database move datafile '/u01/app/oracle/product/12.2/db1/dbs/xxxx.dbf' to '+DATA';

最后再刷新下sharepool

alter system check datafiles;
alter system flush shared_pool;
http://www.dtcms.com/a/328930.html

相关文章:

  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day3
  • 《算法导论》第 22 章 - 基本的图算法
  • [AXI5]AXI协议中的Scalar atomic和Vector atomic有什么区别?
  • 【算法】位运算经典例题
  • BM25:概率检索框架下的经典相关性评分算法
  • ADB 无线调试连接(Windows + WSL 环境)
  • 如何在VS里使用MySQL提供的mysql Connector/C++的debug版本
  • C++ 优选算法 力扣 209.长度最小的子数组 滑动窗口 (同向双指针)优化 每日一题 详细题解
  • Java Spring框架最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
  • graphql接口快速使用postman添加接口以及输入返回参数
  • 超越相似名称:Elasticsearch semantic text 如何在简洁、高效、集成方面超越 OpenSearch semantic 字段
  • 5.语句几个分类
  • 自建知识库,向量数据库 体系建设(四)之文本向量与相似度计算——仙盟创梦IDE
  • 药房智能盘库系统的Python编程分析与实现—基于计算机视觉与时间序列预测的智能库存管理方案
  • Ubuntu下快速安装Tomcat教程
  • ubuntu24.04安装 bpftool 以及生成 vmlinux.h 文件
  • 4 种方法将联系人从 iPhone 传输到 realme
  • java中在多线程的情况下安全的修改list
  • 【C++ STL】list详解和模拟
  • 冒泡排序专栏
  • Java研学-RabbitMQ(七)
  • LeetCode_二叉树
  • Python 中使用多进程编程的“三两”问题
  • 如何记录日常笔记?
  • AAT Bioquest 细胞凋亡检测方法集锦
  • 数组和矩阵的核心关系及关键区别
  • C# xml UI格式化字符串
  • Java -- Vector底层结构-- ArrayList和LinkedList的比较
  • 河南萌新联赛2025第五场 - 信息工程大学
  • AI-调查研究-50-大数据调研报告 二十年演进:从Hadoop批处理到Flink实时计算的架构变革