CommVault备份Oracle相关问题总结

转自http://scs.commvault.com/forum.php?mod=viewthread&tid=73

1. 文档说明

本文档主要描述了工程师在安装配置及使用CommVault时,与ORACLE相关的常见问题及解决思路和办法。

主要包括以下几部分内容:

  • 在哪里查看错误信息
  • 与ORACLE相关常见问题 

 

2. 详细内容

2.1. 在哪里查看错误信息

  • 在CommCell Console上,在作业控制器里面找到失败的任务,通过属性找出相关的失败信息和建议 ,同时通过失败任务的属性里也可以查看RMAN日志,观察RMAN有什么报错信息;
  • 查看失败任务的百分比来大致判断问题所在;
    • 0%时失败表示问题发生备份之前 (会不会可能是CommServe和客户端的连接问题?)
    • 5%时失败表示客户端已和CommServe连接上,RMAN的脚本已生成但是可能RMAN在备份数据库时已经产生错误
    • 85%时失败表示数据库备份已经完成,问题可能出在备份归档日志阶段

 

  • 检查各种不同阶段备份问题的日志
  • 如果备份在0%的时候失败,请检查通讯方面的问题; 同时也要检查数据库方面的问题,如:
    • 数据库是否运行? ----在Comm Cell控制台上面查看数据库实例的属性,确认数据库状态是MOUNTED、OPEN或者UNKNOWN的状态;
    • 检查相关Galaxy日志 ----检查CommServe上的SrvOraAgent.log;检查客户端上面的cvd.log和CIOraAgent.log 
  • 如果备份在5%的时候失败
    • 检查RMAN脚本是否正确生成,并检查RMAN错误信息;
    • 可以在CommCell的GUI上查看RMAN的错误日志;或者在客户端上检查RMAN日志。日志放在Simpana安装目录的iDataAgent目录的jobResults下,典型的目录为:/opt/simpana/iDataAgent/jobResults/CV_JobResults/2/0/*/backup.out下,其中*是失败任务的Job ID, backup.out为一个包含了RMAN脚本和登陆信息的文本文件
    • 其它日志:CommServe上的SrvOraAgent.log和cvd.log 客户端上面的CIOraAgent.log和ORASBT.log, 其中ORASBT.log里包含了介于Oracle和Galaxy之间的SBT层的特别信息;
  • 如果备份在85%的时候失败,在这种情况下,同样需要检查上面提到的所有日志,即:
    • 检查RMAN脚本是否正确生成,并检查RMAN错误信息:可以在CommCell的GUI上查看RMAN的错误日志;或者在客户端上检查RMAN日志
    • 其它日志:CommServe上的SrvOraAgent.log和cvd.log 客户端上面的CIOraAgent.log和ORASBT.log;
    • 除了以上日志以外,还需要检查存储策略里面,关于日志备份(Log backups)的存储策略是否和数据库备份的存储策略是否相同?会不会存储策略有什么问题?

 

2.2. 与ORACLE相关的常见问题

 

1. 在Windows系统上常见错误

在Comm Cell上创建新的ORACLE_SID时,对数据库进行初始化配置时,用户帐户这一栏需要对Oracle目标数据库(Target DB)具有Full Access的权限,否则数据库实例配置可能会失败,需要输入的帐户格式为:DOMAINNAME\Username 或者 主机名\Username. 关于用户帐号配置错误的典型错误信息为:Warning: Unable to establish connectivity with these instance properties for [SID], do you want to modify properties again?

 

2. 典型的安装配置错误

a) 在配置ORACLE的时候,输入的“Target connect string”的Oracle用户不具备sysdba的权限。在RMAN备份中,要求所使用的备份帐号具有sysdba的权限。

 

b) 在安装完成后,可以检查%PATH%的环境变量中是否已经加入了CommVault的安装目录,当CommVault在备份时调用CommVault的动态链接库文件ORASBT.dll会读取PATH环境变量;

 

 

3. 在UNIX系统上,安装Simpana for Oracle的iDA时,不需要利用Oracle的软链接将RMAN的链接库文件指向CommVault,CommVault软件在备份的过程中,会自动在RMAN脚本中调用CommVault自己的动态链接库文件。

具体的语法格式如下:

SBT_LIBRARY=/path/to/library/libraryfile (Required by UNIX Clients)

备注:• 参数 SBT_LIBRARY 仅适用于Unix平台.•

 

在当前版本中 以下ENV环境变量参数仅仅在集群环境中或者在同一台主机上采用多实例时,需要加入

 

These parameters are "CvClientName" & "CvInstanceName" and are parsed using the ENV parameter in the allocatecommand.

 

以下是一个示例:ENV=(CvClientName=ClientName, CvInstanceName=Instance001)

CvClientName 必须和在CommCell软件界面上定义的客户端名称相同(CommCell软件界面上有关于客户端计算机的属性有两个,一个是Client Computer,一个是Host Name,需要使用Client Computer Name)
CvInstanceName 是CommVault软件的实例名称. (一般为Instance001).

 

**NOTE: Software Instance != Oracle Instance.

可能在安装完成后,由于权限等原因无法正确识别到CommVault的动态链接库文件,可以通过以下的脚本简单测试出来:

run {allocate channel ch1 type 'sbt_tape'
PARMS="BLKSIZE=262144,
SBT_LIBRARY=/opt/galaxy/Base/libobk.so,
ENV=(CvClientName=groucho,CvInstanceName=Instance001)"
TRACE 2 DEBUG 2;
}

请确认SBT_LIBRARY 设置的libobk.xx的库文件位置完全正确,一般根据Oracle的不同版本和不同的操作系统平台,放在 Base 或者Base64 目录下. SBT_LIBRARY的设置路径如下所示:

Platform

SBT_LIBRARY

AIX with 64 bit Oracle

<Client Agent Install Path>/Base64/libobk.a(shr.o)

HP UX PA RISC 64 bit Oracle

<Client Agent Install Path>/Base64/libobk.sl

Solaris with 64 bit Oracle

<Client Agent Install Path>/Base64/libobk.so

All Other Unix platforms

<Client Agent Install Path>/Base/libobk.so


 

在运行完上述的命令行,有类似于以下的信息出来:

RMAN> run {allocate channel ch1 type ‘sbt_tape’;}

allocated channel: ch1 channel ch1: sid=22 devtype=SBT_TAPE

channel ch1: CommVault System for Oracle: Version 9.0...

release: ch1 RMAN>

如果出现CommVault字样,表示Oracle读取CommVault的动态链接库文件成功,当执行以上命令失败后,会出现一些错误信息,如果出现ORA-07111错误,表示权限有问题,如在安装Simpana的时候使用了不正确的用户组,我们可以从目录数据库的/tmp下面的cvlibobk.log来检查, 检查Galaxy iDA for Oracle安装时ORACLE的用户名和组权限等是否正确。

 

4. 在Windows平台上,默认情况下,Galaxy安装目录\Base目录是加入到系统的路径中的,CommVault可以自动发现运行在Windows平台上的Oracle的库文件接口的原因,是叫ORASBT.dll的库文件会在ORACLE启动时自动装载。另外,如果系统上需要安装CommVault Service Pack的补丁中含有与ORASBT.dll相关的补丁,ORACLE必须要被Shutdown后重启,以确认新的ORASBT.dll被正确load.

 

5. 如果Archive Log不利用RMAN脚本来自动删除,而是手动将其删除,当下次再利用RMAN脚本备份Archive Log时,会由于找不到相应的归档日志或者Log Sequence而失败,需要利用crosscheck功能来同步Recovery Catalog DB或者Control File. 具体的命令格式在不同的Oracle版本不同,具体请参考Oracle Metalink网站; 或者参考本论坛上的crosscheck archivelog相关的文章。

 

6. 如果利用RMAN备份失败,报错信息中有关于”Media Management Layer”相关的错误信息,可以从客户端(Target DB)上的ORASBT.log中找出更详细的报错信息。常见的问题有:

  • 磁带没有被正确Load
  • 与Media Agent之间的网络连接问题

7. 其它关于ORACLE备份错误,很多都是由于ORACLE本身的问题导致,所以需要请ORACLE DBA一起协作解决,不能只依靠CommVault一方的力量。

你可能感兴趣的:(commvault)