[转帖]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数据库的归档模式转换问题 ...
随机推荐
- CTFHub XSS DOM反射 WriteUp
前言:本文需要注册一个xss平台,以接收xss反弹回来的数据,请自己在互联网上寻找合适的xss平台 1. 构造闭合语句 根据题目提示,判断网站存在DOM xss漏洞 查看页面源代码,发现关键位置,其中 ...
- Python快速爬取车标网图片,以后不要说这什么车你不认识了!
知识不分边界...... 人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:"落霞与孤鹜齐飞,秋水共长天一色."而不是:"卧靠,好多鸟."; 当你失恋时你低 ...
- CoralCache:一个提高微服务可用性的中间件
摘要:当数据库出问题时能降级从本地缓存的数据中查询数据,CoralCache就是这样一个提高微服务可用性的中间件. 背景 有些场景下,微服务依赖数据库中一些配置项或者数量很少的数据,但当数据库本身有问 ...
- 华为云企业级Redis揭秘第15期:Redis为什么需要强一致?
摘要:其实开源Redis的弱一致性已经不满足很多应用场景的诉求.怎么,不信? 本文分享自华为云社区<华为云企业级Redis揭秘第15期:Redis为什么需要强一致?>,作者: GaussD ...
- 湖仓一体天花板,大数据一站式SQL分析技术实践
摘要:本文将详细阐述HetuEngine在实现一站式SQL分析所面临的挑战.技术架构和案例. 本文分享自华为云社区<[华为云Stack][大架光临]第7期:湖仓一体天花板,大数据一站式SQL分析 ...
- Kubernetes(K8S) Deployment 拉取阿里云镜像部署
Docker Image 推到阿里云仓库,可以看 SpringBoot Docker 发布到 阿里仓库 1. 阿里镜像仓库加了授权,所以 K8S 拉之前要做下授权处理 [root@k8smaster ...
- RandomAccessFile 读写文件
将目录下的N个日志文件读写到一个文件中. @Test void verification() throws Exception { File f = new File("D:\\Logs&q ...
- python虚拟环境venv
Python3虚拟环境是为了在开发过程中隔离项目所需的 Python 环境.虚拟环境允许我们在同一台计算机上的不同项目中使用不同的 Python 版本和软件包,而不会相互干扰 首先创建一个虚拟环境的工 ...
- CMake + Protobuf 自动生成 cpp 文件(pb.h, pb.cc)
[Protoc]VS2019 (VS平台) 使用 CMake 编译安装.使用 Protobuf 库 本文介绍在 macOS 系统下 cmake 和 protobuf 一起使用的一种方式--使用 cma ...
- 汇编 | mov. add. sub指令
Description 前面我们用到了mov, add. sub指令,它们都带有两个操作对象.到现在,我们知道,mov指令可以有以下几种形式. mov 寄存器,数据 比如: mov ax,8 mov ...