tdpoInit(): Error – Could not initialize InitOrcBlock() / RMAN-03009: failure of allocate command on ORA_SBT_TAPE_1 channel
Durante uma das madrugadas ( Vida de DBA hehe) estive atuando em uma crise referente a um backup de banco de dados Oracle schedulado via TSM (Tivoli Storage Manager) que não estava sendo executado em um ambiente Windows (o que concerne com a nota da IBM “This problem only has only been seen on Data Protection for Oracle 64-bit on Windows”). Verifiquei que o mesmo apresentava erro devido a não alocação do canal para o prosseguimento do backup, reportando o erro “ORA-03113 end-of-file on communication channel”. Após uma análise na rede (não encontrando qualquer anormalidade) e posteriormente nas logs anteriores ao backup que estava tentando executar, verifiquei que um deles havia terminado com o argumento ” [10019] krmxcr”, e posteriormente apresentando falha de alocação de canal com o erro “RMAN-03009: failure of allocate command on ORA_SBT_TAPE_1 channel”. Além da evidência do erro “tdpoInit(): Error – Could not initialize InitOrcBlock()” no log tdpoerror.log (provavelmente o cara do backup irá te explicar que está ocorrendo isso). Isto ocorre devido a uma falha em uma das Dll do WIndows, especificamente a orasbt.dll .
Verificando o Technote (troubleshooting) da IBM para TSM, nota-se que há duas soluções:
- Stop/Start da base de dados Oracle com ou sem um reboot do servidor.
- Adição do parâmetro ORASBT_UNLOAD=1 no script do RMAN.
A priori, se não há uma disponibilidade para o reboot do ambiente, a segunda opção é a mais viável. No entanto, caso há uma janela para a primeira opção, também seria interessante. Questão acima foi resolvida com a primeira opção, visto que tínhamos uma janela durante a madruga que ocorreu a situação.
Para quem não conhece o TSM, segue um resumo.
Espero ter ajudado