转自http://scs.commvault.com/forum.php?mod=viewthread&tid=73
1. 文档说明
本文档主要描述了工程师在安装配置及使用CommVault时,与ORACLE相关的常见问题及解决思路和办法。
主要包括以下几部分内容:
2. 详细内容
2.1. 在哪里查看错误信息
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中找出更详细的报错信息。常见的问题有:
7. 其它关于ORACLE备份错误,很多都是由于ORACLE本身的问题导致,所以需要请ORACLE DBA一起协作解决,不能只依靠CommVault一方的力量。