Oracle RMAN异机迁移恢复

ops/2024/11/27 9:10:27/

Oracle RMAN异机迁移恢复

介绍

RMAN备份异机恢复几点说明:

(1)RMAN异机恢复的时候,db name必须相同

(2)如果恢复的路径和源库不一致,就需要在restorel时用set命令指定新位置。

准备异机恢复环境

安装的测试数据库 ORACLE 数据库软件并创建跟源数据库同名和数据库 SID 并修改数据库 DBID 跟源数据库 DBID 一样,

创建跟源数据库服务器相同的数据文件目录、日志文件目录、控制文件目录。

从生产库上全备文件复制到目录库

恢复数据库需要准备的文件:rman 完整备份(包括数据文件、日志文件、控制文件、 参数文件),记录源数据库的 DBID

总结步骤:

1,scp 全备文件到测试库,在备份库上查询好参数文件控制文件归档路径等信息

2,关闭测试库,启动到 nomount 状态,恢复参数文件控制文件

3,启动到 mount 状态,restore、recover 操作

4,打开数据库 alter database open resetlogs;

步骤

生产库:

模拟数据

conn hfedu01/hfedu01

create table hfedu001 (id number(10),name varchar2(10));

insert into hfedu001 values(1,‘hfedu01’);

insert into hfedu001 values(2,‘hfedu02’);

insert into hfedu001 values(3,‘hfedu03’);

insert into hfedu001 values(4,‘hfedu04’);

insert into hfedu001 values(5,‘hfedu05’);

commit;

alter system switch logfile;

alter system checkpoint;

archive log list

select * from hfedu01.hfedu001;

使用rman备份数据库

mkdir /backup/full

rman target /

backup tag hfedu7full format ‘/backup/full/hfedu7_full_fgzcdb_%s_%p_%t’ (database);

backup tag hfedu7ctl format ‘/backup/full/hfedu7_ctl_fgzcdb_%s_%p_%t’ (current controlfile);

backup tag itpux7pfile format ‘/backup/full/hfedu7_pfile_fgzcdb_%s_%p_%t’ (spfile);

记录数据库的bbid

sqlplus / as sysdba

select name ,dbid from v$database; --[bbid= 797496974]

set time on

21:28:00 SYS@hfzcdb> --记录时间

drop table hfedu01.hfedu001;

alter system switch logfile;

alter system checkpoint;

拷贝备份到还原库

scp -r full 172.30.21.98:/backup/

还原库

创建目录,最好是创建同样路径目录

mkdir -p /oradata/hfzcdb

chown -R oracle:dba /oradata/hfzcdb

chmod -R 775 /oradata

mkdir /archive

chown -R oracle:dba /archive

chmod -R 775 /archive

创建数据库目录

su - oracle

mkdir -p /oracle/app/oracle/admin/hfzcdb/adump

mkdir -p /oracle/app/oracle/admin/hfzcdb/dpdump

mkdir -p /oracle/app/oracle/admin/hfzcdb/pfile

mkdir -p /oracle/app/oracle/admin/hfzcdb/scripts

mkdir -p /backup/full

chown -R oracle:dba /oracle/app/oracle/admin/hfzcdb

chmod 775 /oracle/app/oracle/admin/hfzcdb

设置环境变量

export ORACLE_SID=hfzcdb

恢复参数文件

rman target /

startup nomount

set dbid=797496974

restore spfile from '/backup/full/hfedu7_pfile_fgzcdb_5_1_1133213159';

恢复控制文件,恢复数据库

RMAN> shutdown immediate

export ORACLE_SID=hfzcdb

sqlplus / as sysdba

startup nomount;

SQL> show parameter control;

NAME                 TYPE        VALUE\------------------------------
control_file_record_keep_time    integer            7
control_files                    string              /oradata/hfzcdb/control01.ctl, /oradata/hfzcdb/control02.ctl
control_management_pack_access  string               DIAGNOSTIC+TUNING

rman target /

restore controlfile from '/backup/full/hfedu7_ctl_fgzcdb_3_1_1133213110';

恢复数据库

RMAN> alter database mount;
RMAN> restore database;
RMAN> run
{
set until time='2023-04-03 21:28:00';
recover database;
}
--unable to find archived log
--archived log thread=1 sequence=21
--RMAN-00571: ===========================================================
--RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
--RMAN-00571: ===========================================================
--RMAN-03002: failure of recover command at 04/03/2023 21:49:32
--RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 21 and starting SCN of 1417139
#mkdir -p /archive/HFZCDB/archivelog/2023_04_03
生产库:

cd /archive/HFZCDB/archivelog/2023_04_03/

scp o1_mf_1_21_l2oo4nfm_.arc 172.30.21.98:$PWD

还原库:
rman target /run
{
set until time='2023-04-03 21:28:00';
recover database;
}

打开数据库

export ORACLE_SID=hfzcdb

sqlplus / as sysdba

alter database open resetlogs;
select * from hfedu01.hfedu001;

使用exp导出数据,进行增量恢复

源库

cd /backup/

exp hfedu01/hfedu01 file=hfedu01.dmp log=hfedu01.log tables=hfedu001

scp hfedu01.* 172.30.21.191:/backup/

生产库:

cd /backup/

imp hfedu01/hfedu01 file=hfedu01.dmp full=yes

sqlplus / as sysdba

select * from hfedu01.hfedu001;

–结束*/


http://www.ppmy.cn/ops/137040.html

相关文章

PyTorch2

Tensor的常见操作: 获取元素值: 注意: 和Tensor的维度没有关系,都可以取出来! 如果有多个元素则报错; import torch def test002():data torch.tensor([18])print(data.item())pass if __name__ &qu…

数字图像处理(6):除法运算、除法器

(1)当除数是常数时,可以先转化为乘法,再右移,乘法的N越大,计算误差越小。 如:计算x/122,可以看成(x * 67)>>13,N13,使用verilog实现: reg …

Docker部署mysql:8.0.31+dbsyncer

Docker部署mysql8.0.31 创建本地mysql配置文件 mkdir -p /opt/mysql/log mkdir -p /opt/mysql/data mkdir -p /opt/mysql/conf cd /opt/mysql/conf touch my.config [mysql] #设置mysql客户端默认字符集 default-character-setUTF8MB4 [mysqld] #设置3306端口 port33…

【贪心算法第五弹——300.最长递增子序列】

目录 1.题目解析 题目来源 测试用例 2.算法原理 3.实战代码 代码解析 注意本题还有一种动态规划的解决方法,贪心的方法就是从动态规划的方法总结而来,各位可以移步博主的另一篇博客先了解一下:动态规划-子序列问题——300.长递增子序列…

基于K8S编排部署EFK日志收集系统

基于K8S编排部署EFK日志收集系统 案例分析 1. 规划节点 节点规划,见表1。 表1 节点规划 IP主机名节点192.168.100.3masterk8s-master192.168.100.4nodek8s-node 2. 基础准备 Kubernete环境已安装完成,将提供的软件包efk-img.tar.gz上传至master节…

ElasticSearch学习笔记六:Springboot整合

一、前言 在前一篇文章中,我们学习了ES中的一部分的搜索功能,作为一名Java工程师,更多时候我们是用代码去操作ES,同时对于Java而言时下最流行的就是Springboot了,所以这里我们将ES和Springboot整合将上一篇文章中的所…

基础入门-Web应用架构搭建域名源码站库分离MVC模型解析受限对应路径

知识点: 1、基础入门-Web应用-域名上的技术要点 2、基础入门-Web应用-源码上的技术要点 3、基础入门-Web应用-数据上的技术要点 4、基础入门-Web应用-解析上的技术要点 5、基础入门-Web应用-平台上的技术要点 一、演示案例-域名差异-主站&分站&端口站&…

在远程服务器和本地同步数据的指南

在远程服务器和本地同步数据的指南 在现代软件开发和数据管理中,保持本地和远程服务器之间的数据同步是至关重要的。无论是代码、配置文件还是其他数据,确保它们在不同环境中的一致性都是高效工作的关键。本文将介绍如何使用 Bash 脚本和 rsync 工具在本…