AIX下Veritas SAP Agent使用一例

需求:AIX 5.3,Veritas Netbackup 6.5,ECC 6,需要配合使用完成备份。

 

安装Veritas Client和Veritas for SAP Agent,这个步骤比较简单,就是解包然后运行install,按几个回车就搞定了。

 

配置Veritas

#cd /usr/openv/netbackup

#mkdir scripts

#cd scripts

#cp /usr/openv/netbackup/db_ext/sap/scripts/sap_oracle/sap*_backup .

#chmod 755 *

修改各个脚本,把里面的su - orasap -c '$CMD_LINE'中的orasap改为ora<sid>

#cp /usr/openv/netbackup/ext/db_ext/sap/scripts/sap_oracle/initSAP.utl  /

$ORACLE_HOME/dbs/initSAP.utl

#cp /usr/openv/netbackup/ext/db_ext/sap/scripts/sap_oracle/initSAP.sap  /

$ORACLE_HOME/dbs/initSAP.sap

#ln -s /usr/openv/netbackup/bin/libsapora.a64 $ORACLE_HOME/lib/libobk.a

#ln -s /usr/openv/netbackup/bin/backint /usr/sap/<SID>/SYS/exe/run/backint

#su - ora<sid>

>cd 102_64/dbs

>cp init<SID>.sap init<SID>.sap.bak

>cp initSAP.sap init<SID>.sap

>cp initSAP.util init<SID>.utl

修改init<SID>.sap

backup_dev_type = util_file

util_par_file = $ORACLE_HOME/dbs/init<SID>.utl

rman_parms = "ENV=(NB_ORA_SAP=$ORACLE_HOME/dbs/init<SID>.utl)"

 

修改init<SID>.utl,这里只是一个例子,具体视情况而定

policy sap_policy_1

schedule Default-Application-Backup

client <the sap host name>

server <the NetBackup server name>

drivers 2

switch_list /oracle/<SID>sapbackup/.switch.lis

switch_sem /oracle/<SID>/sapbackp/.switch.sem

switch_log /oracle/sap/sapbackup/.switch.log

 

到NetBackup服务器端的图形界面里,指定一个备份策略,分别针对离线(offline),在线(online)和单独的归档日志(archived redo log)备份,调用的脚本分别是

/usr/openv/netbackup/scripts/sap_offline_backup

/usr/openv/netbackup/scripts/sap_online_backup

/usr/openv/netbackup/scripts/sap_redo_log_backup

然后从上面发起备份动作

第一把测试的是归档日志备份,一切顺利

第二把测试的是离线备份,也顺利

第三把测试的是在线备份,失败,报一个错误

cp: A system call received a parameter that is not valid

开始以为是权限问题,换成root来操作cp /oracle/<SID>/sapdata1/sr3_1/sr3.data1 /temp错误依旧。后来查了notes,发现是AIX增强文件系统JSF2的问题。SAP的解释大概是这样的:

从Oracle 10g开始,JFS2的高级I/O能力默认的会被数据库使用,如果JSF2文件系统被数据库检测到有使用,所有的数据文件都会使用CIO(Concurrent IO,并发IO)选项。CIO可以绕开AIX操作的文件缓存,为数据库提供更好的I/O性能。

如果数据文件被Oracle采用CIO的方式来打开,所有通过正常文件缓存来访问这些数据文件的方式都将被AIX操作系统禁止。诸如cp,dd,cpio,tar和dbv之类的工具,不能通过CIO选项来打开文件。所以这些工具如果想访问这些文件时将会报错。

 

SAP建议要么把这些数据文件所在的文件系统添加CIO选项(可以通过smitty来调整,或者这样挂mount -o cio xxx),要么就换支持CIO的backint程序,要么就采用RMAN的方式来进行备份。同时要特别注意的是,千万不要把$ORACLE_HOME和log file所有的文件系统加上cio这个选项。

 

我只给oracle分了一个文件系统,就挂在/oracle下,102_64也在这个文件系统里,如果把这个文件系统添加 cio选项,会根本就连不进数据库的。

 

所以,我选择了使用rman的文件

>brbackup -d rman_util -t online -m all -c force

成功。这边又要求能同时开两个通道来进行备份,以提高备份速度。于是修改init<SID>.sap文件,

增加一行

rman_channels = 2

再试,果然是双通道进行备份。

 

再接下来进行恢复测试,问题来了,总是失败,而且每次总在恢复sr3_10下的sr3.data10这个文件时报错,报的错是File or path does not exist什么的,再追到Veritas的日志,发现其实是因为这个错误

A file cannot be larger than the value set by ulimit

才记起来前面想解决那个在线备份的问题时,曾参考了SAP的安装文档,把root用户的soft size和hard size调整过,于是把这两个值修改回-1,重启后尝试恢复,终于一切正常。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值