Oracle 11.2.0.1升级到11.2.0.4并做rman备份异机恢复

下载好数据库升级包,想去Oracle官网下载的,提示没有授权
只能在csdn找付费的了,9块1个,下载了前2个。
注意,总共有7个包,如果Oracle是安装在linux服务器,且无图形界面管理的
只需要第一,第二个包即可(即使博主说必须下载7个,其实也是2个就可以了)

unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

unzip 命令解压后,如下图
在这里插入图片描述

直接cd database ,执行下面的命令安装数据库:

./runInstaller -silent -debug -force -ignorePrereq DECLINE_SECURITY_UPDATES=true oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/home/oracle/11.2.0.4/oraInventory ORACLE_HOME=/data/oracle/product/11.2.0.4 ORACLE_BASE=/data/oracle/new/ oracle.install.db.InstallEdition=EE oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oracle

这里ORACLE_HOME设置为:/data/oracle/product/11.2.0.4,原来的目录为/data/oracle/product/11.2.0.1

软件升级之后
同步旧库的oradata文件过来(根据实际情况拷贝数据文件),dbs里面的ora文件同步过来

rsync -avl /data/oracle/product/11.2.0.4/oradata/* /data/oracle/product/11.2.0.1/oradata/
rsync -avl /data/oracle/product/11.2.0.4/dbs/* /data/oracle/product/11.2.0.1/dbs/

如果11.2.0.4里面没有oradata目录,新建一个即可

重启一下进程,然后启动数据库:

lsnrctl stop
lsnrctl start

在这里插入图片描述

启动数据库

sqlplus / as sysdba
startup upgrade;

看看数据库是否能正常启动,可以正常启动后

去源库查看undo参数:show parameter undo;
如果我们的库和源库这个参数不一致,恢复后启动会报错,找不到undo文件的

启动数据库到MOUNT; 这个状态设置undo相关参数

shutdown abort;
startup mount;
CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE '/data/oracle/product/11.2.0.4/db_1/oradata/UNDOTBS1.DBF' SIZE 100M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED; 
alter system set undo_tablespace='UNDOTBS1';
alter system set db_recovery_file_dest_size=12G;
COMMIT;
alter database open;
create pfile='/data/oracle/pfile_0630.ora' from spfile;
shutdown abort;

我们这里当前库是UNDOTBS01,源库是UNDOTBS1,所以要把当前库的设置一下,根源库一样才行
这里顺便设置了db_recovery_file_dest_size,show parameter db_recovery_file查看这个的值,原来是2G,太小了,第一次做的时候报错是这个内存不足,所以这里给设置成了12G,免除后患
保存一个ora文件后,关闭数据库。
保存的.ora文件,里面的值必须改为升级后的数据库版本,compatible=‘11.2.0.4.0’(必须改,否则恢复后会提示control文件版本不兼容)

下面开始恢复数据库:

rman target /
startup nomount pfile=/data/oracle/pfile_0630.ora;
restore controlfile from '/data/oracle/tdata_2024-05-30/c-24543xxxxxxx';
alter database mount;

用我们保存后修改过的.ora文件启动,启动数据库到nomount模式
恢复控制文件
启动数据库到mount模式
如果上面的操作都没报错,继续RMAN操作:

catalog start with '/data/oracle/tdata_2024-05-30/';
run{
allocate channel c1 device type disk;
set newname for database to '/data/oracle/product/11.2.0.4/db_1/oradata/%b';
restore database;
switch datafile all;
switch tempfile all;
release channel c1;
}

/data/oracle/tdata_2024-05-30/是我们从源库拷贝过来的rman备份文件
包括了控制文件、数据文件、归档日志这些
在这里插入图片描述
/data/oracle/product/11.2.0.4/db_1/oradata/%b
这里是我们要恢复的数据保存的目标路径,
%b 指定的文件名从目录路径中剥离,只获取数据文件名称.
执行run命令后,可以用这个语句SQL查看进度

SELECT 
(select sysdate from dual) as systime,
SID,
       SERIAL#,
       CONTEXT,
       SOFAR,
       TOTALWORK,
       ROUND(SOFAR / TOTALWORK * 100, 2) "%_COMPLETE"
  FROM gV$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%' AND OPNAME NOT LIKE '%aggregate%' AND
       TOTALWORK != 0 AND SOFAR <> TOTALWORK
       order by 7 desc;

上面的命令跑完之后,恢复数据库

recover database;

这里会有一个报错,可以这样处理,也有说不处理也没关系的
在这里插入图片描述
(最后验证的时候,指定到某个时间点的话,有些表的数据行数跟源库不一致,根这个报错有关系吗?还没确定是业务导致的还是这个报错导致的)
然后用resetlogs参数打开数据库

alter database open resetlogs;

恢复完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/778434.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java面试八股之如何提高MySQL的insert性能

如何提高MySQL的insert性能 提高MySQL的INSERT性能可以通过多种策略实现&#xff0c;以下是一些常见的优化技巧&#xff1a; 批量插入&#xff1a; 而不是逐条插入&#xff0c;可以使用单个INSERT语句插入多行数据。例如&#xff1a; INSERT INTO table_name (col1, col2) V…

C++笔试强训2

文章目录 一、选择题二、编程题 一、选择题 和笔试强训1的知识点考的一样&#xff0c;因为输出的是double类型所以后缀为f,m.n对其30个字符所以m是30&#xff0c;精度是4所以n是4&#xff0c;不加符号默认是右对齐&#xff0c;左对齐的话前面加-号&#xff0c;所以答案是-30.4f…

最新扣子(Coze)实战案例:使用扩图功能,让你的图任意变换,完全免费教程

&#x1f9d9;‍♂️ 大家好&#xff0c;我是斜杠君&#xff0c;手把手教你搭建扣子AI应用。 &#x1f4dc; 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》&#xff0c;完全免费学习。 &#x1f440; 微信关注公从号&#xff1a;斜杠君&#xff0c;可获取完整版教程。&a…

深入探索C语言中的结构体:定义、特性与应用

&#x1f525; 个人主页&#xff1a;大耳朵土土垚 目录 结构体的介绍结构体定义结构成员的类型结构体变量的定义和初始化结构体成员的访问结构体传参 结构体的介绍 在C语言中&#xff0c;结构体是一种用户自定义的数据类型&#xff0c;它允许开发者将不同类型的变量组合在一起…

MySQL数据库树状结构查询

一、树状结构 MySQL数据库本身并不直接支持树状结构的存储&#xff0c;但它提供了足够的灵活性&#xff0c;允许我们通过不同的方法来模拟和实现树状数据结构。具体方法看下文。 数据库表结构&#xff1a; 实现效果 查询的结果像树一样 二、使用 以Catalog数据表&#xff0c…

lua入门(1) - 基本语法

本文参考自&#xff1a; Lua 基本语法 | 菜鸟教程 (runoob.com) 需要更加详细了解的还请参看lua 上方链接 交互式编程 Lua 提供了交互式编程模式。我们可以在命令行中输入程序并立即查看效果。 Lua 交互式编程模式可以通过命令 lua -i 或 lua 来启用&#xff1a; 如下图: 按…

深度解析Ubuntu版本升级:LTS版本升级指南

深度解析Ubuntu版本升级&#xff1a;Ubuntu版本生命周期及LTS版本升级指南 Ubuntu是全球最受欢迎的Linux发行版之一&#xff0c;其版本升级与维护策略直接影响了无数用户的开发和生产环境。Canonical公司为Ubuntu制定了明确的生命周期和发布节奏&#xff0c;使得社区、企业和开…

Micron近期发布了32Gb DDR5 DRAM

Micron Technology近期发布了一项内存技术的重大突破——一款32Gb DDR5 DRAM芯片&#xff0c;这项创新不仅将存储容量翻倍&#xff0c;还显著提升了针对人工智能&#xff08;AI&#xff09;、机器学习&#xff08;ML&#xff09;、高性能计算&#xff08;HPC&#xff09;以及数…

Wireshark网络抓包工具入门指南

目录 引言 安装抓包工具 抓包基础概念 抓包步骤 流程 抓包工具头的分析 14.3 以太网的完整帧格式 粘包与拆包现象解析及解决方案 发生原因 解决方案 14.3.1以太网头 14.3.2 IP头 14.3.3 UDP头 14.3.4 TCP头 引言 Wireshark是一款功能强大的开源网络协议分析器&am…

SpringMVC:SpringMVC执行流程

文章目录 一、介绍二、什么是MVC 一、介绍 Spring MVC 是一种基于Java的Web框架&#xff0c;它采用了MVC&#xff08;Model - View - Controller&#xff09;设计模式&#xff0c;通过吧Model、View和Controller分离&#xff0c;将Web层进行职责解耦&#xff0c;把复杂的Web应…

C++|哈希应用->布隆过滤器

目录 一、概念 二、模拟实现 三、布隆过滤器扩展应用 上一篇章学习了位图的使用&#xff0c;但它只适用于整数&#xff0c;对于要查询字符串是否在不在&#xff0c;位图并不能解决。所以针对这一问题&#xff0c;布隆过滤器可以派上用场&#xff0c;至于布隆过滤器是什么&am…

G2.【C语言】EasyX绘制颜色窗口

1.窗口 窗口&#xff1a;宽度*高度&#xff08;单位都是像素&#xff09; #include <stdio.h> #include <easyx.h> int main() {initgraph(640, 480);getchar();return 0; } 640是宽&#xff0c;480是高 2.操作窗口的三个按钮 #include <stdio.h> #incl…

推荐Bulk Image Downloader插件下载网页中图片链接很好用

推荐&#xff1a;Bulk Image Downloader chome浏览器插件下载图片链接&#xff0c;很好用。 有个网页&#xff0c;上面放了数千的gif的电路图&#xff0c;手工下载会累瘫了不可。想找一个工具分析它的静态链接并下载&#xff0c;找了很多推荐的下载工具&#xff0c;都是不能分…

Github:git提交代码到github

创建 GitHub 仓库 a. 登录到您的 GitHub 账户。 b. 点击右上角的 "" 图标&#xff0c;选择 "New repository"。 c. 填写仓库名称&#xff08;例如 "Mitemer"&#xff09;。 d. 添加项目描述&#xff08;可选&#xff09;。 e. 选择仓库为 &…

Feign-未完成

Feign Java中如何实现接口调用&#xff1f;即如何发起http请求 前三种方式比较麻烦&#xff0c;在发起请求前&#xff0c;需要将Java对象进行序列化转为json格式的数据&#xff0c;才能发送&#xff0c;然后进行响应时&#xff0c;还需要把json数据进行反序列化成java对象。 …

MySQL的count()方法慢

前言 mysql用count方法查全表数据&#xff0c;在不同的存储引擎里实现不同&#xff0c;myisam有专门字段记录全表的行数&#xff0c;直接读这个字段就好了。而innodb则需要一行行去算。 比如说&#xff0c;你有一张短信表(sms)&#xff0c;里面放了各种需要发送的短信信息。 …

C语言图书馆管理系统(管理员版)

案例&#xff1a;图书馆管理系统&#xff08;管理员版&#xff09; 背景&#xff1a; 随着信息技术的发展和普及&#xff0c;传统的图书馆管理方式已经无法满足现代图书馆高效、便捷、智能化的管理需求。传统的手工登记、纸质档案管理不仅耗时耗力&#xff0c;而且容易出现错…

拉普拉斯逆变换

https://www.bilibili.com/video/BV17i4y1475Y?p21&vd_source2e6b4ba548ec9462b2f9633ff700e9b9 CV 17 陈永平教授关于拉普拉斯逆变换的式子的推导 最关键的两步 想到取一个合适的contour L R L_R LR​部分是实部 γ \gamma γ要大于所有极点的实部,这样就可以搞一个大…

2.1 tmux和vim

文章目录 前言概述tmuxvim总结 前言 开始学习的时间是 2024.7.6 ,13&#xff1a;47 概述 最好多使用&#xff0c;练成条件反射式的 直接使用终端的工具&#xff0c;可以连接到服务器&#xff0c;不需要使用本地的软件 tmux 这个主要有两个功能&#xff0c;第一个功能是分…

uni-app组件 子组件onLoad、onReady事件无效

文章目录 导文解决方法 导文 突然发现在项目中&#xff0c;组件 子组件的onLoad、onReady事件无效 打印也出不来值 怎么处理呢&#xff1f; 解决方法 mounted() {console.log(onLoad, this.dateList);//有效// this.checkinDetails()},onReady() {console.log(onReady, this.da…