一文看懂如何跨版本迁移Oracle数据库
off999 2024-10-08 06:12 25 浏览 0 评论
概述
继续上一篇rman跨版本恢复的内容,今天主要分享在目的端恢复的过程,下面一起来看看吧!
因为目标数据库已经有实例,但不需要的,所以这里需要先删除一下。
1、删除安装oracle数据库时的实例
cmd> dbca
2、创建一个空的数据库实例
cmd> oradim -new -sid orcl -startmode a cmd> rman target / nocatalog
3、编辑pfile文件
因为源数据库是32G内存,目的数据库是8G内存,所以需编辑pfile文件
--8G参考
*.audit_file_dest='F:\app\Administrator\admin\orcl\adump' *.audit_trail='db' *.compatible='11.2.0.4.0' *.control_files='F:\app\Administrator\oradata\orcl\control01.ctl','F:\app\Administrator\fast_recovery_area\orcl\control02.ctl' *.db_block_size=8192 *.db_domain='' *.db_name='orcl' *.db_recovery_file_dest='F:\app\Administrator\fast_recovery_area' *.db_recovery_file_dest_size=107374182400 *.diagnostic_dest='F:\app\Administrator' *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *.log_archive_format='F:\app\Administrator\fast_recovery_area\orcl\archivelog\archivelog_%t_%s_%r.arc' *.memory_target=3722444800 *.open_cursors=2000 *.processes=900 *.remote_login_passwordfile='EXCLUSIVE' *.resource_limit=FALSE *.undo_retention=900 *.undo_tablespace='UNDOTBS1'
4、创建对应目录及授权
--根据前面pfile文件所涉及的目录创建 F:\app\Administrator\oradata\orcl\ F:\app\Administrator\flash_recovery_area\orcl\ F:\app\Administrator\flash_recovery_area\orcl\archivelog\
5、利用参数文件打开实例到nomount模式。
SQL> startup force nomount pfile='E:\rmanbackup\pfile.ora'; SQL> create spfile from pfile='E:\rmanbackup\pfile.ora';
重要:根据修改好的pfile创建新的spfile。
sql > create spfile from pfile;
原因:下次重启oracle的时候,oracle优先用spfile打开数据库,如果spfile还是旧的话,那么就会报错,打不开数据库。
6、恢复控制文件
--恢复控制文件到参数文件指定目录 RMAN> restore controlfile from 'E:\rmanbackup\SPFILE_CONTROLFILE_ORCL_1425356587_13510_1_20190923.BKP';
7、根据控制文件将数据库打开到mount模式。
RMAN> sql 'alter database mount';
清理过期备份:
RMAN> crosscheck backup; RMAN> delete expired backup;
8、注册rman信息
把拷贝来的备份注册到rman里
RMAN> catalog start with 'E:\rmanbackup\';
9、查看数据文件原路径
SQL>select file# as "file/grp#", name from v$datafile;
10、还原数据库数据文件。
根据实际环境设置新的数据文件恢复目录,这里使用之前准备的source数据库文件结构信息。
RMAN> run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
set newname for datafile 1 to "F:\oradata\SYSTEM01.dbf";
set newname for datafile 2 to "F:\oradata\SYSAUX01.dbf";
set newname for datafile 3 to "F:\oradata\UNDOTBS01.dbf";
set newname for datafile 4 to "F:\oradata\USERS01.dbf";
set newname for datafile 5 to "F:\oradata\NNC_DATA01.dbf";
set newname for datafile 6 to "F:\oradata\NNC_INDEX01.dbf";
set newname for datafile 7 to "F:\oradata\NNC_DATA02.dbf";
set newname for datafile 8 to "F:\oradata\NNC_DATA03.dbf";
set newname for datafile 9 to "F:\oradata\NNC_DATA04.dbf";
set newname for datafile 10 to "F:\oradata\AUD01.dbf";
restore database;
switch datafile all;
release channel c1;
release channel c2;
release channel c3;
}
对switch datafile all的说明:
------------------------------------------------------------------- 对于nocatalog 模式下,rman备份的信息是保存在控制文件里的,包括文件的路径信息。 这里的switch datafile all的作用,就是更新控制文件里的信息。 -------------------------------------------------------------------
11、数据库介质恢复
SQL> recover database;
出现此错误的原因是恢复需要的日志记录在控制文件或恢复目录中找不到。解决方法分两种情况:
1.如果相关的日志存在且可用的话,就将此日志记录添加到控制文件或恢复目录中。
2.如果相关的日志已经被删除了或不可用了,那么就按照错误的提示scn将数据库恢复到此scn,本案例是1268579013。
也就是说此时数据库只能进行不完全恢复了,在打开数据库时得使用resetlogs打开。
rman> recover database until scn 1268579013;
12、指定联机日志在新系统中的路径
SQL> alter database rename file 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG' to 'F:\APP\ADMINISTRATOR\oradata\orcl\REDO01.LOG'; SQL> alter database rename file 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG' to 'F:\APP\ADMINISTRATOR\oradata\orcl\REDO02.LOG'; SQL> alter database rename file 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG' to 'F:\APP\ADMINISTRATOR\oradata\orcl\REDO03.LOG'; SQL> alter database rename file 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO04.LOG' to 'F:\APP\ADMINISTRATOR\oradata\orcl\REDO04.LOG'; SQL> alter database rename file 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO05.LOG' to 'F:\APP\ADMINISTRATOR\oradata\orcl\REDO05.LOG'; SQL> alter database rename file 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO06.LOG' to 'F:\APP\ADMINISTRATOR\oradata\orcl\REDO06.LOG';
13、更改temp表空间目录
SQL> select name from v$tempfile; --表空间offline SQL> alter database tempfile 'xxx.dbf' offline; --在OS 级别移动temp 的数据文件 SQL> !mv xxx/temp01.dbf xxxtemp01.dbf --修改控制文件中temp文件的信息 SQL> alter database rename file 'xxxtemp01.dbf' to 'xxxxtemp01.dbf'; --temp 表空间online SQL> alter database tempfile 'xxxtemp01.dbf' online; --验证 SQL> select name from v$tempfile;
14、打开数据库
SQL> shutdown immediate; SQL> startup upgrade; --执行升级脚本catupgrd.sql SQL> spool upgrade.log SQL> @?/rdbms/admin/catupgrd.sql --执行升级脚本catuppst.sql SQL> startup SQL> @?/rdbms/admin/catuppst.sql
需要说明的就是:在open resetlogs 之后,自动在原来默认的路径创建了temp 表空间和online redo 日志文件。为了方便起见,建议先在controlfile中进行这些目录的更改。
15、编译无效对象
重新编译下:
SQL> @?/rdbms/admin/utlrp.sql;
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
相关推荐
- cad2008安装失败(Win11安装cad2008安装失败)
-
解决方法:1、右键点击“开始”按钮,选择“程序和功能”;2、然后点击“启用或关闭windows功能”;3、勾选“Microsoft.NETFramework3.5(包括.Net2.0)”后点击确定按钮...
- u盘在电脑上怎么找出来(u盘在电脑上怎么找到)
-
在电脑中找不到u盘,是因为系统没有自动识别出来,手动打开即可,具体的解决步骤如下:1、在桌面上点击我的电脑,右键,管理。2、打开管理界面,点击储存。3、进到储存页面。4、到这一步,也就可以看到了,有这...
- 联想一体机怎么进入bios(联想一体机怎么进入u盘启动)
-
所需工具:联想Lenovo品牌一体机、启动U盘。具体步骤如下:1、联想一体机从U盘启动设置步骤如下重启联想一体机,启动过程中按F1进入BIOS,部分机型则是开机按Enter键,进入之后再按F12选择进...
- 如何装ghost系统盘(ghost装机教程)
-
ghost是不能做系统c盘,它是一种对硬盘和分区制作成映像文件进行备份和恢复的工具软件,是不能进行操作系统安装。这个软件的使用目的是,当我们安装配置好操作系统以后,用ghost软件对c盘进行备份,或者...
- 加密u盘如何格式化(加密u盘如何格式化手机)
-
1,点击系统与安全进入电脑的控制面板界面,点击上方的系统与安全的选项,在系统界面找到最下方的管理工具功能组。2,选中u盘选择管理工具下面的创建并格式化硬盘分区,点击弹出磁盘管理的界面,在这个里面选中你...
- 万能显卡驱动离线版pc(万能显卡驱动离线版)
-
万用驱动是综合各电脑硬件的性能而制做的软件,对于大多数的电脑硬件驱动都好用,但对于少数品牌电脑驱动要求严格的,就不灵了。有的硬件用万能驱动后,使用效果不佳,就是因为没有完全驱动好。所以,知名品牌电脑硬...
- 笔记本windows8系统下载(笔记本电脑系统win8)
-
在电脑上面就可以下载,打开浏览器搜索windous8系统会出现一些下拉选择,选择第一条或者选择有官网字样的,就直接有下载按钮,然后点击下载就可以了win8可以支持现在可以见到的所有Photosho...
- win 11(win 11 25h2)
-
Windows11是由微软公司(Microsoft)开发的操作系统,应用于计算机和平板电脑等设备。于2021年6月24日发布,2021年10月5日发行。Windows11提供了许多创新...
- 手机视频恢复软件免费版下载
-
手机视频删了怎么恢复 一、安卓手机视频恢复 1.打开电脑,移动鼠标,进入互盾安卓恢复大师官网,下载并安装该软件。手机连接至电脑。手机视频删了怎么恢复 2.打开运行互盾安卓恢复大师,在软件界面看到...
- diy电脑装机教程(diy电脑组装步骤)
-
1,看价格。根据自己的预算价格,选择适合该价格的电脑。注意不要以过高的价格买到配置过低的电脑;2,看性能。根据自己需要的电脑性能,以合理的价格购买。注意不要以过高的价格买到配置过低的电脑。电脑的配置如...
- u盘莫名其妙要格式化(u盘总是要格式化什么意思)
-
如果您在使用U盘时突然收到提示需要格式化的消息,这可能是由于以下原因之一引起的:U盘感染病毒:U盘中可能存在恶意病毒,这些病毒可能会导致U盘无法正常使用。当您尝试打开U盘时,系统会提示您进行格式化操作...
- win7家庭版原版(win7家庭版价格)
-
你的win7旗舰版应该是个盗版软件,在你使用的过程中你可能触碰到了后台升级,升级完以后就变成了家庭版了,在你不知不觉中被改变的,厄这个软件属于盗版的,厄升级完以后没什么大区别,这个旗舰版家庭版在家里面...
- win10自动更新失败怎么办(win10自动升级失败)
-
安装更新失败有许多原因。WindowsUpdate需要能够扫描您的计算机以了解需要哪些更新,并能够下载和安装这些更新。如果某个阶段遇到问题,则可能阻止某个更新安装到计算机中。有关错误或失败的详细信...
- 截图的几种方法(截图的几种方法有哪些)
-
第一种截图方式:按printScreen键。按一下键盘上的printScreen键以后,整个屏幕会被截取下来,截图会默认保存在剪贴板中。第二种截图方式:使用微信截图。进入聊天界面,我们会发...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
