RMAN备份到共享存储失败(win平台)
RMAN备份到共享存储失败(win平台)
之前在《Win环境下Oracle小数据量数据库的物理备份》这篇文章中,介绍了在win平台下对于小数据量的数据库的物理备份设计。
文中重点提到,强烈建议备份文件有单独的存储,防止存储单点故障时备份文件亦不可用。
当我在实验环境实际去模拟这种使用单独存储的环境时,出现意料之外的问题:备份到映射的盘符无法成功,报错如下:
启动 backup 于 24-7月 -17
当前日志已存档
通道 c1: 正在启动归档日志备份集
通道 c1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=44 RECID=41 STAMP=949791480
输入归档日志线程=1 序列=45 RECID=42 STAMP=949792083
输入归档日志线程=1 序列=46 RECID=43 STAMP=949828864
输入归档日志线程=1 序列=47 RECID=44 STAMP=949858993
输入归档日志线程=1 序列=48 RECID=45 STAMP=949874423
输入归档日志线程=1 序列=49 RECID=46 STAMP=949875542
输入归档日志线程=1 序列=50 RECID=47 STAMP=949875688
输入归档日志线程=1 序列=51 RECID=48 STAMP=950174233
输入归档日志线程=1 序列=52 RECID=49 STAMP=950176635
通道 c1: 正在启动段 1 于 24-7月 -17
释放的通道: c1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup plus archivelog 命令 (在 07/24/2017 09:57:17 上) 失败
ORA-19504: 无法创建文件"Z:\HOTBACK\MYORACLE\ARCH_MCDULL_20170724_58_1.BAK"
ORA-27040: 文件创建错误, 无法创建文件
OSD-04002: 无法打开文件
O/S-Error: (OS 3) 系统找不到指定的路径。
恢复管理器完成。
实际上我手工尝试在Z:\HOTBACK\MYORACLE\目录下创建文件都是有权限的,而报错就是说无法创建,系统找不到指定的路径。
这就比较奇怪了,于是去MOS搜索报错信息,找到匹配文档:
RMAN Backup failing on mapped drive on windows (文档 ID 2160858.1)
在文档的描述中,最终解决方案是要求写全绝对的路径,而不能写映射的盘符:
Suppose \hostname\backup\ is the shared folder which has been mapped as N:\ on windows, then the format in the backup command should specify the shared folder.
For example:
RMAN>backup database format '\hostname\backup%U';
所以我这里就修改为这种写法(实验发现无论是写主机名还是IP地址均可):
--rman_backup.txt
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
run {
allocate channel c1 type disk;
backup database format '\\WDMYCLOUD\Public\hotback\myoracle\db_%d_%T_%s_%p.bak' plus archivelog delete all input format '\\WDMYCLOUD\Public\hotback\myoracle\arch_%d_%T_%s_%p.bak';
backup current controlfile tag 'CTRL' FORMAT '\\192.168.1.196\Public\hotback\myoracle\ctrl_%d%T%s%p.bak';
release channel c1;
}
delete noprompt obsolete;
exit
通过这个备份脚本测试就可以正常备份到共享存储,我这里实验环境就可以正常备份了。跟之前的文章相比,手工又加了一条控制文件的备份。这样在存储上就可以有保留完整的备份集,这样即使整个主机都瘫痪也可以方便的从存储上的备份恢复出最新备份的数据库。
但如果改成这种完整的网络路径还不行(在某客户环境就是这样设置后还不行,但报错最后的O/S-Error变为(OS 5)拒绝访问),这就很可能是其他权限因素导致,比如虚拟化的主机,有些权限需要上层虚拟化软件做统一配置。
下面是截取测试环境的某一天正常备份的日志信息如下,便于理解这一次备份的整个过程:
恢复管理器: Release 11.2.0.4.0 - Production on 星期三 7月 26 16:28:48 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: MCDULL (DBID=3752651852)
使用目标数据库控制文件替代恢复目录
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
2> CONFIGURE CONTROLFILE AUTOBACKUP ON;
3> run {
4> allocate channel c1 type disk;
5> backup database format '\\WDMYCLOUD\Public\hotback\myoracle\db_%d_%T_%s_%p.bak' plus archivelog delete all input format '\\WDMYCLOUD\Public\hotback\myoracle\arch_%d_%T_%s_%p.bak';
6> backup current controlfile tag 'CTRL' FORMAT '\\192.168.1.196\Public\hotback\myoracle\ctrl_%d%T%s%p.bak';
7> release channel c1;
8> }
9> delete noprompt obsolete;
10> exit
旧的 RMAN 配置参数:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
新的 RMAN 配置参数:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
已成功存储新的 RMAN 配置参数
旧的 RMAN 配置参数:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
新的 RMAN 配置参数:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
已成功存储新的 RMAN 配置参数
分配的通道: c1
通道 c1: SID=70 设备类型=DISK
启动 backup 于 26-7月 -17
当前日志已存档
通道 c1: 正在启动归档日志备份集
通道 c1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=59 RECID=56 STAMP=950343518
输入归档日志线程=1 序列=60 RECID=57 STAMP=950345293
输入归档日志线程=1 序列=61 RECID=58 STAMP=950372931
通道 c1: 正在启动段 1 于 26-7月 -17
通道 c1: 已完成段 1 于 26-7月 -17
段句柄=\\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\ARCH_MCDULL_20170726_75_1.BAK 标记=TAG20170726T162852 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:00:15
通道 c1: 正在删除归档日志
归档日志文件名=E:\APP\MCDULL\FAST_RECOVERY_AREA\MCDULL\ARCHIVELOG\2017_07_26\O1_MF_1_59_DQHQYWSG_.ARC RECID=56 STAMP=950343518
归档日志文件名=E:\APP\MCDULL\FAST_RECOVERY_AREA\MCDULL\ARCHIVELOG\2017_07_26\O1_MF_1_60_DQHSPF9W_.ARC RECID=57 STAMP=950345293
归档日志文件名=E:\APP\MCDULL\FAST_RECOVERY_AREA\MCDULL\ARCHIVELOG\2017_07_26\O1_MF_1_61_DQJNP3JO_.ARC RECID=58 STAMP=950372931
完成 backup 于 26-7月 -17
启动 backup 于 26-7月 -17
通道 c1: 正在启动全部数据文件备份集
通道 c1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=E:\ORADATA\MCDULL\DATAFILE\O1_MF_SYSTEM_DOZ44HT0_.DBF
输入数据文件: 文件号=00002 名称=E:\ORADATA\MCDULL\DATAFILE\O1_MF_SYSAUX_DOZ44HTZ_.DBF
输入数据文件: 文件号=00003 名称=E:\ORADATA\MCDULL\DATAFILE\O1_MF_UNDOTBS1_DOZ44HV7_.DBF
输入数据文件: 文件号=00005 名称=E:\ORADATA\MCDULL\DATAFILE\O1_MF_DBS_D_JI_DOZ4NYTR_.DBF
输入数据文件: 文件号=00006 名称=E:\ORADATA\MCDULL\DATAFILE\O1_MF_DBS_I_JI_DOZ4O14G_.DBF
输入数据文件: 文件号=00004 名称=E:\ORADATA\MCDULL\DATAFILE\O1_MF_USERS_DOZ44HVV_.DBF
通道 c1: 正在启动段 1 于 26-7月 -17
通道 c1: 已完成段 1 于 26-7月 -17
段句柄=\\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\DB_MCDULL_20170726_76_1.BAK 标记=TAG20170726T162907 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:01:45
完成 backup 于 26-7月 -17
启动 backup 于 26-7月 -17
当前日志已存档
通道 c1: 正在启动归档日志备份集
通道 c1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=62 RECID=59 STAMP=950373053
通道 c1: 正在启动段 1 于 26-7月 -17
通道 c1: 已完成段 1 于 26-7月 -17
段句柄=\\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\ARCH_MCDULL_20170726_77_1.BAK 标记=TAG20170726T163053 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:00:01
通道 c1: 正在删除归档日志
归档日志文件名=E:\APP\MCDULL\FAST_RECOVERY_AREA\MCDULL\ARCHIVELOG\2017_07_26\O1_MF_1_62_DQJNSXKR_.ARC RECID=59 STAMP=950373053
完成 backup 于 26-7月 -17
启动 backup 于 26-7月 -17
通道 c1: 正在启动全部数据文件备份集
通道 c1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
通道 c1: 正在启动段 1 于 26-7月 -17
通道 c1: 已完成段 1 于 26-7月 -17
段句柄=\\192.168.1.196\PUBLIC\HOTBACK\MYORACLE\CTRL_MCDULL20170726781.BAK 标记=CTRL 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 26-7月 -17
启动 Control File and SPFILE Autobackup 于 26-7月 -17
段 handle=E:\APP\MCDULL\FAST_RECOVERY_AREA\MCDULL\AUTOBACKUP\2017_07_26\O1_MF_S_950373059_DQJNT3DT_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 于 26-7月 -17
释放的通道: c1
RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 3
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=70 设备类型=DISK
删除以下已废弃的备份和副本:
类型 关键字 完成时间 文件名/句柄
-------------------- ------ ------------------ --------------------
备份集 54 24-7月 -17
备份片段 54 24-7月 -17 \\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\DB_MCDULL_20170724_60_1.BAK
备份集 55 24-7月 -17
备份片段 55 24-7月 -17 \\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\ARCH_MCDULL_20170724_61_1.BAK
备份集 57 24-7月 -17
备份片段 57 24-7月 -17 \\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\ARCH_MCDULL_20170724_63_1.BAK
备份集 62 24-7月 -17
备份片段 62 24-7月 -17 E:\APP\MCDULL\FAST_RECOVERY_AREA\MCDULL\AUTOBACKUP\2017_07_24\O1_MF_S_950195379_DQC79MWR_.BKP
备份集 63 24-7月 -17
备份片段 63 24-7月 -17 \\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\CTRL_MCDULL20170724691.BAK
已删除备份片段
备份片段句柄=\\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\DB_MCDULL_20170724_60_1.BAK RECID=54 STAMP=950177224
已删除备份片段
备份片段句柄=\\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\ARCH_MCDULL_20170724_61_1.BAK RECID=55 STAMP=950177329
已删除备份片段
备份片段句柄=\\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\ARCH_MCDULL_20170724_63_1.BAK RECID=57 STAMP=950192787
已删除备份片段
备份片段句柄=E:\APP\MCDULL\FAST_RECOVERY_AREA\MCDULL\AUTOBACKUP\2017_07_24\O1_MF_S_950195379_DQC79MWR_.BKP RECID=62 STAMP=950195379
已删除备份片段
备份片段句柄=\\WDMYCLOUD\PUBLIC\HOTBACK\MYORACLE\CTRL_MCDULL20170724691.BAK RECID=63 STAMP=950195400
5 对象已删除
恢复管理器完成。
从备份的日志输出可以清楚的看到,备份程序按照脚本的内容,配置了相关RMAN参数,然后首先备份归档文件,之后对数据库文件进行全备,之后又对归档文件进行备份,之后对控制文件进行备份,最后由于开启了控制文件自动备份,又对控制文件和参数文件进行了备份。最终根据目前的保留策略对陈旧的备份进行删除清理。
至此,问题就彻底解决了,困惑的是为何映射出来的盘不能直接用,非要写完整的网络路径,看来win平台的差异真是不少呀。
RMAN备份到共享存储失败(win平台)的更多相关文章
- SUN平台服务器光纤共享存储互斥失败如何恢复数据?
服务器数据恢复故障描述: 服务器最初的设计思路为将两台SPARC SOLARIS系统通过光纤交换机共享同一存储作为CLUSTER使用,正常情况下A服务器工作,当A服务器发生故障宕机后即可将其关机然后开 ...
- Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中
在Oracle Rac环境中,数据文件都是要存放在ASM共享存储上的,这样两个节点才能同时访问.而当你在某一节点下把数据文件创建在本地磁盘的时候,那么在另一节点上要访问该数据文件的时候就会报错,因为找 ...
- 【集群实战】共享存储实时备份(解决nfs共享存储的单点问题)
1. nfs存储的单点问题 如果nfs服务器宕机了,则所有的nfs客户机都会受到影响.一旦宕机,会丢失部分用户的数据.为了解决单点问题,需要实现共享存储的实时备份,即:将nfs服务端共享目录下的数据实 ...
- RMAN备份失败之:mount: block device /dev/emcpowerc1 is write-protected, mounting read-only
今天再做巡检的时候发现有一台服务器的RMAN备份不正常,有一段时间没能正常备份了.检查了一下脚本,正常,定时任务列表也正常,再检查一下/var/log/cron的内容,也没有问题.尝试在该挂载点上创建 ...
- RMAN备份失败: ORA-19502 & ORA-27072: File I/O error
早上检查一ORACLE数据库的RMAN备份的邮件时,发现出现了ORA-27072: File I/O error等错误,具体信息如下所示: channel ORA_DISK_1: starting p ...
- RAC 之 RMAN 备份
这篇主要介绍的是RAC 环境下的RMAN 备份. 关于Oracle 备份与恢复的一些理论知识参考我的Blog: Oracle 备份 与 恢复 概述 http://blog.csdn.net ...
- RAC RMAN备份
这篇主要介绍的是RAC 环境下的RMAN 备份. 关于Oracle 备份与恢复的一些理论知识参考我的Blog: Oracle 备份 与 恢复 概述 http://blog.csdn.net ...
- RMAN备份演练初级篇
前面我们已经知道了如何进入rman,以及rman的一些基本命令,相信大家定会觉着rman操作的简单,事实也确实如此,但万不要因此小视rman的强大,简单往往意味着灵活,灵活对于那些有心人则意味着主动权 ...
- 配置RMAN备份环境
关于配置RMAN备份环境你可以给每个目标数据库设置一些固定的配置,这些配置控制着RMAN多个方面的行为.例如,你可配置备份的保存策略.默认的备份目录.默认的备份设备类型等.你可以用show命令来查看配 ...
随机推荐
- (转)java web 学习之路(学习顺序)
第一步:学习HTML和CSS HTML(超文本标记语言)是网页的核心,学好HTML是成为Web开发人员的基本条件.HTML很容易学习的,但也很容易误用,要学精还得费点功夫. 随着HTML5的发展和普及 ...
- javascript基础(幼兔、小兔成兔数量等典型例题)
一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米var sum=0; var a=0.0001 for(var i=0;i<100;i++){ a=a*2; sum= ...
- 安装python2.7
系统的yum程序使用的是python2.6,不能够卸载系统所带的python环境.python2.7的安装命令如下 tar vjxf Python-2.7.1.tar.bz2 cd Python-2. ...
- UIButton图片文字控件位置自定义(图片居右文字居左、图片居中文字居中、图片居左文字消失等)
在开发中经常会碰到需要对按钮中的图片文字位置做调整的需求.第一种方式是通过设置按钮中图片文字的偏移量.通过方法setTitleEdgeInsets和setImageEdgeInsets实现 代码如下: ...
- Bash shell执行命令的优先级
1.别名2.关键字:if.function.while .until等3.函数4.内置命令5.可执行程序或脚本 别关函内可 =-=-=-=-=Powered by Blogilo
- Perl正则表达式例子
Perl正则表达式 一.介绍 正则表达式各语言都有自己的规范,但是基本都差不多,都是由元字符的组合来进行匹配:由于Nmap内嵌的服务与版本探测是使用的Perl正则规范,因此此篇博客记录一下Perl正则 ...
- centos 6.6 ios镜像文件 下载 官网和阿里云两种方式教你下载
1百度一下:centos 打开打开官网.选择这一项 CET CENTOS 2选择 DVD ISO,双击下载 直接选择左键点击下载 这里需要迅雷 方法 二 打开 https://mirrors.aliy ...
- udl文件测试数据库连接
直接建一个udl后缀的文件(新建txt文件,改后缀) 然后会默认有个小电脑标志,双击打开就可以看到,可以用来配置数据库连接信息,可以测试连接,如果连接通过,可以再用记事本打开这个udl文件,里面就有生 ...
- Spingmvc项目注册登录图片验证码(比较灵活的验证码)
最近项目中注册模块要加一个图片验证码功能. 写下来记录下. 1:首先用什么实现,我用的servlet. 后台java代码:RandomValidateCode 类 ,这个类是生成随即验证码和干扰线,可 ...
- 几种Android数据序列化方案
一.引言 数据的序列化在Android开发中占据着重要的地位,无论是在进程间通信.本地数据存储又或者是网络数据传输都离不开序列化的支持.而针对不同场景选择合适的序列化方案对于应用的性能有着极大的影响. ...