oracle数据库rman定时,Oracle数据库rman自动备份的常见报错

问题描述:

Oracle自动备份脚本的实现。

错误提示1:

Message file RMAN.msb not found

Verify that Oracle_HOME is set properly

。。。。。。

错误原因:

自动执行的不能够识别相应的命令,需要在自动备份脚本中显式的声明Oracle的环境变量。

错误提示2:

standard in must be a tty

。。。。。。

错误原因:

不能在cron使用su或者管道等操作,必须将su命令移动到相关的shell脚本中。

错误提示3:

Argument     Value          Description

-----------------------------------------------------------------------------

target       quoted-string  connect-string for target databasecatalog      quoted-string  connect-string for recovery catalognocatalog    none           if specified, then no recovery catalogcmdfile      quoted-string  name of input command filelog          quoted-string  name of output message log filetrace        quoted-string  name of output debugging message log fileappend       none           if specified, log is opened in append modedebug        optional-args  activate debuggingmsgno        none           show RMAN-nnnn prefix for all messagessend         quoted-string  send a command to the media managerpipe         string         building block for pipe namestimeout      integer        number of seconds to wait for pipe inputchecksyntax  none           check the command file for syntax errors

-----------------------------------------------------------------------------

Both single and double quotes (' or ") are accepted for a quoted-string.Quotes are not required unless the string contains embedded white-space.

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

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

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

RMAN-00556: could not open CMDFILE "backup_ar.rcv" 。。。。。。

错误原因:

需要在cmdfile中指明绝对路径,不能因为shell脚本调用的cmdfile是在同一个目录下就可以直接使用文件名或者直接使用./

正确示例代码:

1、#cron文件

0 12,18 * * * /home/Oracle/bak_sh/backup_ar.sh

#表示每天12,18点对数据库归档日至进行全备份

2、入口shell文件,文件名:backup_ar.sh

export Oracle_HOME=/home/u01/app/Oracle/Oracle/product/10.2.0/db_1

export Oracle_SID=test

export LANG=en_US.UTF-8

/home/u01/app/Oracle/Oracle/product/10.2.0/db_1/bin/rman cmdfile = backup_ar.rcv

3、rman备份脚本

connect target /

connect catalog rman/rman@rman

run{

allocate channel d1 device type disk;

sql 'alter system archive log current';

backup archivelog all delete input

format '/opt/rmanback/full_%u_%p_%c.ac' filesperset = 3

;release channel d1;

}

解决方法:

1、两种办法

一是用root的crontab,*/2 * * * * a.sh --》su - Oracle -c a.sh

一是在a.sh里加上Oracle的环境。

2、我们做的cron测试:

实例:

Vi /etc/cron.minly/new.sh

内容:

Su � Oracle �c “/home/Oracle/mginfo.sh”

Vi /home/Oracle/mginfo.sh

内容:

Exp mginfotech/mginfotech file=mginfotech.dmp log=mginfotech.log

Vi /etc/crontab

内容:

59 23 * * * root run-parts /etc/cron.minly

每晚23:59分钟执行

cron中无法读取环境变量

在shell中显示地export环境变量

export Oracle_HOME=/opt/ora9/product/9.2

export Oracle_SID=Oracle

export NLS_LANG=xxxxx

然后再试

(t116)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值