[转帖]RAC环境下误操作将数据文件添加到本地存储
https://www.cnblogs.com/jyzhao/p/7986729.html
今天碰到个有意思的事情,有客户在Oracle RAC环境,误操作将新增的数据文件直接创建到了其中一个节点的本地存储上。
发现网上去搜的话这种问题还真不少,对应解决方案也各式各样,客户问我选择哪种方案可行,看来基础的数据维护工作还是有必要进一步规范的。
数据库是归档模式,那么我们实际可以利用rman的backup as copy datafile xxx format ''以及 switch datafile xxx to copy来操作,这样来解决是最简单且最不容易误操作的。
简单做一个实验来说明,整个过程如下:
环境:Oracle 12.2.0.1 RAC
1.模拟误操作添加一个数据文件到本地存储目录下
SQL> alter tablespace users add datafile '/tmp/user02.dbf' size 150M;
Tablespace altered.
SQL> select file_id, file_name from dba_data_files;
FILE_ID FILE_NAME
---------- ------------------------------------------------------------------
1 +DATA/NEWDB1/DATAFILE/system.257.954241433
3 +DATA/NEWDB1/DATAFILE/sysaux.258.954241497
4 +DATA/NEWDB1/DATAFILE/undotbs1.259.954241533
7 +DATA/NEWDB1/DATAFILE/users.260.954241535
15 /tmp/user02.dbf
9 +DATA/NEWDB1/DATAFILE/undotbs2.269.954241841
6 rows selected.
查到这个误操作新增的数据文件号是15.
2.利用RMAN把15号文件备份副本(backup as copy)
RMAN> backup as copy datafile 15 format '+data';
Starting backup at 05-DEC-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=47 instance=newdb11 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00015 name=/tmp/user02.dbf
output file name=+DATA/NEWDB1/DATAFILE/users.279.961935881 tag=TAG20171205T122439 RECID=4 STAMP=961935880
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 05-DEC-17
Starting Control File and SPFILE Autobackup at 05-DEC-17
piece handle=+FRA/NEWDB1/AUTOBACKUP/2017_12_05/s_961935881.262.961935883 comment=NONE
Finished Control File and SPFILE Autobackup at 05-DEC-17
3.将15号数据文件离线
可以只将错误的15号数据文件离线,减小影响;
RMAN> alter database datafile 15 offline;
Statement processed
4.切换15号数据文件到copy副本
RMAN> switch datafile 15 to copy;
datafile 15 switched to datafile copy "+DATA/NEWDB1/DATAFILE/users.279.961935881"
5.恢复15号数据文件
RMAN> recover datafile 15;
Starting recover at 05-DEC-17
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 05-DEC-17
6.将15号数据文件上线
RMAN> alter database datafile 15 online;
Statement processed
FILE_ID FILE_NAME
---------- ------------------------------------------------------------------
1 +DATA/NEWDB1/DATAFILE/system.257.954241433
3 +DATA/NEWDB1/DATAFILE/sysaux.258.954241497
4 +DATA/NEWDB1/DATAFILE/undotbs1.259.954241533
7 +DATA/NEWDB1/DATAFILE/users.260.954241535
15 +DATA/NEWDB1/DATAFILE/users.279.961935881
9 +DATA/NEWDB1/DATAFILE/undotbs2.269.954241841
6 rows selected.
注:如果客户有特殊要求,backup as copy时直接将数据文件名改成规范的,比如在步骤2中可以这样指定具体的名字:
RMAN> backup as copy datafile 15 format '+data/NEWDB1/DATAFILE/users02.DBF';
实际上users02.dbf这种也只是个别名,底层还是OMF那种命名的文件,这样做没什么太大的实际意义,但有时候客户会喜欢这种看起来更好管理的方式。
[转帖]RAC环境下误操作将数据文件添加到本地存储的更多相关文章
- RAC环境下误操作将数据文件添加到本地存储
今天碰到个有意思的事情,有客户在Oracle RAC环境,误操作将新增的数据文件直接创建到了其中一个节点的本地存储上. 发现网上去搜的话这种问题还真不少,对应解决方案也各式各样,客户问我选择哪种方案可 ...
- 【转】Oracle RAC 环境下的连接管理
文章转自:http://www.oracle.com/technetwork/cn/articles/database-performance/oracle-rac-connection-mgmt-1 ...
- RAC 环境下的重要参数
Oracle 数据库启动时会根据参数文件中提供的相关参数启动Oracle实例.这些参数包括数据库名字.sga,pga的分配,控制文件的位置,undo,process等等.Oracle RAC数据库同样 ...
- Oracle RAC 环境下的连接管理(转) --- 防止原文连接失效
崔华老师的文章!!! 这篇文章详细介绍了Oracle RAC环境下的连接管理,分别介绍了什么是 Connect Time Load Balancing.Runtime Connection Load ...
- 【OGG】RAC环境下配置OGG单向同步 (四)
[OGG]RAC环境下配置OGG单向同步 (四) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的 ...
- 【RAC】rac环境下的数据库备份与还原
[RAC]rac环境下的数据库备份与还原 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~ ...
- 利用XAG在RAC环境下实现GoldenGate自动Failover
概述 在RAC环境下配置OGG,要想实现RAC节点故障时,OGG能自动的failover到正常节点,要保证两点: 1. OGG的checkpoint,trail,BR文件放置在共享的集群文件系统上,R ...
- Oracle 11g RAC环境下Private IP修改方法及异常处理
Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...
- RAC 环境下参数文件(spfile)管理
RAC环境下,初始化参数文件与但实例下参数文件有些异同,主要表现在初始化参数可以为多个实例公用,也可以单独设置各个实例的初始化参数.对于那些非共用的初始化参数则必须要单独设置,而共用的则可以单独设置, ...
- RAC 环境下修改归档模式
RAC环境下的归档模式切换与单实例稍有不同,主要是共享存储所产生的差异.在这种情况下,我们可以将RAC数据库切换到非集群状态下,仅仅在一个实例上来实施归档模式切换即可完成RAC数据库的归档模式转换问题 ...
随机推荐
- Spring Boot入坑-2-第一个Spring Boot项目
Spring Boot简介 自从2014年4月Pivotal团队推出以来,作为一个基于Spring的开源轻量级框架,备受企业级应用喜爱 简化Spring应用的搭建与开发过程 是对Spring缺点进行的 ...
- 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 05.认识GameMode&自动生成AI角色
斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 本篇文章将会讲述UE中Gamemode的基本概念,并在C++中开发GameMode,为游戏设置一个简单的玩法:使 ...
- 2种GaussDB(DWS)查看作业运行信息方式
摘要:提供以作业基本单位的作业统计视图pgxc_session_wlmstat,便于用户观察运行作业和排队作业信息. 本文分享自华为云社区<GaussDB(DWS)如何查看作业运行信息>, ...
- 华为云PB级数据库GaussDB(for Redis)揭秘第五期:高斯 Redis 在IM场景中的应用
摘要:揭秘高斯 Redis 在IM场景中的应用. 本文分享自华为云社区<华为云PB级数据库GaussDB(for Redis)揭秘第五期:高斯 Redis 在IM场景中的应用>,原文作者: ...
- 为啥你写的代码老有大串的if/else?
摘要:控制语句,到底何错之有呢? 本文分享自华为云社区<业务代码如何才能不再写出大串的if/else?>,作者: JavaEdge . 控制结构?没错!你最爱的 if.for都是一类坏味道 ...
- vue2升级vue3:vue3 hooks库选用
之前a-hooks:https://ahooks.js.org/,比react-use 精简好用.但是没有vue版本的. 网上有个人实现的:https://github.com/dewfall123/ ...
- Runnable接口的 run() 方法和start()方法
1.start()方法来启动线程,真正实现了多线程运行.这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码:通过调用Thread类的start()方法来启动一个线程, 这时此线程是处于就 ...
- 一款基于.NET开发的免费的火车票分流抢票软件
前言 接近年底了又到了全员抢票的日子,今天有同学在技术群里问有没有黄牛推荐帮忙抢车票的.今天分享一个我一直在用的基于.NET开发的.完全免费的火车票分流抢票软件:Bypass. 软件介绍 Bypass ...
- 【HZERO】分支管理
分支管理 分支类型 feature-[任务编号]-简单描述: 任务开发分支,针对迭代子任务建立的开发分支 bugfix :修复分支,用于缺陷修复. develop:开发分支,所有开发人员都可以提交代码 ...
- XShell、XFtp免费许可证增强:删除标签限制!
大家好,我是DD! XShell相信大家都不陌生了,作为Windows平台下最强大的SSH工具,是大部分开发者的必备工具.但由于免费许可证的标签限制,有不少开发者会去找破解版使用.虽然功能是可以使用了 ...