Oracle12c RAC RMAN异机恢复
########################################################
#编辑pfile文件initspdb.ora
vi /oracle/app/oracle/product/12.2.0/db_1/dbs/initspdb.ora
audit_file_dest='/oracle/app/oracle/admin/spdb/adump'
audit_trail='db'
compatible='12.2.0'
control_files='/oracle/app/oracle/oradata/spdb/control.ctl'
db_block_size=8192
db_name='spdb'
diagnostic_dest='/oracle/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=spdbXDB)'
enable_pluggable_database=true
log_archive_dest_1='LOCATION=/orabak/archivelog'
open_cursors=300
pga_aggregate_target=5120m
processes=400
remote_login_passwordfile='exclusive'
sga_target=10240m
undo_tablespace='UNDOTBS1'
db_file_name_convert='+DATADG/SPDB/DATAFILE','/oracle/app/oracle/oradata/spdb/','+DATADG/SPDB/8E80F930196B6100E053E200A8C0AF9F/DATAFILE','/oracle/app/oracle/oradata/spdb/pdbseed/','+DATADG/SPDB/8E81C7A967C43CB7E053E300A8C06223/DATAFILE','/oracle/app/oracle/oradata/spdb/spdb1pdb/','+DATADG/SPDB/93BFEF75138BC79EE053E300A8C08BA1/DATAFILE','/oracle/app/oracle/oradata/spdb/kdlxpdb
#创建目录
mkdir -p /oracle/app/oracle/admin/spdb/adump
mkdir -p /orabak/archivelog
########################################################
#创建spfile
SQL> create spfile from pfile='/oracle/app/oracle/product/12.2.0/db_1/dbs/initspdb.ora'
#进到nomount状态
SQL> startup nomount
--#恢复spfile文件
--RMAN> restore spfile from '/orabak/spfile_ORCL_1026474723_1096_1';
SQL> shutdown abort
cd /oracle/app/oracle/product/12.2.0/db_1/dbs/
rm initspdb.ora
$strings spfilespdb.ora
SQL> startup nomount
########################################################
#恢复control文件
RMAN> restore controlfile from '/orabak/control_ORCL_1026474721_1095_1';
#进到mount状态
SQL> alter database mount;
#删除backup
RMAN> list backup;
RMAN> crosscheck backup;
RMAN> delete backup;
RMAN> list backup;
########################################################
#恢复dbfile全备文件
RMAN> catalog start with '/orabak/backup/';
RMAN> list backup;
rman target /
run{
allocate channel ch1 type disk;
allocate channel ch2 type disk;
set newname for datafile 1 to '/oracle/app/oracle/oradata/spdb/system.dbf';
set newname for datafile 3 to '/oracle/app/oracle/oradata/spdb/sysaux.dbf';
set newname for datafile 5 to '/oracle/app/oracle/oradata/spdb/undotbs1.dbf';
set newname for datafile 7 to '/oracle/app/oracle/oradata/spdb/undotbs2.dbf';
set newname for datafile 8 to '/oracle/app/oracle/oradata/spdb/users.dbf';
set newname for datafile 2 to '/oracle/app/oracle/oradata/spdb/pdbseed/system.dbf';
set newname for datafile 4 to '/oracle/app/oracle/oradata/spdb/pdbseed/sysaux.dbf';
set newname for datafile 6 to '/oracle/app/oracle/oradata/spdb/pdbseed/undotbs1.dbf';
set newname for datafile 9 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/system.dbf';
set newname for datafile 10 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/sysaux.dbf';
set newname for datafile 11 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/undotbs1.dbf';
set newname for datafile 12 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/undo_2.dbf';
set newname for datafile 13 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/users.dbf';
set newname for datafile 14 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/spdata1.dbf';
set newname for datafile 15 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/spdata2.dbf';
set newname for datafile 16 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/managedata1.dbf';
set newname for datafile 18 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/managedata2.dbf';
set newname for datafile 17 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/clouddata1.dbf';
set newname for datafile 19 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/clouddata2.dbf';
set newname for datafile 20 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/cloudtestdata1.dbf';
set newname for datafile 21 to '/oracle/app/oracle/oradata/spdb/spdb1pdb/cloudtestdata2.dbf';
set newname for datafile 28 to '/oracle/app/oracle/oradata/spdb/kdlxpdb/system.dbf';
set newname for datafile 29 to '/oracle/app/oracle/oradata/spdb/kdlxpdb/sysaux.dbf';
set newname for datafile 30 to '/oracle/app/oracle/oradata/spdb/kdlxpdb/undotbs1.dbf';
restore database;
switch datafile all;
switch tempfile all;
release channel ch1;
release channel ch2;
}
RMAN> recover database;
#recover报错,需要指定SCN
RMAN> recover database until scn 233086903; #全量备份的SCN
#将归档日志及增量备份数据文件拷贝至/orabak/backup/目录并追加
RMAN> catalog start with '/orabak/backup/';
RMAN> list backup;
#找到对应增量备份节点的SCN进行恢复,建议根据备份策略依次恢复(优先读取增量文件其次归档日志)。
RMAN> recover database until scn 234809384; #归档日志恢复第一天增量
RMAN> recover database until scn 237672420; #增量文件及归档日志恢复第二天增量
#第二天增量恢复完成,接着恢复第三天增量报错。备份期间生成过数据文件,可通过恢复单独数据文件恢复,因隔天忘记恢复第三天增量数据。
RMAN> recover database until scn 241710899; #第三天增量恢复
RMAN> restore datafile 31;
########################################################
#数据库open
SQL> alter database open;
SQL> alter database open resetlogs;
#ASM磁盘和集群报错,需要调整控制文件
SQL> alter database backup controlfile to trace as '/home/oracle/ctl.control';
SQL> shutdown abort;
vi /home/oracle/ctl.control
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "SPDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 32
MAXLOGHISTORY 584
LOGFILE
GROUP 1 '/oracle/app/oracle/oradata/spdb/redo1.log' SIZE 200M BLOCKSIZE 512,
GROUP 2 '/oracle/app/oracle/oradata/spdb/redo2.log' SIZE 200M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/oracle/app/oracle/oradata/spdb/system.dbf',
'/oracle/app/oracle/oradata/spdb/pdbseed/system.dbf',
'/oracle/app/oracle/oradata/spdb/sysaux.dbf',
'/oracle/app/oracle/oradata/spdb/pdbseed/sysaux.dbf',
'/oracle/app/oracle/oradata/spdb/undotbs1.dbf',
'/oracle/app/oracle/oradata/spdb/pdbseed/undotbs1.dbf',
'/oracle/app/oracle/oradata/spdb/undotbs2.dbf',
'/oracle/app/oracle/oradata/spdb/users.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/system.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/sysaux.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/undotbs1.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/undo_2.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/users.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/spdata1.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/spdata2.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/managedata1.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/clouddata1.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/managedata2.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/clouddata2.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/cloudtestdata1.dbf',
'/oracle/app/oracle/oradata/spdb/spdb1pdb/cloudtestdata2.dbf',
'/oracle/app/oracle/oradata/spdb/kdlxpdb/system.dbf',
'/oracle/app/oracle/oradata/spdb/kdlxpdb/sysaux.dbf',
'/oracle/app/oracle/oradata/spdb/kdlxpdb/undotbs1.dbf'
CHARACTER SET AL32UTF8
;
--RECOVER DATABASE --All logs need archiving and a log switch is needed.
--ALTER SYSTEM ARCHIVE LOG ALL; -- Database can now be opened normally.
--ALTER DATABASE OPEN; -- Open all the PDBs.
--ALTER PLUGGABLE DATABASE ALL OPEN;
#编辑控制文件,重新生成控制文件
SQL> @/home/oracle/ctl.control
SQL> alter database open RESETLOGS;
#生成thread 2 redo日志文件
SQL> ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 3 '/oracle/app/oracle/oradata/spdb/redo03.log' SIZE 50M,GROUP 4 '/oracle/app/oracle/oradata/spdb/redo04.log' SIZE 50M;
SQL> alter database open RESETLOGS;
SQL> alter database open;
SQL> alter pluggable database all open;
至此RAC的RMAN异机恢复就完成了。恢复过程中遇到问题就针对解决吧,Good Luck!!!
########################################################
注常用命令:
RMAN> list backup;
RMAN> crosscheck backupset;
RMAN> delete backupset;
RMAN> delete backup;
RMAN> restore database;
RMAN> restore datafile 31;
RMAN> recover database until SCN XXX;
RMAN> list archivelog all;
RMAN> list copy;
RMAN> catalog start with '/orabak/backup';
Oracle12c RAC RMAN异机恢复的更多相关文章
- Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...
- Linux平台下RMAN异机恢复总结
下面总结.整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,直到最近偶然被翻看到,遂整理.总结一下.如下所示,个人将整个RMAN异机恢复分为准备工作和操作步骤两大部分.当然,准 ...
- RMAN异机恢复实验---转载
一.RMAN异机恢复实验 2011年3月23日00:44 1.环境介绍: 主机1: 操作系统 REDHAT5.5 IP地址 172.16.1.120 主机名 sigle 数据库版本 10.2.0.4 ...
- NBU Rman异机恢复Oracle
前段时间一个亿级分区表,被分割成历史表和业务表,历史表中保留15天以外的数据,每天都会从业务表中的15天外的数据copy到历史表,并删除业务表15天外的数据,逻辑也很简单,但插入历史表的where 条 ...
- RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例
测试环境: 操作系统 : Red Hat Enterprise Linux ES release 4 (Nahant Update 4) VMWARE 数据库 : O ...
- oracle rman异机恢复
Oracle源主机 Oracle目标主机 主机平台 CentOS6.2(final) CentOs6.2(FInal) 主机名 vick rman IP地址 192.168.1.11 192.16 ...
- rman异机恢复,全部恢复和增量恢复
1.首先准备工作:hostname 192.168.222.11 ol7.localdomain ol7建立相关目录:mkdir -p /u01/app/oracle/oradata/DB11G/mk ...
- RMAN异机恢复步骤及故障处理
一.測试机安装OS+Oracle Software.包含配置oracle用户.组和环境变量(略) 二.開始异机恢复 1. 复制源库最新备份集.初始化參数.password文件到測试机 [oracle@ ...
- Oracle RMAN 异机恢复一例
背景介绍:本例需求是将NBU备份的oracle数据库恢复到另一主机上. NBU环境配置.异机上的Oracle软件安装配置忽略,下面只介绍OracleDB恢复的过程. ----------------- ...
随机推荐
- 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_6 Mybatis的CRUD-保存操作的细节-获取保存数据的id
保存后得到id 默认查询出来的是0,因为没有插入就要得到最后的id值. insert语句跟在前面就可以获取到id了 新插入的这条数据就是51 order=after表示在insert语句后再去获取id ...
- 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_01.mybatis课程介绍
- Windows下GIT的用户密码修改
Windows下GIT的用户密码修改
- oracle-控制文件的备份和恢复
本篇将介绍各种备份及恢复控制文件的方法,在介绍恢复时,以备份和重做日志(包括归档日志和在线日志)没有丢失为前提. 无备份情况下的控制文件恢复参考13.3,丢失重做日志的情况请参考12篇“不完全数据库恢 ...
- CSS3——分组和嵌套 尺寸 display显示 position定位 overflow float浮动
分组和嵌套 分组选择器 ——————> 嵌套选择器 能适用于选择器内部的选择器的样式 p{ }: 为所有 p 元素指定一个样式. .marked{ }: 为所有 class="m ...
- 【MM系列】SAP 交货单屏幕增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 交货单屏幕增强 前言部分 ...
- IF条件控制
条件控制 定义 Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块. 如下图所示 IF语句 if condition_1: statement_blo ...
- MySQL插入emoji表情报错 SQLException: Incorrect string value 的两种解决方案
摘抄自:https://blog.csdn.net/dmw412724/article/details/81119325 原因:mysql的UTF-8只支持三个字节的存储,而一般字符是三个字节,但是e ...
- dp基础√
1.重叠子问题 2.能从小问题推到大问题 Dp: 设计状态+状态转移 状态: 1.状态表示: 是对当前子问题的解的局面集合的一种(充分的)描述.(尽量简洁qwq) ◦ 对于状态的表示 ...
- 图论 test solution
图论 test solution T1:潜伏 题目背景 小悠回家之后,跟着母亲看了很多抗日神剧,其中不乏一些谍战片. 题目描述 解放前夕,北平城内潜伏着若干名地下党员,他们居住在城市的不同位置.现在身 ...