使用RMAN实现异机备份恢复(WIN平台)

--================================= -- 使用RMAN实现异机备份恢复(WIN平台) --=================================     在有些情况下,如数据库服务器处于磁盘空间的压力或成本控制需要将数据文件备份到异机,使用RMAN可以完成该工作。基于Windows平台 所需完成的配置相对简单,仅仅是添加账户与使用新增的帐户来启动数据库服务以及设置共享路径。     下面给出具体描述。 一、配置数据库服务器与备份目的主机     1. 帐户配置(假定有主机A,B 且A为数据库服务器,B为备份目的主机,且能互相ping通)                 如果主机A与主机B使用的Administrator密码相同,且A上的OracleServiceDBNAME服务和OracleOraHome92TNSListener服务都以"本         地系统账户登陆"             如果主机A与主机B使用不同的Administrator密码,处于安全考虑不宜设为相同,则则可以分别在主机A与主机B上新建一用户,假         定在主机A上建立DBA_oracle,密码为ORA_PWD,则在主机B上也建立该用户(用户名可以不同,密码必须相同),密码同样设置为ORA_PWD         。将刚建好的用户在各自主机将其加入到Aministrators组     2. 设定OracleServiceDBNAME服务和OracleOraHome92TNSListener服务的启动帐户。在运行处输入services.msc。在主机A上设定使用此帐         户登陆,即使用刚刚建立的DBA_oracle,输入密码启动,该设置需要重启后有效     3. 在主机B上设定共享文件夹,如RMAN_Shared,设置其权限为完全控制(在A上使用\\IP\RMAN_Shared测试是否可写入文件) 二、查看RMAN的配置与数据库情况 

RMAN> show CONTROLFILE AUTOBACKUP; RMAN 配置参数为: CONFIGURE CONTROLFILE AUTOBACKUP ON; -->控制文件自动备份,建议开启 RMAN> show CONTROLFILE AUTOBACKUP FORMAT; RMAN 配置参数为: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '\\192.168.1.151\RMAN_Shared\CONTROL _%F'; -->控制文件备份位置 RMAN> show SNAPSHOT CONTROLFILE NAME; RMAN 配置参数为: CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\ORA92\DATABASE\SNCFTESTHH.ORA'; # default -->快照控制文件位置 SQL> select * from v$version; -->数据库的版本,当前演示环境为Oracle 9i BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production PL/SQL Release 9.2.0.1.0 - Production CORE 9.2.0.1.0 Production TNS for 32-bit Windows: Version 9.2.0.1.0 - Production NLSRTL Version 9.2.0.1.0 - Production SQL> show parameter db_name NAME TYPE VALUE ------------------------------------ ----------- --------------- db_name string testHH

三、备份数据库并关闭数据库,删除system01.dbf文件     使用备份脚本对数据库进行备份,备份脚本在最后给出   

D:\>rman target robinson/robin@testhh cmdfile=D:\oracle\oradata\testHH\backup.rman log=D:\oracle\ora data\testHH\backup.log

四、从异机进行还原与恢复     1.关闭数据库        

SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。

    2.删除system01.dbf数据文件以便测试恢复       

SQL> ho del D:\oracle\oradata\testHH\SYSTEM01.DBF

    3.重启实例,收到错误提示     

SQL> startup ORACLE 例程已经启动。 Total System Global Area 126950220 bytes Fixed Size 453452 bytes Variable Size 109051904 bytes Database Buffers 16777216 bytes Redo Buffers 667648 bytes 数据库装载完毕。 ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件 ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\TESTHH\SYSTEM01.DBF'

    4.使用RMAN进行还原与恢复       

D:\>rman target / -->连接到缺省的目标数据库 恢复管理器: 版本9.2.0.8.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. 连接到目标数据库: TESTHH (DBID=3955637780) RMAN> restore database; -->还原数据库 启动 restore 于 25-7月 -11 正在使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: sid=14 devtype=DISK 通道 ORA_DISK_1: 正在开始恢复数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件 正将数据文件00002恢复到D:\ORACLE\ORADATA\TESTHH\UNDOTBS01.DBF 正将数据文件00003恢复到D:\ORACLE\ORADATA\TESTHH\CWMLITE01.DBF 正将数据文件00005恢复到D:\ORACLE\ORADATA\TESTHH\EXAMPLE01.DBF 正将数据文件00006恢复到D:\ORACLE\ORADATA\TESTHH\INDX01.DBF 正将数据文件00010恢复到D:\ORACLE\ORADATA\TESTHH\XDB01.DBF 通道 ORA_DISK_1: 已恢复备份段 1 段 handle=\\192.168.1.151\RMAN_SHARED\FULL_TESTHH_15MIBDKA_1_1 tag=FULL_BAK params=NULL 通道 ORA_DISK_1: 恢复完成 通道 ORA_DISK_1: 正在开始恢复数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件 正将数据文件00001恢复到D:\ORACLE\ORADATA\TESTHH\SYSTEM01.DBF 正将数据文件00004恢复到D:\ORACLE\ORADATA\TESTHH\DRSYS01.DBF 正将数据文件00007恢复到D:\ORACLE\ORADATA\TESTHH\ODM01.DBF 正将数据文件00008恢复到D:\ORACLE\ORADATA\TESTHH\TOOLS01.DBF 正将数据文件00009恢复到D:\ORACLE\ORADATA\TESTHH\USERS01.DBF 通道 ORA_DISK_1: 已恢复备份段 1 段 handle=\\192.168.1.151\RMAN_SHARED\FULL_TESTHH_16MIBDMB_1_1 tag=FULL_BAK params=NULL 通道 ORA_DISK_1: 恢复完成 完成 restore 于 25-7月 -11 RMAN> recover database; -->恢复数据库 启动 recover 于 25-7月 -11 使用通道 ORA_DISK_1 正在开始介质的恢复 完成介质的恢复 完成 recover 于 25-7月 -11 SQL> alter database open; SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- ---------- TESTHH READ WRITE

    5.结论             从上面的备份与恢复来看,使用异机备份与恢复与使用本地服务器备份与恢复操作方式并无太多差异,但数据库的性能则受到一定         的影响。即备份到异机其备份与恢复速度低于备份恢复在本地服务器。在大型生产环境中且实时性要求特高的情形,尽可能的避免异机         备份与恢复。尽管如此,备份到异机与从异机恢复仍然不失为一种可选方案。 五、RMAN 备份脚本  

run{ allocate channel ch1 device type disk; allocate channel ch2 device type disk; backup database format='\\192.168.1.151\RMAN_Shared\full_%d_%U' -->注意格式的写法\\IP\Shared_folder\ tag='full_bak'; sql "alter system archive log current"; crosscheck archivelog all; delete noprompt expired archivelog all; backup archivelog all format='\\192.168.1.151\RMAN_Shared\log_%d_%U' delete input -->注意格式的写法\\IP\Shared_folder\ tag='log_bak'; release channel ch1; release channel ch2;}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏不想当开发的产品不是好测试

centos6.6 下安装mysql

背景 没啥好说的,就是需要搭建自己的测试数据库跟研发的数据隔离开来,需要怼mysql 步骤 1. 确认线上mysql的版本 SELECT VERSION(); ...

23450
来自专栏乐沙弥的世界

Innobackupex 全备数据库

    对于MySQL数据库的热备,xtrabackup是除了MySQL enterprise backup之外的不二之选。该工具提供了基于innodb存储引擎...

17620
来自专栏运维技术迷

MySQL数据库(一):安装MySQL数据库

安装环境: 操作系统版本:RHEL 6.5 安装版本:MYSQL 5.1 升级版本:MYSQL 5.6 一、简述MYSQL 1.什么是数据库? DB ...

45380
来自专栏zhangdd.com

mysql proxysql+mgr集群 centos7系统安装配置

wget https://codeload.github.com/sysown/proxysql/tar.gz/v1.4.4

29130
来自专栏乐沙弥的世界

Oracle 数据库实例启动关闭过程

Oracle数据库实例的启动,严格来说应该是实例的启动,数据库仅仅是在实例启动后进行装载。Oracle数据启动的过程被划分为

16840
来自专栏杨建荣的学习笔记

MySQL修复表的简单分析(r11笔记第19天)

今天有个同事问我一个数据库的问题,如果开始他就把环境细节全都告诉我,可能我就知难而退了。等我大体明白了问题之后,发现好像背景比我想的要复杂多了。这是一个远程云主...

359160
来自专栏FreeBuf

收集各类安全设备、Nginx日志实现日志统一管理及告警

近来安全测试项目较少,想着把安全设备、nginx日志收集起来并告警, 话不多说,直接说重点,搭建背景:

30870
来自专栏数据和云

字典禁忌:UPDATE GLOBAL_NAME为空之后的恢复

编辑手记:最近一个朋友遭遇到了这个问题,当GLOBAL_NAME被更新为空值之后,数据库无法启动,我们重温一下老熊的这个测试,记住结论,无论如何不要Update...

31640
来自专栏数据库新发现

Oracle HowTo:如何在Oracle10g中启动和关闭OEM

作者:eygle 出处:http://www.eygle.com/blog 日期:October 28, 2005 本文链接:http://www.eygle....

8920
来自专栏散尽浮华

Mysql读写分离方案-MySQL Proxy环境部署记录

Mysql的读写分离可以使用MySQL Proxy和Amoeba实现,其实也可以使用MySQL-MMM实现读写分离的自动切换。MySQL Proxy有一项强大功...

46280

扫码关注云+社区

领取腾讯云代金券