案例: 解决ORACLE ORA-27211的错误

案例: 解决ORACLE ORA-27211的错误。

在一个AIX 6.1, Oracle 10.2.0.4的环境,连接带库。需要备份到带库上。 TSM for Oracle Driver是IBM工程师安装的,DBA负责调试TSM,RMAN 备份。开始执行RMAN时,系统报错:

RMAN-00571: =========================================================== 
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ==========
RMAN-00571: =========================================================== 
RMAN-03009: failure of allocate command on t1 channel at 12/02/2009 13:45:33 
ORA-19554: error allocating device, device type: SBT_TAPE, device name: 
ORA-27211: Failed to load Media Management Library 

查看: /usr/tivoli/tsm/client/oracle/bin64/tdpoerror.log 文件,有如下信息:
11/25/09   16:18:59 TID<2211946> ==> ANU2512E Could not open license file: /usr/tivoli/tsm/client/oracle/bin64/agent.lic
11/25/09   16:18:59 ANS1025E Session rejected: Authentication failure
11/25/09   16:18:59 ANS1025E Session rejected: Authentication failure
11/25/09   16:18:59 TID<2211946> ==> ANS1025E (RC137)  Session rejected: Authentication failure

认证失败,估计是无法通过TSM的认证。查看/usr/tivoli/tsm/client/oracle/bin64/ 目录下的文件:
-rw-rw-rw-    1 root     system          742 Nov 25 16:19 dsm.opt
-rw-r--r--    1 root     system            0 Nov 25 16:34 dsmerror.log
drwxr-xr-x    2 root     system          256 Nov 25 15:11 en_US
-rwxr-xr-x    1 bin      bin          914416 Jun  3 2009  libobk64.a
-rw-rw-rw-    1 bin      bin             690 Dec  3 12:30 tdpo.opt
-rwxr-xr-x    1 bin      bin             691 Jun  3 2009  tdpo.opt.smp64
-rwxr-xr-x    1 bin      bin          802518 Jun  3 2009  tdpoconf
-rw-r--r--    1 root     system          525 Nov 25 16:18 tdpoerror.log
缺失agent.lic, tdposync 两个文件。通过IBM 安装上缺失的文件。安装完毕,再次执行RMAN 来验证:
RMAN-00571: =========================================================== 
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ==========
RMAN-00571: =========================================================== 
RMAN-03009: failure of allocate command on t1 channel at 12/02/2009 13:45:33 
ORA-19554: error allocating device, device type: SBT_TAPE, device name: 
ORA-27211: Failed to load Media Management Library 
错误依然,但是具体的错误信息已经变化了:
12/07/09 12:00:24 ANS1834S Unable to write to '/etc/security/adsm' for storing password 12/07/09 12:00:24 ANS1834S Unable to write to '/etc/security/adsm' for storing password 12/07/09 12:00:24 ANS0282E Password file is not available. 12/07/09 12:00:24 TID<671750> ==> ANS0282E (RC168) Password file is not available. 12/07/09 12:01:08 ANS1834S Unable to write to '/etc/security/adsm' for storing password 12/07/09 12:01:08 ANS1834S Unable to write to '/etc/security/adsm' for storing password 12/07/09 12:01:08 ANS0282E Password file is not available. 12/07/09 12:01:08 TID<1278070> ==> ANS0282E (RC168) Password file is not available. 12/07/09 12:10:43 ANS1834S Unable to write to '/etc/security/adsm' for storing password 12/07/09 12:10:44 ANS1834S Unable to write to '/etc/security/adsm' for storing password 12/07/09 12:10:44 ANS0282E Password file is not available. 12/07/09 12:10:44 TID<1069070> ==> ANS0282E (RC168) Password file is not available. 12/07/09 12:17:35 ANS1025E Session rejected: Authentication failure 12/07/09 12:21:02 TID<848014> ==> ANU2512E Could not open license file: /usr/tivoli/tsm/client/oracle/bin64/agent.lic
这次是缺失了agent.loc 文件,还是要IBM去安装缺失的文件。要好好检查IBM同志的工作!!
===> ls -l /usr/tivoli/tsm/client/oracle/bin64/
total 3400
-rw-rw-rw-    1 oracle   system           47 Dec  7 14:38 agent.lic
lrwxrwxrwx    1 root     system           37 Dec  7 12:00 dsm.opt -> /usr/tivoli/tsm/client/ba/bin/dsm.opt
lrwxrwxrwx    1 root     system           37 Dec  7 11:57 dsm.sys -> /usr/tivoli/tsm/client/ba/bin/dsm.sys
-rwxrwxrwx    1 root     system            0 Nov 25 16:34 dsmerror.log
drwxr-xr-x    2 root     system          256 Nov 25 15:11 en_US
-rwxr-xr-x    1 bin      bin          914416 Jun  3 2009  libobk64.a
-rwxrwxrwx    1 bin      bin             690 Dec  3 12:30 tdpo.opt
-rwxr-xr-x    1 bin      bin             691 Jun  3 2009  tdpo.opt.smp64
-rwxr-xr-x    1 bin      bin          802518 Jun  3 2009  tdpoconf
-rwxrwxrwx    1 root     system         2254 Dec  7 17:58 tdpoerror.log
和其他相同的服务器上比对,不再缺少文件的情况下,去验证RMAN 和TSM,ORA-27211的错误再次出现。文件已经齐全,但是错误依旧,是怎么回事呢?查看了ORA-27211的错误帮助,感觉是RMAN 无法加载到SBT_LIBRARY的驱动。可能是环境变量设置的不对导致的这个问题。 ORA-27211的错误帮助
===> oerr ora 27211
27211, 00000, "Failed to load Media Management Library"
// *Cause:  User-supplied SBT_LIBRARY or libobk.so could not be loaded. Call
//          to dlopen for media library returned error. See Additional
//          information for error code.
// *Action: Retry the command with proper media library. Or re-install
//          Media management module for Oracle.

经过一番摸索,找到了解决问题的办法,问题解决:

1) 建立软连接: cd $ORACLE_HOME/lib/ ln -s /usr/tivoli/tsm/client/oracle/bin64/libobk64.a libobk.a
2)检查LIBPATH 和LD_LIBRARY_PATH 环境变量,$ORACLE_HOME/lib 排在/usr/lib 前;
3) 确定 没有设置环境变量SBT_LIBRARY ;
4) 如果还是无效,可能需要重启INSTANCE以释放加载到内存中的环境变量 LIBPATH

 -THE END-

请使用浏览器的分享功能分享到微信等