oracle备份注册表,Oracle备份脚本执行失败解决实例

3、猜想与解决

询问同事最近的环境变化情况,了解到一个细节:运维部门同意将服务器纳入到集中备份环境。由于环境的差异,运维部门只是负责调用各自的备份程序(自己编写),之后将备份拷贝到集中磁带上。

这样引起的笔者的一个猜想:手工执行和报错执行一个很大的差异就是登陆权限。不同的操作系统用户登录,在权限上是有所不同的。

对Oracle而言,操作系统因素有两个方面,一个是环境变量($ORACLE_SID等),另一个是系统角色。在Linux/AIX下,环境变量我们通常设置在用户的层面,使用oracle登录之后,环境变量自动设置。角色上,我们也创建了dba组进行配比。

在Windows上,相同的设置也是存在的。环境变量是以注册表键值的方式保存在全局。而管理员角色是以组策略的方式设置,名称为ora_dba。

对Oracle本机上的匿名登录,如果我们没有将操作系统用户设置在dba组里面,是可能登录失败的。

解决问题的思路有两个:一种策略是分析出集中备份环境的登录用户,将其加入到dba操作系统用户组里面。另一种方法是进行密码登陆,不使用/登陆。

笔者建议使用第二个方法,修改脚本如下:

connect target sys/oracle

run{

backup database plus archivelog delete input;

crosscheck archivelog all;

delete noprompt expired backupset;

delete noprompt obsolete;

}

转到第二天再次执行备份脚本,执行日志如下:

恢复管理器: Release 10.2.0.1.0 - Production on 星期三 1月 8 20:00:01 2014

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

RMAN> connect target *

2> run{

3> backup database plus archivelog delete input;

4> crosscheck archivelog all;

5> delete noprompt expired backupset;

6> delete noprompt obsolete;

7> }

8>

连接到目标数据库: OTSTEST (DBID=2884314031)

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

启动 backup 于 08-1月 -14

当前日志已存档

分配的通道: ORA_DISK_1

存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\OTSTEST\ARCHIVELOG\2014_01_08\O1_MF_1_4181_9DTHG3N5_.ARC 记录 ID=1174 时间戳 =836337603

完成 backup 于 08-1月 -14

备份成功,问题解决。

4、结论

我们在实际工作中,会遇到各种各样的问题。这也就是为什么实践是成长的关键原因。综合各种知识能力,层层剥离,合理假设,可以帮助我们解决问题。

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值