Quando vincular novamente o Oracle?

Quando vincular novamente o Oracle?

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:

  1. 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).

  2. 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

  1. 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.

informação relacionada