Oracle数据库备份与恢复--catalog bakcupset,catalog archivelog 恢复

Oracle数据库备份与恢复--catalog bakcupset,catalog archivelog 恢复

  1. 需要使用新的控制文件 ,对于异构目录的恢复,需要重新重定义数据文件位置。(因为在开始restore过程指定了set newname,新的控制文件记录的数据文件位置,还是原先的。可以采用alter database rename file ''  to '' ;进行指定。

  2. catatlog的强大。

  3. 一个测试:切换N个日志

C:\Users\Administrator>sqlplus / as sysdba

 

SQL*Plus: Release 12.2.0.1.0 Production on 星期三 12月 12 19:23:21 2018

 

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

 

 

连接到:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

 

SQL> alter system switch logfile;

 

系统已更改。

 

SQL> /

 

系统已更改。

 

SQL> /

 

系统已更改。

 

SQL> /

 

系统已更改。

 

SQL> /

 

系统已更改。

 

SQL>

 

 

 

  1. 备份控制文件和数据库

C:\Users\Administrator>rman target /

 

恢复管理器: Release 12.2.0.1.0 - Production on 星期三 12月 12 19:24:55 2018

 

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

 

已连接到目标数据库: ORCL (DBID=1514004854)

 

RMAN> backup database plus archivelog delete all input;

 

 

从位于 12-12月-18 的 backup 开始

当前日志已存档

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=265 设备类型=DISK

通道 ORA_DISK_1: 正在启动归档日志备份集

通道 ORA_DISK_1: 正在指定备份集内的归档日志

输入归档日志线程 = 1 序列 = 1 RECID=80 STAMP=994706611

输入归档日志线程 = 1 序列 = 2 RECID=81 STAMP=994706612

输入归档日志线程 = 1 序列 = 3 RECID=82 STAMP=994706616

输入归档日志线程 = 1 序列 = 4 RECID=83 STAMP=994706616

输入归档日志线程 = 1 序列 = 5 RECID=84 STAMP=994706620

输入归档日志线程 = 1 序列 = 6 RECID=85 STAMP=994706705

通道 ORA_DISK_1: 正于 12-12月-18 启动段 1

通道 ORA_DISK_1: 完成了于 12-12月-18 启动段 1

片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0PTKK18I_1_1 标记 = TAG20181212T192506 注释 = NONE

通道 ORA_DISK_1: 备份集完成, 用时: 00:00:01

通道 ORA_DISK_1: 正在删除归档日志

归档日志文件名 = F:\APP\ARCH\1_1_994706149.DBF RECID=80 STAMP=994706611

归档日志文件名 = F:\APP\ARCH\1_2_994706149.DBF RECID=81 STAMP=994706612

归档日志文件名 = F:\APP\ARCH\1_3_994706149.DBF RECID=82 STAMP=994706616

归档日志文件名 = F:\APP\ARCH\1_4_994706149.DBF RECID=83 STAMP=994706616

归档日志文件名 = F:\APP\ARCH\1_5_994706149.DBF RECID=84 STAMP=994706620

归档日志文件名 = F:\APP\ARCH\1_6_994706149.DBF RECID=85 STAMP=994706705

在 12-12月-18 完成了 backup

 

从位于 12-12月-18 的 backup 开始

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集内的数据文件

输入数据文件, 文件号 = 00001 名称 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\SYSTEM01.DBF

输入数据文件, 文件号 = 00003 名称 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\SYSAUX01.DBF

输入数据文件, 文件号 = 00005 名称 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\UNDOTBS01.DBF

输入数据文件, 文件号 = 00007 名称 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\USERS001.DBF

通道 ORA_DISK_1: 正于 12-12月-18 启动段 1

通道 ORA_DISK_1: 完成了于 12-12月-18 启动段 1

片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0QTKK18J_1_1 标记 = TAG20181212T192507 注释 = NONE

通道 ORA_DISK_1: 备份集完成, 用时: 00:00:15

在 12-12月-18 完成了 backup

 

从位于 12-12月-18 的 backup 开始

当前日志已存档

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在启动归档日志备份集

通道 ORA_DISK_1: 正在指定备份集内的归档日志

输入归档日志线程 = 1 序列 = 7 RECID=86 STAMP=994706723

通道 ORA_DISK_1: 正于 12-12月-18 启动段 1

通道 ORA_DISK_1: 完成了于 12-12月-18 启动段 1

片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0RTKK193_1_1 标记 = TAG20181212T192523 注释 = NONE

通道 ORA_DISK_1: 备份集完成, 用时: 00:00:01

通道 ORA_DISK_1: 正在删除归档日志

归档日志文件名 = F:\APP\ARCH\1_7_994706149.DBF RECID=86 STAMP=994706723

在 12-12月-18 完成了 backup

 

从位于 12-12月-18 的 Control File and SPFILE Autobackup 开始

片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\C-1514004854-20181212-03 注释 = NONE

在 12-12月-18 完成了 Control File and SPFILE Autobackup

 

RMAN>

RMAN> list archivelog all;

 

说明与资料档案库中的任何归档日志都不匹配

  1. 切换N个日志

C:\Users\Administrator>sqlplus / as sysdba

 

SQL*Plus: Release 12.2.0.1.0 Production on 星期三 12月 12 19:26:25 2018

 

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

 

 

连接到:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

 

SQL> alter system switch logfile;l

  2

SQL>

SQL> alter system switch logfile;

 

系统已更改。

 

SQL> /

 

系统已更改。

 

SQL> /

 

系统已更改。

 

SQL> /

 

系统已更改。

 

SQL> /

 

系统已更改。

 

SQL> /

 

系统已更改。

  1. 备份归档并删除

C:\Users\Administrator>rman target /

 

恢复管理器: Release 12.2.0.1.0 - Production on 星期三 12月 12 19:27:37 2018

 

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

 

已连接到目标数据库: ORCL (DBID=1514004854)

 

RMAN> backup archivelog all delete input;

 

从位于 12-12月-18 的 backup 开始

当前日志已存档

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=265 设备类型=DISK

通道 ORA_DISK_1: 正在启动归档日志备份集

通道 ORA_DISK_1: 正在指定备份集内的归档日志

输入归档日志线程 = 1 序列 = 8 RECID=87 STAMP=994706796

输入归档日志线程 = 1 序列 = 9 RECID=88 STAMP=994706797

输入归档日志线程 = 1 序列 = 10 RECID=89 STAMP=994706799

输入归档日志线程 = 1 序列 = 11 RECID=90 STAMP=994706799

输入归档日志线程 = 1 序列 = 12 RECID=91 STAMP=994706804

输入归档日志线程 = 1 序列 = 13 RECID=92 STAMP=994706804

输入归档日志线程 = 1 序列 = 14 RECID=93 STAMP=994706870

通道 ORA_DISK_1: 正于 12-12月-18 启动段 1

通道 ORA_DISK_1: 完成了于 12-12月-18 启动段 1

片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0TTKK1DM_1_1 标记 = TAG20181212T192750 注释 = NONE

通道 ORA_DISK_1: 备份集完成, 用时: 00:00:01

通道 ORA_DISK_1: 正在删除归档日志

归档日志文件名 = F:\APP\ARCH\1_8_994706149.DBF RECID=87 STAMP=994706796

归档日志文件名 = F:\APP\ARCH\1_9_994706149.DBF RECID=88 STAMP=994706797

归档日志文件名 = F:\APP\ARCH\1_10_994706149.DBF RECID=89 STAMP=994706799

归档日志文件名 = F:\APP\ARCH\1_11_994706149.DBF RECID=90 STAMP=994706799

归档日志文件名 = F:\APP\ARCH\1_12_994706149.DBF RECID=91 STAMP=994706804

归档日志文件名 = F:\APP\ARCH\1_13_994706149.DBF RECID=92 STAMP=994706804

归档日志文件名 = F:\APP\ARCH\1_14_994706149.DBF RECID=93 STAMP=994706870

在 12-12月-18 完成了 backup

 

从位于 12-12月-18 的 Control File and SPFILE Autobackup 开始

片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\C-1514004854-20181212-04 注释 = NONE

在 12-12月-18 完成了 Control File and SPFILE Autobackup

  1. 使用不包含归档备份集的控制文件

RMAN> shutdown immediate;

 

数据库已关闭

数据库已卸装

Oracle 实例已关闭

 

RMAN> startup nomount;

 

已连接到目标数据库 (未启动)

Oracle 实例已启动

 

系统全局区域总计    5066719232 字节

 

Fixed Size                     8757280 字节

Variable Size               1056968672 字节

Database Buffers            3992977408 字节

Redo Buffers                   8015872 字节

 

RMAN> restore controlfile from 'F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\C-1514004854-20181212-03';

 

从位于 12-12月-18 的 restore 开始

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=262 设备类型=DISK

 

通道 ORA_DISK_1: 正在还原控制文件

通道 ORA_DISK_1: 还原完成, 用时: 00:00:01

输出文件名=F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\CONTROL01.CTL

输出文件名=F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\CONTROL02.CTL

在 12-12月-18 完成了 restore

 

RMAN> alter database mount;

 

已处理语句

释放的通道: ORA_DISK_1

 

RMAN>

  •  恢复数据库,控制文件不包含的备份集是否注册?

RMAN> recover database ;

 

从位于 12-12月-18 的 recover 开始

使用通道 ORA_DISK_1

 

正在开始介质的恢复

 

线程 1 序列 13 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO01.LOG 存在于磁盘上

线程 1 序列 14 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO02.LOG 存在于磁盘上

线程 1 序列 15 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO03.LOG 存在于磁盘上

通道 ORA_DISK_1: 正在开始将归档日志还原到默认目标

通道 ORA_DISK_1: 正在还原归档日志

归档日志线程 = 1 序列 = 7

通道 ORA_DISK_1: 正在读取备份片段 F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0RTKK193_1_1

通道 ORA_DISK_1: 片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0RTKK193_1_1 标记 = TAG20181212T192523

通道 ORA_DISK_1: 已还原备份片段 1

通道 ORA_DISK_1: 还原完成, 用时: 00:00:01

归档日志文件名 = F:\APP\ARCH\1_7_994706149.DBF 线程 = 1 序列 = 7

无法找到归档日志

归档日志线程 = 1 序列 = 8

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: 位于 12/12/2018 19:32:00 的 recover 命令失败

RMAN-06054: 介质恢复正在请求未知的线程 1 序列 8 的归档日志以及起始 SCN 6068406

 

RMAN>

  1. 注册丢失的备份集

C:\Users\Administrator>rman target /

 

恢复管理器: Release 12.2.0.1.0 - Production on 星期三 12月 12 19:34:00 2018

 

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

 

已连接到目标数据库: ORCL (DBID=1514004854, 未打开)

 

RMAN> catalog backuppiece 'F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0TTKK1DM_1_1';

 

使用目标数据库控制文件替代恢复目录

已将备份片段列入目录

备份片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0TTKK1DM_1_1 RECID=16 STAMP=994707267

 

RMAN> recover database ;

 

从位于 12-12月-18 的 recover 开始

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=11 设备类型=DISK

 

正在开始介质的恢复

 

线程 1 序列 13 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO01.LOG 存在于磁盘上

线程 1 序列 14 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO02.LOG 存在于磁盘上

线程 1 序列 15 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO03.LOG 存在于磁盘上

通道 ORA_DISK_1: 正在开始将归档日志还原到默认目标

通道 ORA_DISK_1: 正在还原归档日志

归档日志线程 = 1 序列 = 8

通道 ORA_DISK_1: 正在还原归档日志

归档日志线程 = 1 序列 = 9

通道 ORA_DISK_1: 正在还原归档日志

归档日志线程 = 1 序列 = 10

通道 ORA_DISK_1: 正在还原归档日志

归档日志线程 = 1 序列 = 11

通道 ORA_DISK_1: 正在还原归档日志

归档日志线程 = 1 序列 = 12

通道 ORA_DISK_1: 正在读取备份片段 F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0TTKK1DM_1_1

通道 ORA_DISK_1: 片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0TTKK1DM_1_1 标记 = TAG20181212T192750

通道 ORA_DISK_1: 已还原备份片段 1

通道 ORA_DISK_1: 还原完成, 用时: 00:00:01

归档日志文件名 = F:\APP\ARCH\1_8_994706149.DBF 线程 = 1 序列 = 8

归档日志文件名 = F:\APP\ARCH\1_9_994706149.DBF 线程 = 1 序列 = 9

归档日志文件名 = F:\APP\ARCH\1_10_994706149.DBF 线程 = 1 序列 = 10

归档日志文件名 = F:\APP\ARCH\1_11_994706149.DBF 线程 = 1 序列 = 11

归档日志文件名 = F:\APP\ARCH\1_12_994706149.DBF 线程 = 1 序列 = 12

归档日志文件名 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO01.LOG 线程 = 1 序列 = 13

归档日志文件名 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO02.LOG 线程 = 1 序列 = 14

归档日志文件名 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO03.LOG 线程 = 1 序列 = 15

介质恢复完成, 用时: 00:00:02

在 12-12月-18 完成了 recover

 

RMAN>

测试结论

归档日志已经删除,如果老的控制文件不包含备份归档的备份集,将不能进行恢复。需要进行catalog。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: Oracle数据库备份恢复可以分为逻辑备份和物理备份两种方式。逻辑备份包括全库备份、备份库某些用户、备份自身、备份自身某些表对象以及备份其他用户某些表对象等。逻辑还原则是使用备份文件进行还原操作。物理备份则分为冷备份和热备份。冷备份是在数据库正常关闭的情况下,将关键性文件拷贝到另外的位置,是最快和最安全的备份方法。而热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库,要求数据库在archivelog状态下操作,并需要大量的档案空间。热备份的命令文件由三部分组成。通过备份文件可以进行恢复操作,恢复更多的信息。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [Oracle数据库备份恢复的三种方法](https://blog.csdn.net/qq_35241004/article/details/107566002)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Oracle数据库备份与还原](https://blog.csdn.net/qq_44581430/article/details/123599325)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值