重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2557|回复: 0
打印 上一主题 下一主题

[Oracle] 将10G的数据库库异机还原到11.2.0.4数据库中,并将库升级到11.2.0.4(二、异机恢复)

[复制链接]
跳转到指定楼层
楼主
发表于 2020-9-13 15:48:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 王亮 于 2020-9-13 15:56 编辑

将源库中10g数据库的创建pfile复制到目标库服务器中
##修改里面的参数
##由于目标库是11.2.0.4,有些参数不再使用,删除掉* .background_dump_dest和* .user_dump_dest-  

修改对应的其他参数
orcl .__ db_cache_size = 415236096  
orcl .__ java_pool_size = 134217728  
orcl .__ large_pool_size = 4194304  
orcl .__ shared_pool_size = 150994944  
orcl .__ streamspool_size = 0  
* .audit_file_dest ='/u01/app/oracle/admin/orcl/adump'  
* .compatible = '10。 2.0.4.0'  
*  .control_files  = '/u01/app/oracle/oradata/orcl/control01.ctl', '/u01/app/oracle/oradata/orcl/control02.ctl'
* .core_dump_dest ='
* .db_block_size = 8192  
* .db_domain = ''  
* .db_file_multiblock_read_count = 16  
* .db_name = 'ORCL'  
* .db_recovery_file_dest_size = 2147483648
* .db_recovery_file_dest = '/u01/app/oracle/fast_recovery_area'  
*  .dispatchers  ='(PROTOCOL = TCP)(SERVICE = orclXDB)”  
* .java_pool_size = 134217728  
* .job_queue_processes = 10  
* .open_cursors = 300  
* .pga_aggregate_target816  
*  .processes  = 150  * .remote_login_passwordfile = 'EXCLUSIVE'  
* .sga_target = 713031680  
* .undo_management = 'AUTO'  
* .undo_tablespace ='UNDOTBS2'

使用上面的参数,将目标库启动到nomount状态,然后将源库数据库进行rman全备,再将备份拷到目标库中服务器中进行异机恢复

--RMAN备库源库
RMAN>运行{
2>分配通道ch1设备类型磁盘;
3>分配通道ch2设备类型磁盘;
4> sql'alter system archive log current';
5>备份数据库格式为'/home/oracle/backup/db_full%U.bak',加上归档日志格式为'/home/oracle/backup/arch_%U.bak';
6>备份当前控制文件格式'/home/oracle/backup/ctl_%U.bak';
7>释放通道ch1;
8>释放通道ch2;
9>}

使用目标数据库控制文件代替恢复目录
分配的通道:ch1
通道ch1:sid = 146 devtype = DISK

分配的通道:ch2
通道ch2:sid = 145 devtype = DISK

sql语句:


通道ch1:启动完整的数据文件备份集
通道ch1:在备份集中指定数据文件
输入数据文件fno = 00003名称= / u01 / app / oradata / orcl / sysaux01​​.dbf
输入数据文件fno = 00006名称= / u01 / app / oradata / orcl / undotbs02.dbf
输入数据文件fno = 00005 name = / u01 / app / oradata / orcl / example01.dbf
通道ch1:从03-SEP-20开始的第一个片段
通道ch2:启动完整的数据文件备份集
通道ch2:指定数据文件)在备份集中
输入数据文件fno = 00001 name = / u01 / app / oradata / orcl / system01.dbf
输入数据文件fno = 00004 name = / u01 / app / oradata / orcl / users01.dbf
通道ch2:从1开始于03- SEP-20
通道ch1:03-SEP-20的成品1
片段句柄= / home / oracle / backup / data_01v9h9rp_1_1.bak标签= TAG20200903T235537注释=无
通道ch1:备份集已完成,经过的时间:00:01:06
通道ch1:启动完整的数据文件备份集
通道ch1:在指定数据文件备份
集中包括当前控制文件的备份集
通道ch1:在03-SEP-20
通道ch1的起始片段1:在03-SEP-20的片段1的
句柄= / home / oracle / backup / data_03v9h9tr_1_1.bak标签= TAG20200903T235537注释=无
通道ch1:备份集完成,经过的时间:00:00:03
通道ch1:启动完整的数据文件备份集通道ch1:在备份集中
指定
包括备份集中当前SPFILE的数据文件
通道ch1:从03-SEP-20开始
通道ch1:在03-SEP-20处完成的片段1
句柄= / home / oracle / backup / data_04v9h9tv_1_1.bak标签= TAG20200903T235537注释=无
通道ch1:备份集已完成,经过的时间:00:00:02
通道ch2:已完成在03-SEP-20上的第1个
片段句柄= / home / oracle / backup / data_02v9h9rp_1_1.bak标签= TAG20200903T235537注释=无
通道ch2:备份集已完成,经过的时间:00:01:12
在03-SEP-20上完成了备份

从03-SEP-20开始备份
当前日志存档
通道ch1:开始存档日志备份集
通道ch1:在备份集中指定存档日志
输入存档日志线程= 1序列= 61 recid = 1戳记= 1050191737
通道ch1:起始片段1 at 03-SEP-20
通道ch2:开始存档日志备份集
通道通道ch2:在备份集中
输入存档日志输入中指定存档日志线程= 1序列= 62 recid = 2戳记= 1050191810
通道ch2:在03-SEP-20处开始第一篇
通道ch1:完成0-SEP-20的
片段1句柄= / home / oracle / backup / arch_05v9h9u2_1_1.bak标签= TAG20200903T235650注释=无
通道ch1:备份集已完成,经过的时间:00:00:02
通道ch2:片段1在03 -SEP-20
片段句柄= / home / oracle / backup / arch_06v9h9u2_1_1.bak标签= TAG20200903T235650注释=无
通道ch2:备份集已完成,经过的时间:00:00:02
在03-SEP-20完成备份从03

开始备份-SEP-20
通道ch1:启动完整的数据文件备份集
通道ch1:在备份集中指定数据文件,
包括备份集中的当前控制文件
通道ch1:在03-SEP-20处开始第一篇通道ch1:在03-SEP-20处
完成的第一篇
文章handle = / home / oracle / backup / ctl_07v9h9u5_1_1.bak标签= TAG20200903T235653评论=无
通道ch1:备份集完成,经过的时间:00:00 :
01在03-SEP-20

释放的通道中完成备份:ch1

释放的通道:ch2-

将数据库副本复制到目标库
- -使用修改后的参数,将目标库启动到nomount状态

进行异机恢复

-使用备份的控制文件,替换掉目标库的控制文件,完成恢复管理器
RMAN>从'/ home / oracle / rmanbak 恢复控制文件/ctl_0gv9judn_1_1.bak'; 使用目标数据库控制文件而不是恢复目录

在08-SEP-20开始还原

分配的通道:ORA_DISK_1
通道ORA_DISK_1:SID = 129设备类型= DISK

通道ORA_DISK_1:恢复控制文件
通道ORA_DISK_1:还原完成,经过的时间:00:00:01
输出文件名= / u01 / app / oracle / oradata / orcl / control01 .ctl
在08-SEP-20

RMAN> alter database mount上完成还原;

数据库安装
释放信道:ORA_DISK_1

-注册复制到窗口中的备份到控制文件中
RRMAN>目录开始以'/家/ ORACLE / rmanbak';

在08-SEP-20
分配的通道上开始隐式交叉检查备份:ORA_DISK_1
通道ORA_DISK_1:SID = 129设备类型= DISK
交叉检查了15个对象
在08-SEP-20处完成了隐式交叉检查备份

在启动隐性交叉检查复制08-SEP-20
使用的信道ORA_DISK_1
在08-SEP-20成品隐含交叉检查副本

搜索在恢复区中的所有文件
编目文件...
没有文件编目

搜索匹配模式/家庭的所有文件/ oracle / rmanbak

数据库未知的文件列表
=====================================
文件名: /home/oracle/rmanbak/arch_08v9jub6_1_1.bak
文件名:/home/oracle/rmanbak/arch_09v9jub6_1_1.bak
文件名:/home/oracle/rmanbak/arch_0av9juba_1_1.bak
文件名:/home/oracle/rmanbak/arch_0fv9judl_1_1.bak
文件名称:/home/oracle/rmanbak/ctl_0gv9judn_1_1.bak
文件名:/home/oracle/rmanbak/db_full0bv9jubb_1_1.bak
文件名:/home/oracle/rmanbak/db_full0cv9jubb_1_1.bak
文件名:/home/oracle/rmanbak/db_full0dv9judd_1_1.bak
文件名:/home/oracle/rmanbak/db_full0ev9judh_1_1.bak

您是否真的要对上述文件进行分类(输入)是还是不是)?是,正在
对文件
进行分类...已完成分类已分类的文件

列表
=======================
文件名:/home/oracle/rmanbak/arch_08v9jub6_1_1.bak
文件名:/home/oracle/rmanbak/arch_09v9jub6_1_1.bak
文件名:/home/oracle/rmanbak/arch_0av9juba_1_1.bak
文件名:/home/oracle/rmanbak/arch_0fv9judl_1_1.bak
文件名:/ home / oracle / rmanbak / ctl_0gv9judn_1。
档案名称:/home/oracle/rmanbak/db_full0bv9jubb_1_1.bak
档案名称:/home/oracle/rmanbak/db_full0cv9jubb_1_1.bak
档案名称:/home/oracle/rmanbak/db_full0dv9judd_1_1.bak
档案名称:/home/oracle/rmanbak/db_full0ev9judh_1_1.bak-


删除原始系统档案格式的备份
RMAN>删除过期的备份;

使用通道ORA_DISK_1

备用件列表
BP键BS键Pc#Cp#状态设备类型件名称
------- ------- --- --- ---------- ------------ ----------
1 1 1 1过期磁盘/home/oracle/backup/data_01v9h9rp_1_1.bak
2 2 1 1过期磁盘/ home / oracle / backup /data_03v9h9tr_1_1.bak
3 3 1 1 过期磁盘/home/oracle/backup/data_04v9h9tv_1_1.bak
4 4 1 1过期磁盘/home/oracle/backup/data_02v9h9rp_1_1.bak
5 5 1 1过期磁盘/home/oracle/backup/arch_06v9h9u2_1_1.bak
6 6 1 1过期磁盘/home/oracle/backup/arch_05v9h9u2_1_1.bak
7 7 1 1过期磁盘/home/oracle/backup/ctl_07v9h9u5_1_1.bak
8 8 1 1过期磁盘/home/oracle/backup/arch_09v9jub6_1_1.bak
9 9 1 1过期磁盘/home/oracle/backup/arch_08v9jub6_1_1.bak
10 10 1 1过期磁盘/home/oracle/backup/arch_0av9juba_1_1.bak
11 11 1 1过期磁盘/home/oracle/backup/db_full0bv9jubb_1_1.bak
12 12 1 1过期磁盘/home/oracle/backup/db_full0dv9judd_1_1.bak
13 13 1 1过期磁盘/home/oracle/backup/db_full0ev9judh_1_1.bak
14 14 1 1过期磁盘/home/oracle/backup/db_full0cv9jubb_1_1.bak
15 15 1 1 EXPIRED DISK /home/oracle/backup/arch_0fv9judl_1_1.bak

您是否真的要删除上述对象(输入YES或NO)?是
删除备份块
备份句柄= / home / oracle / backup / data_01v9h9rp_1_1.bak RECID = 1 STAMP = 1050191737
删除备份块
备份句柄= / home / oracle / backup / data_03v9h9tr_1_1.bak RECID = 2 STAMP = 1050191805
删除备份块
备份件句柄= / home / oracle / backup / data_04v9h9tv_1_1.bak RECID = 3 STAMP = 1050191808
删除了备份件
备份件handle = / home / oracle / backup / data_02v9h9rp_1_1.bak RECID = 4 STAMP = 1050191737
删除了备份件
备份件handle = /home/oracle/backup/arch_06v9h9u2_1_1.bak RECID = 5 STAMP = 1050191811
删除了备份块
备份句柄= / home / oracle / backup / arch_05v9h9u2_1_1.bak RECID = 6 STAMP = 1050191811
删除了备份块
备份句柄= / home / oracle /backup/ctl_07v9h9u5_1_1.bak RECID = 7 STAMP = 1050191813
删除了备份块
备份句柄= / home / oracle / backup / arch_09v9jub6_1_1.bak RECID = 8 STAMP = 1050278247
删除了备份块
备份件句柄= / home / oracle / backup / arch_08v9jub6_1_1.bak RECID = 9 STAMP = 1050278247
删除了备份件
备份句柄= / home / oracle / backup / arch_0av9juba_1_1.bak RECID = 10 STAMP = 1050278250
删除了备份件
备份件handle = /home/oracle/backup/db_full0bv9jubb_1_1.bak RECID = 11 STAMP = 1050278251
已删除备份块
备份句柄= / home / oracle / backup / db_full0dv9judd_1_1.bak RECID = 12 STAMP = 1050278318
删除备份块
备份句柄= / home / oracle /backup/db_full0ev9judh_1_1.bak RECID = 13 STAMP = 1050278321
删除了备份块
备份句柄= / home / oracle / backup / db_full0cv9jubb_1_1.bak RECID = 14 STAMP = 1050278251
删除了备份块
备份片段handle = / home / oracle / backup / arch_0fv9judl_1_1.bak RECID = 15 STAMP = 1050278326
删除了15个EXPIRED对象

RMAN>


-恢复存档文件
RMAN>恢复61至66之间的归档日志序列;使用通道ORA_DISK_1 通道

在08-SEP-20开始还原ORA_DISK_1:开始将归档日志还原到默认目标通道ORA_DISK_1:恢复归档日志归档日志线程= 1序列= 62 通道ORA_DISK_1:恢复归档日志归档日志线程= 1序列= 63 通道ORA_DISK_1:恢复归档日志归档日志线程= 1序列= 64 通道ORA_DISK_1:从备份文件/home/oracle/rmanbak/arch_09v9jub6_1_1.bak中读取
通道ORA_DISK_1:片段句柄= / home / oracle / rmanbak / arch_09v9jub6_1_1.bak标签= TAG20200904T235725
通道ORA_DISK_1:恢复的备份片段1
通道ORA_DISK_1:还原完成,经过的时间:
00:00:01通道ORA_DISK_1:开始存档日志还原到默认目标
通道ORA_DISK_1:恢复归档日志
归档日志线程= 1序列= 61
通道ORA_DISK_1:从备份块/home/oracle/rmanbak/arch_08v9jub6_1_1.bak读取
ORA_DISK_1:块句柄= / home / oracle / rmanbak / arch_08v9jub6_1_1.bak标签= TAG20200904
通道ORA_DISK_1:恢复了备份文件1
通道ORA_DISK_1:恢复完成,经过的时间:00:00:03
通道ORA_DISK_1:开始将归档日志恢复到默认目标
通道ORA_DISK_1:恢复归档日志
归档日志线程= 1序列= 65
通道ORA_DISK_1:从备份块/home/oracle/rmanbak/arch_0av9juba_1_1.bak读取
ORA_DISK_1:块句柄= / home / oracle / rmanbak / arch_0av9juba_1_1.bak标签= TAG20200904T235725
通道ORA_DISK_1:恢复了备份文件1
通道ORA_DISK_1:恢复完成,已用时间:
00:00:01通道ORA_DISK_1:开始将归档日志还原到默认目标
通道通道ORA_DISK_1:恢复归档日志
归档日志线程= 1序列= 66
通道ORA_DISK_1:从中读取备份块/home/oracle/rmanbak/arch_0fv9judl_1_1.bak
通道ORA_DISK_1:块句柄= / home / oracle / rmanbak / arch_0fv9judl_1_1.bak标签= TAG20200904T235845
通道ORA_DISK_1:已还原的备份文件1
通道ORA_DISK_1:已
完成还原,经过的时间:00:00: 01在08-SEP-20上完成还原


-恢复数据库

RMAN> run {
2>设置为scn 1572985;
3>将数据文件1的新名称设置为'/u01/app/oracle/oradata/orcl/system01.dbf';
4>将数据文件3的新名称设置为'/u01/app/oracle/oradata/orcl/sysaux01​​.dbf';
5>将数据文件4的新名称设置为'/u01/app/oracle/oradata/orcl/users01.dbf';
6>将数据文件5的新名称设置为'/u01/app/oracle/oradata/orcl/example01.dbf';
7>将数据文件6的新名称设置为'/u01/app/oracle/oradata/orcl/undotbs02.dbf';
8>将“ ALTER DATABASE RENAME FILE” /u01/app/oradata/orcl/redo03.log”转换为“
9> SQL“将ALTER DATABASE RENAME FILE''/u01/app/oradata/orcl/redo02.log''更改为``/u01/app/oracle/oradata/orcl/redo02.log''“;
10> SQL“将ALTER DATABASE RENAME FILE''/u01/app/oradata/orcl/redo01.log''更改为``/u01/app/oracle/oradata/orcl/redo01.log''“;
11>恢复数据库;
12>全部切换数据文件;
13>恢复数据库;
14>}

执行命令:SET直到子句

执行命令:SET NEWNAME

执行命令:SET NEWNAME

执行命令:SET NEWNAME

执行命令:SET NEWNAME

执行命令:SET NEWNAME

sql语句:ALTER DATABASE RENAME FILE''/ u01 / app / oradata / orcl / redo03.log''到''

sql语句:ALTER DATABASE重命名文件” /u01/app/oradata/orcl/redo02.log”到“ /u01/app/oracle/oradata/orcl/redo02.log”

sql语句:ALTER DATABASE重命名文件''/u01/app/oradata/orcl/redo01.log''到``/u01/app/oracle/oradata/orcl/redo01.log”使用通道ORA_DISK_1
在08-SEP-20开始还原通道ORA_DISK_1:开始数据文件备份集还原通道ORA_DISK_1:指定要从备份集通道还原的数据文件ORA_DISK_1:将数据文件00003还原到/u01/app/oracle/oradata/orcl/sysaux01​​.dbf 通道ORA_DISK_1:将数据文件00005还原到/ u01 / app / oracle /oradata/orcl/example01.dbf 通道ORA_DISK_1:将数据文件00006还原到/ u01 / app / oracle / oradata / orcl / undotbs02。
数据库通道ORA_DISK_1:从备份块/home/oracle/rmanbak/db_full0bv9jubb_1_1.bak读取
通道ORA_DISK_1:块句柄= / home / oracle / rmanbak / db_full0bv9jubb_1_1.bak标签= TAG20200904T235731
通道ORA_DISK_1:恢复备份块1
通道ORA_时间:00:00:25
通道ORA_DISK_1:启动数据文件备份集还原
通道ORA_DISK_1:指定要从备份集
通道还原的数据文件ORA_DISK_1:将数据文件00001还原到/u01/app/oracle/oradata/orcl/system01.dbf
通道ORA_DISK_1:将数据文件00004还原到/u01/app/oracle/oradata/orcl/users01.dbf
通道ORA_DISK_1:从备份文件/home/oracle/rmanbak/db_full0cv9jubb_1_1.bak读取
通道ORA_DISK_1:片段句柄= / home / oracle / rmanbak / db_full0cv9jubb_1_1.bak标签= TAG20200904T235731
通道ORA_DISK_1:还原的备份片段1
通道ORA_DISK_1:还原完成,已用时间:00:00:35
在08-SEP-20

数据文件1上还原完成切换到数据文件副本
输入数据文件副本RECID = 7 STAMP = 1050544356文件名= / u01 / app / oracle / oradata / orcl / system01.dbf
数据文件3切换到数据文件副本
输入数据文件副本RECID = 8 STAMP = 1050544356文件名= / u01 /app/oracle/oradata/orcl/sysaux01​​.dbf
数据文件4切换到数据文件副本
输入数据文件副本RECID = 9 STAMP = 1050544356文件名= / u01 / app / oracle / oradata / orcl / users01.dbf
数据文件5切换到数据文件副本
输入数据文件副本RECID = 10 STAMP = 1050544356文件名= / u01 / app / oracle / oradata / orcl / example01.dbf
数据文件6切换到数据文件副本
输入数据文件副本RECID = 11 STAMP = 1050544356文件名= / u01 / app / oracle /oradata/orcl/undotbs02.dbf 使用通道ORA_DISK_1

在08-SEP-20开始恢复在目录/ u01 / app / oracle / fast_recovery_area / ORCL / archivelog / 2020_09_08上已将磁盘1的序列66的线程1的介质恢复存档日志/o1_mf_1_66_hodwrrg4_.arc 存档日志文件名称= / u01 /应用程序/ oracle / fast_recovery_area / ORCL /归档日志/ 2020_09_08 / o1_mf_1_66_hodwrrg4_.arc线程= 1序列= 66
介质恢复已完成,经过时间:00:00:00 已完成SEP-20
RMAN> --open数据库
SQL> alter database open resetlogs升级;

此时数据库通过upgrade形式打开,还需要后面数据库升级的步骤



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-27 10:00 , Processed in 0.090306 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表