分享更有价值
被信任是一种快乐

如何利用RMAN备份重建数据库

文章页正文上

这篇文章主要介绍了如何利用RMAN备份重建数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。有时数据库由于某些原因需要全部销毁重建,之前的RMAN备份是存在的,希望利用,如系统被重建而导致数据库重建,或者数据库备份后需要恢复到其它机器上。
一、重建前的准备1、准备测试用表RMES用户下创建测试用表,插入并提交数据
create table
rmes.r_rmantest_t(a varchar2(30)) tablespace rmes;
insert into
rmes.r_rmantest_t values(‘Before rman backup’);
commit;
做一次检查点操作,保证数据写入到数据文件中
alter system
checkpoint;2、准备备份路径创建数据文件备份路径e:rman_bakmes创建控制文件和初始化参数文件备份路径e:rman_bakmescontrol_bak创建联机日志文件备份路径e:rman_bakmesredolog3、配置RMAN备份参数登录RMAN,查看并配置RMAN的备份参数
show all;控制文件和spfile文件自动备份设为on,并配置备份路径
CONFIGURE CONTROLFILE
AUTOBACKUP ON;CONFIGURE
CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘
e:rman_bakmescontrol_bak%F’;
配置数据文件备份路径CONFIGURE
CHANNEL DEVICE TYPE DISK FORMAT ‘
e:rman_bakmes%d_%u_%c_%T’;
确认备份参数的更改
show all;4、全备份
backup as
compressed backupset database plus archivelog;5、更新测试用表
完成备份后再插入一条记录到测试表中
insert into免费主机域名
rmes.r_rmantest_t values(‘After rman backup’);
commit;
不做检查点,这样数据只记录在联机日志中,不会马上写入数据文件。6、备份联机日志文件在操作系统下将联机日志文件复制到备份目录e:rman_bakmesredolog所有的备份都已完备,现在可以在本机上用DBCA销毁数据库,或者将备份文件转出到其他机器上进行数据库重建。
二、重建数据库1、重建实例服务在操作系统命令提示符下执行oradim命令,创建名为mes的服务,并设置环境变量
C:> oradim
-new -sid mes
C:> set
oracle_sid=mes2、还原服务器参数文件并重建丢失的目录登陆RMAN
C:UsersAdministrator>rman
target /
恢复管理器: Release 11.2.0.4.0
– Production on 星期四 5月 3 16:55:47 2018
Copyright (c) 1982, 2011,
Oracle and/or its affiliates. All rights
reserved.
已连接到目标数据库 (未启动)使用之前的备份,在非加载模式下还原spfile服务器参数文件
RMAN> startup nomount
启动失败: ORA-01078: failure
in processing system parameters
LRM-00109:
???????????????? ‘C:ORACLEPRODUCT11.2.0DBHOME_1DATABASEINITMES.ORA’
在没有参数文件的情况下启动 Oracle
实例以检索 spfile
Oracle 实例已启动
系统全局区域总计 1068937216 字节
Fixed Size 2288080 字节
Variable Size 285214256 字节
Database Buffers 775946240 字节
Redo Buffers 5488640 字节
RMAN> restore spfile
from ‘e:rman_bakmescontrol_bakC-2056489697-20180503-01’;
启动 restore 于 2018-05-03
16:58:49
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=396
设备类型=DISK
通道 ORA_DISK_1: 正在从
AUTOBACKUP e:rman_bakmescontrol_bakC-2056489697-20180503-01 还原 spfile
通道 ORA_DISK_1: 从
AUTOBACKUP 还原 SPFILE 已完成
完成 restore 于 2018-05-03
16:58:50创建pfile文件
RMAN> sql’create pfile
from spfile’;
sql 语句: create pfile from
spfileWindows中该文件默认位置为%ORACLE_HOME%databaseINITmes.ORA打开pfile文本文件,将文件中提及的目录创建起来,如本例中需要保证以下目录存在C:OracleadminmesadumpD:ORADATAMES
E:FAST_RECOVERY_AREAMESE:fast_recovery_areamesarchivelog3、还原控制文件
用还原的服务器参数文件重启实例到非加载模式,还原控制文件
RMAN> shutdown abort
Oracle 实例已关闭
RMAN> startup nomount
已连接到目标数据库 (未启动)
Oracle 实例已启动
系统全局区域总计 1286066176 字节
Fixed Size 2280896 字节
Variable Size 771752512 字节
Database Buffers 503316480 字节
Redo Buffers 8716288 字节
RMAN> restore
controlfile from ‘e:rman_bakmescontrol_bakC-2056489697-20180503-01’;
启动 restore 于 2018-05-03
17:06:41
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=156
设备类型=DISK
通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成, 用时:
00:00:02
输出文件名=D:ORADATAMESCONTROL01.CTL
输出文件名=E:FAST_RECOVERY_AREAMESCONTROL02.CTL
完成 restore 于 2018-05-03
17:06:434、还原数据库
用还原的控制文件加载数据库
RMAN> alter database
mount;
数据库已装载
释放的通道: ORA_DISK_1
还原数据库
RMAN> restore
database;
启动 restore 于 2018-05-03
17:19:26
使用通道 ORA_DISK_1
通道 ORA_DISK_1:
正在开始还原数据文件备份集
通道 ORA_DISK_1:
正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件
00001 还原到 D:ORADATAMESSYSTEM01.DBF
通道 ORA_DISK_1: 将数据文件
00002 还原到 D:ORADATAMESSYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件
00003 还原到 D:ORADATAMESUNDOTBS01.DBF
通道 ORA_DISK_1: 将数据文件
00004 还原到 D:ORADATAMESUSERS01.DBF
通道 ORA_DISK_1: 将数据文件
00005 还原到 D:ORADATAMESEXAMPLE01.DBF
通道 ORA_DISK_1: 将数据文件
00006 还原到 D:ORADATAMESCMES01.DBF
通道 ORA_DISK_1: 将数据文件
00007 还原到 D:ORADATAMESRMES01.DBF
通道 ORA_DISK_1: 将数据文件
00008 还原到 D:ORADATAMESHMES01.DBF
通道 ORA_DISK_1: 将数据文件
00009 还原到 D:ORADATAMESINDX01.DBF
通道 ORA_DISK_1: 将数据文件
00010 还原到 D:ORADATAMESFDA01.DBF
通道 ORA_DISK_1: 正在读取备份片段
E:RMAN_BAKMESMES_85T1VQN6_1_20180503
通道 ORA_D免费主机域名ISK_1: 段句柄 =
E:RMAN_BAKMESMES_85T1VQN6_1_20180503 标记 = TAG20180503T163757
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时:
00:00:56
完成 restore 于 2018-05-03
17:20:23期间可能会遭遇ORA-19693:已包括备份片段的错误提示,这个是由于控制文件中的备份信息被重复编目所致。可以先将备份文件路径改名,然后进行一次交叉检查crosscheck backup,再用delete
expired backup
删除和注销备份信息,之后再进行重新编目注册备份catalog start with ‘…’,经此处理后再进行restore还原应该可以解决问题。5、拷回联机日志文件
确认联机日志文件应当存放的位置
17:16:07 SYS @ mes AS
SYSDBA>select member from v$logfile;
MEMBER
————————————————————
D:ORADATAMESREDO03.LOG
D:ORADATAMESREDO02.LOG
D:ORADATAMESREDO01.LOG在操作系统下将备份在e:rman_bakmesredolog中的联机日志文件拷回到指定的联机日志目录中。6、恢复并打开数据库如果之前使用了块改变跟踪,则应当在执行恢复前先取消块改变跟踪,因为块改变跟踪的DBF数据文件已不存在,RMAN备份时不会去备份它
alter database
disable block change tracking;
恢复数据库
RMAN> recover
database;
启动 recover 于 2018-05-03
17:21:18
使用通道 ORA_DISK_1
正在开始介质的恢复
线程 1 序列 7 的归档日志已作为文件
D:ORADATAMESREDO01.LOG 存在于磁盘上
线程 1 序列 8 的归档日志已作为文件
D:ORADATAMESREDO02.LOG 存在于磁盘上
归档日志文件名=D:ORADATAMESREDO01.LOG
线程=1 序列=7
归档日志文件名=D:ORADATAMESREDO02.LOG
线程=1 序列=8
介质恢复完成, 用时: 00:00:01
完成 recover 于 2018-05-03
17:21:23
打开数据库,重置联机日志序列
RMAN> alter database
open resetlogs;
数据库已打开7、验证数据的恢复
查看测试用表,验证数据是否完整恢复
17:18:45 SYS @ mes AS
SYSDBA>select * from rmes.r_rmantest_t;
A
——————————
Before rman backup
After rman backup至此,完成了mes数据库的重新创建和恢复。8RMAN异地恢复需要注意的问题
根据备份文件存放的目录位置,修改指向后再还原
catalog start
with ‘e:rman_bakmes’;
restore
database;10g恢复到11g环境时需注意:1)恢复前执行预升级工具脚本utlirp.sql2)恢复数据库3)以startup upgrade方式打开数据库4)执行升级脚本catupgrd.sql如果事先没有执行预升级脚本,则执行以上脚本时会报错,因为表registry$database缺少TZ_VERSION字段。解决方法是修改表registry$database,增加tz_version字段,number类型,并重新插入记录
truncate
table registry$database;
insert
into registry$database
(platform_id,platform_name,edition,tz_version)
values
((select platform_id from v$database),
(select
platform_name from v$database),
null,
(select version
from v$timezone_file));之后再执行升级脚本catupgrd.sql就没有问题了。感谢你能够认真阅读完这篇文章,希望小编分享的“如何利用RMAN备份重建数据库”这篇文章对大家有帮助,同时也希望大家多多支持云技术,关注云技术行业资讯频道,更多相关知识等着你来学习!

相关推荐: Oracle 12c中使用FILE_NAME_CONVERT创建pdb报错ORA-01276怎么办

这篇文章给大家分享的免费主机域名是有关Oracle 12c中使用FILE_NAME_CONVERT创建pdb报错ORA-01276怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在使用12c多租户模式,创建PDB时遇到如下 OR…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册