实战分享:数据库备份中容易出现的问题前沿技术
数据库往往承担着企业的核心关键应用,其数据也非常重要,在应用中,数据库备份是非常实用且重要的技能之一。本文总结了笔者在进行数据库备份时常见发生的问题,一方面提醒自己,另外一方面也希望对网友有帮助。
1.informix备份
nbu自己的脚本,定义了三个环境变量。他们是INFORMIXSERVER,INFORMIXDIR,ONCONFIG。
定义他们的原因是希望用root用户来执行onbar备份。
所以,如果在/tmp/bar_act.log里提示了诸如未知数据库,无法连接数据库之类的错误的时候,通常都是这三个环境变量已经不足以定义informix环境了。
有关的变量还有一些。
例如INFORMIXSQLHOSTS,PATH等等。
总之,用root用户去执行onbar -b -w -L 0,看看是不是能够正确的在veritas中发起备份,是检验脚本环境相当有效的方法。
ontape -s在修改了onconfig后,就不能用了。不过,只要把onconfig中TAPEDEV与LTAPEDEV的值改会/dev/null。ontape -s 就可以正常工作。但是,千万记得,不要重起online,否则,nbu备份就失效了。
2.SQLSERVER备份
SQLSERVER的脚本相当简单,但是还是应该用nbu自己带的agent去生成脚本,这样得出的脚本在语法上肯定正确,可以让实施环境变的简单
3.DB2备份
脚本中,关于db2_sessions变量的示例看来有些问题。把双引号去掉会解决一些读脚本错误问题。
启动DB2命令行管理
backup database 数据库名 online load c:\progra~1\veritas\netbackup\bin\nbdb2.dll
把所有脚本中计算的变量代进来,可以有效的检验脚本变量的正确性。
4.ORACLE备份
oracle全备份脚本很完整,通常如果变量值给的正确,备份脚本就肯定可以工作正常。
但是,如果以此脚本进行修改,进行日志备份的话。
sql 'alter system archive log current';
这行一定要留下来。否则,日志没有被归档出来,你除了能看到一个备份进程成功完成外,没有任何东西被备份走。
5.notes备份
只要notes.ini指定的位置正确,就没有问题了。
6.sybase备份
备份没什么可说的。只要正确的链接,把要备份的内容向sybackup::里丢就可以了。但是,恢复的时候,一定要写明server名。否则恢复的时候,会报各种各样与之无关的错误。