
Vários fontesna Internet sugerem que a religação dos binários Oracle é necessária após cada atualização e/ou patch do sistema operacional.
Entendo que a religação seria necessária ao atualizar a glibc. Alguns pacotes provavelmente não precisam ser vinculados novamente, outros exigem, alguns sobre os quais não tenho certeza:
- atualizando glibc -> suponho que seja necessário revincular
- atualizando o vim -> Suponho que não seja necessário religar
- atualizando o gzip -> não tenho certeza
- atualizando o kernel -> não tenho certeza
Alguém tem uma lista ou pode me indicar uma lista de quais bibliotecas o Oracle realmente vincula? Eu não sou um DBA Oracle, então não tenho ideia do procedimento de vinculação do Oracle. Eu nem tenho certeza se realmente entendi o que a Oracle está fazendo durante a religação: não é realmente uma prática comum em software binário fazer sua própria vinculação após a instalação, não é?
De qualquer forma, para resumir uma longa história: tenho algumas caixas RHEL[345] nas quais preciso aplicar alguns patches. A maioria das caixas executa Oracle e estou me perguntando quais patches exigiriam revinculação e quais não. Uma lista o mais exaustiva possível seria legal :)
Responder1
Raramente precisei vincular novamente o banco de dados Oracle, talvez somente após uma grande atualização de sistema operacional ou passando de 32 bits para 64 bits. Porém, se você tiver dúvidas, basta executá-lo. Demora um minuto. Outra fonte para consultar é a nota metalink 131321.1... a essência é:
" A revinculação ocorre automaticamente nestas circunstâncias:
- Um produto Oracle foi instalado com um instalador fornecido pela Oracle.
- Um conjunto de patches Oracle foi aplicado por meio de um instalador fornecido pela Oracle.
As seguintes informações foram adicionadas à seção 'Certificar' do Metalink:
Notas gerais para Oracle Database - Enterprise Edition:
Informações O/S: Os fornecedores garantem a compatibilidade binária do sistema operacional; portanto, nenhuma reinstalação ou nova vinculação do software Oracle é necessária ao atualizar esses sistemas operacionais, salvo indicação específica em contrário.
A vinculação manual do Oracle é sugerida nas seguintes circunstâncias (mesmo que o fornecedor do sistema operacional possa não exigir isso):
- Ocorreu uma atualização do sistema operacional.
- Uma alteração foi feita nas bibliotecas do sistema operacional. Isso pode ocorrer durante a aplicação de um patch do sistema operacional.
- Uma nova instalação falhou durante a fase de nova vinculação.
- Despejo de núcleo de executáveis individuais do Oracle durante a inicialização.
- Um patch Oracle individual foi aplicado (no entanto, instruções explícitas de relink geralmente são incluídas no README ou integradas ao script de instalação do patch)
"
Responder2
Para uma visão completa, além do que foi dito acima, o Oracle Clusterware também pode precisar de um novo link se você estiver alterando o kernel do Linux. Por exemplo, se você usar o sistema de arquivos ACFS, a Oracle possui drivers de kernel ACFS para uma versão específica do kernel Linux. Não tenho certeza se pequenas atualizações do kernel se qualificam para isso.
Na verdade, não é um relink em si que corrige os drivers acfs Clusterware, mas o script crs/install/rootcrs.pl -lock (ou roothas.pl -lock para um clusterware de nó único) que instala novos drivers ACFS. Você terá que chamar rootcrs.pl -unlock antes de vincular novamente os binários do clusterware e, quando a vinculação for concluída - então rootcrs.pl -lock .
Responder3
Do Oracle Metalink Note "Relinking Oracle Home FAQ (Frequently Asked Questions)(Doc ID 1467060.1)" já mencionado em outra resposta, a versão atual do documento:
Quando a religação manual é necessária? A religação manual é necessária nas situações abaixo.
A) Após a atualização do sistema operacional, geralmente os fornecedores de sistema operacional garantem a compatibilidade binária do sistema operacional; portanto, nenhuma reinstalação ou relink do software Oracle é necessária ao atualizar esses sistemas operacionais, a menos que seja especificamente indicado o contrário. "No entanto, a Oracle recomenda realizar a religação manual dos binários do Oracle Home após a atualização do sistema operacional". As alterações de hardware não requerem nova vinculação.
B) Depois que o sistema operacional for corrigido. (Recomendado).
A vinculação é necessária após uma atualização do sistema operacional, downgrade, aplicação de patch ou remoção do patch? Sim, a Oracle recomenda realizar a revinculação manual dos binários do Oracle Home após atualização do sistema operacional, aplicação de patch, downgrade ou remoção do patch ou qualquer alteração que afete o comportamento da biblioteca do sistema operacional. A vinculação bem-sucedida mostra que o Oracle Executable está vinculado corretamente aos binários do sistema operacional.
Se você usa Oracle Linux, então isso é 100% compatível com Redhat Enterprise Linux de acordo comPerguntas frequentes sobre Oracle Linux
- Oracle Linux é um aplicativo binário compatível com Red Hat Enterprise Linux, seja executando o Unbreakable Enterprise Kernel ou o kernel alternativo compatível com Red Hat da Oracle. Os aplicativos existentes são executados inalterados com o Unbreakable Enterprise Kernel porque todas as bibliotecas do sistema permanecem inalteradas.
Red Hat Enterprise Linux 7: GUIA de compatibilidade de aplicativos.
Nota: Durante o ciclo de vida de uma versão principal, a Red Hat faz esforços comercialmente razoáveis para manter a compatibilidade binária para o ambiente de tempo de execução principal em todas as versões secundárias e avisos de errata. Se necessário, a Red Hat poderá abrir exceções a esta meta de compatibilidade devido a impactos críticos na segurança ou outros problemas significativos. Além disso, conforme descrito acima e no Apêndice A, as principais versões do Red Hat Enterprise Linux contêm um conjunto limitado de bibliotecas compatíveis com versões anteriores incluídas nas principais versões anteriores para permitir a fácil migração de aplicações. Normalmente, a Red Hat aplica alterações de forma a minimizar a quantidade de alterações e manter a compatibilidade binária. Exceções podem ser aplicadas para rebases de pacotes controlados sob certas circunstâncias.
Portanto, a Oracle recomenda vincular novamente os binários após uma alteração (um patch, uma atualização,...) e a Redhat apenas faz "esforços comercialmente razoáveis para manter a compatibilidade binária para o ambiente de tempo de execução principal em todas as versões secundárias".
Para compatibilidade binária, não é apenas necessário que o sistema operacional não altere a interface binária do aplicativo (ABI), mas também que o aplicativo use apenas essas interfaces e nenhuma outra rotina, talvez não documentada.
A religação é fácil e a Oracle fornece um script que deve ser executado no ambiente correto. Então, na verdade, você pode adicionar links aos scripts iniciais do seu banco de dados, se tiver um, e fazer esse link sempre que iniciar o banco de dados.
Os pacotes Linux necessários podem ser encontrados noGuia de instalação de banco de dados para Linuxna seção
- Tarefas de pré-instalação do banco de dados Oracle
4.8. Requisitos do sistema operacional para plataformas Linux x86-64
4.8.1. Distribuições suportadas do Oracle Linux 7 e Red Hat Enterprise Linux 7 para x86-64 e para Linux 7 e Oracle 12. você pode encontrar
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
Mas não tenho certeza de quão confiáveis são essas informações do manual. >você também pode executar o comando "ldd" para alguns binários para descobrir quais bibliotecas ele usa.
$ ldd $ORACLE_HOME/bin/oracle
linux-vdso.so.1 => (0x...)
libodm11.so => $ORACLE_HOME/lib/libodm11.so (0x...)
libcell11.so => $ORACLE_HOME/lib/libcell11.so (0x...)
libskgxp11.so => $ORACLE_HOME/lib/libskgxp11.so (0x...)
librt.so.1 => /lib64/librt.so.1 (0x...)
libnnz11.so => $ORACLE_HOME/lib/libnnz11.so (0x...)
libclsra11.so => $ORACLE_HOME/lib/libclsra11.so (0x...)
libdbcfg11.so => $ORACLE_HOME/lib/libdbcfg11.so (0x...)
libhasgen11.so => $ORACLE_HOME/lib/libhasgen11.so (0x...)
libskgxn2.so => $ORACLE_HOME/lib/libskgxn2.so (0x...)
libocr11.so => $ORACLE_HOME/lib/libocr11.so (0x...)
libocrb11.so => $ORACLE_HOME/lib/libocrb11.so (0x...)
libocrutl11.so => $ORACLE_HOME/lib/libocrutl11.so (0x...)
libaio.so.1 => /lib64/libaio.so.1 (0x...)
libdl.so.2 => /lib64/libdl.so.2 (0x...)
libm.so.6 => /lib64/libm.so.6 (0x...)
libpthread.so.0 => /lib64/libpthread.so.0 (0x...)
libnsl.so.1 => /lib64/libnsl.so.1 (0x...)
libc.so.6 => /lib64/libc.so.6 (0x...)
/lib64/ld-linux-x86-64.so.2 (0x...)
$
Mas acho que é mais fácil vincular novamente o software Oracle. Isto não é difícil. De acordo com a nota do Metalink, defina as variáveis
ORACLE_HOME
PATH to include $ORACLE_HOME/bin
LD_LIBRARY_PATH $ORACLE_HOME/lib:/usr/lib
e corra
$ORACLE_HOME/bin/relink all
Responder4
eu sugeririanãopara todos os seus cenários. Eu sempre entendi que relinkar era para quando você atualizava ou corrigia partes do seuOráculoinstalação, não seu sistema operacional de suporte.