Oracle Restart Database Upgrade 12c a 19c usando Autoupgrade.

Hoje veremos um passo a passo, como atualizar um Oracle restart Database 12c para 19c.

1. Downloads de software

 JDK 8: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

Oracle 19.3 Database and Grid Infrastructure:   https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c

Atualização de versão do banco de dados 19.11: Patch 32545013

Atualização de versão 19.11 da infraestrutura de grade: Patch 32545008

Autoupgrade https://support.oracle.com/epmos/faces/DocumentDisplay?id=2485457.1

2.  Pré-requisitos do Grid Infrastructure

De acordo com o documento Oracle 2539751.1 , você deve aplicar o patch para corrigir o bug 21255373 no diretório home da Grid 12.1.0.2. Verifique se este patch já está aplica ao seu ambiente:

opatch lsinventory | grep 21255373

Se você não o instalou, o patch 29176115 do GI PSU 12.1.0.2.190416 contém a correção para esse bug.

3. Atualizar o Grid para 19.11

Crie um diretório no Oracle Grid

mkdir -p /u01/app/grid/product/19.3.0/grid

Descompacte o software do Oracle Grid 19c :

cd /u01/app/grid/product/19.3.0/grid 

unzip -q /tmp/binaries/LINUX.X64_193000_db_home.zip

3.1   Verificações de pré-requisitos

De acordo com o  documento Oracle 1457357.1 , o usuário proprietário do Grid precisa executar a ferramenta Orachk.

Certifique-se de baixar a versão mais recente do Orachk de  AHF  e execute os seguintes comandos:

cd /u01/app/grid/product/19.3.0/grid/suptools/orachk

export GRID_HOME= /u01/app/grid/product/19.3.0/grid

export RAT_PROMPT_WAIT_TIMEOUT=15

export RAT_ORACLE_HOME=/u01/app/grid/12.1.0

export RAT_DB=12.1.0.2.0

cd /u01/app/grid/product/19.3.0/grid/suptools/orachk

./orachk -u -o pre -profile clusterware,as

Este processo gera um relatório HTML conforme mostrado na imagem a seguir:

Certifique-se de revisar o relatório para todas as verificações com falha, críticas e de advertência e resolva-as antes de passar para a próxima etapa.

3.3 Instale GI RU 19.11

Você precisa aplicar o patch 32545008 no diretório home do Oracle Grid 19c.

cd /u01/app/grid/product/19.3.0/grid
./gridSetup.sh -silent -applyRU /tmp/binaries/p32545008_19000.zip

No final ele pede para executar  root.sh . Não execute o script ainda porque você precisa executá-lo no final da atualização.

3.4  Valide as configurações do Oracle GRID.

Faça login como o usuário do Oracle Grid no sistema operacional e execute o utilitário de verificação de cluster com os seguintes comandos:

cd /u01/app/grid/product/19.3.0/grid/
./runcluvfy.sh stage -pre hacfg -fixup -verbose
Verifying node application existence ...PASSED
Verifying check incorrectly sized ASM disks ...PASSED
Verifying ASM disk group free space ...PASSED
Verifying network configuration consistency checks ...PASSED
Verifying file system mount options for path GI_HOME ...PASSED
Verifying /boot mount ...PASSED
Verifying OLR Integrity ...PASSED
Verifying Verify that the ASM instance was configured using an existing ASM parameter file. ...PASSED
Verifying User Equivalence ...PASSED
Verifying RPM Package Manager database ...INFORMATION (PRVG-11250)
Verifying Network interface bonding status of private interconnect network interfaces ...PASSED
Verifying /dev/shm mounted as temporary file system ...PASSED
Verifying file system mount options for path /var ...PASSED
Verifying DefaultTasksMax parameter ...PASSED
Verifying zeroconf check ...PASSED
Verifying ASM filter driver configuration ...PASSED
verifying Systemd login manager IPC parameter ...PASSED
Verifying Kernel retpoline support ...PASSED

3.5  Atualizando o Oracle Grid

Antes de iniciar a atualização, execute o seguinte comando para desativar os serviços do grid e garantir que os serviços restantes estejam em execução no servidor. Certifique-se de que o status de upgrade do cluster esteja normal:

unset ORACLE_BASE
unset ORACLE_HOME
unset ORACLE_SID

cd /u01/app/grid/product/19.3.0/grid

./gridsetup.sh -silent -ignorePrerequisites -responseFile /u01/app/grid/product/19.3.0/grid/install/response/duts_upgrade.rsp

Finalmente, ele pede para executar  root.sh . Execute o script para finalizar a atualização.

Nesse ponto, o processo atualizou o Oracle Grid para 19c e todos os serviços de cluster estão em execução. Rode o comando abaixo para validar a versão do HAS do Oracle Restart.

crsctl query has softwareversion 

4. Upgrade Oracle Database 12c para 19.11

4.11  Instale o Oracle 19.3

Crie um diretório para o binário do banco de dados Oracle

mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1

Descompacte o software de banco de dados Oracle 19c:

cd /u01/app/oracle/product/19.3.0/dbhom_1    

unzip -q /tmp/binaries/LINUX_X64_193000_db_home.zip

4.2  Aplicar Oracle Database RU – 19.11

Você precisa aplicar o patch 31281355 no diretório inicial 19c. 

cd /u01/app/oracle/product/19.3.0/dbhome_1 

./runInstaller -silent -applyRU /tmp/binaries/p32545013_19000.zip -responseFile /u01/app/oracle/product/19.3.0/oracle/install/response /duts_upgrade.rsp

Finalmente, ele pede para executar  root.sh . Execute o script para finalizar a atualização.

4.3 Upgrade de 12c para 19c usando Autoupgrade

Crie um diretório no binário do banco de dados Oracle
mkdir -p /u01/app/oracle/autoupgrade

Copie a autoupgrade.jar para a pasta:

cd /u01/app/oracle/autoupgrade 

cp /tmp/binaries/autoupgrade.jar .

Crie um arquivo de exemplo para configuração do autoupgrade:

$ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar autoupgrade.jar -create_sample_file config

mv sample_file.cfg 12c_19c.cfg

vi 12c_19c.cfg


#Global configurations
#Autoupgrade's global directory, non-job logs generated,
#temp files created and other autoupgrade files will be
#send here
global.autoupg_log_dir=/u01/app/oracle/autoupgrade   
#
# Database number 1
#
upg1.dbname=DUTS
upg1.start_time=NOW
upg1.source_home=/u01/app/oracle/product/12.1.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/19.3.0/dbhome_1
upg1.sid=DUTS

Execute o autoupgrade in analyze mode:

cd /u01/app/oracle/autoupgrade

$ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar autoupgrade.jar -12c_19c.cfg -mode analyze

Observe os arquivos de log que foram criados para o banco de dados – como só executamos o autoupgrade com a opção Analyze, o único diretório criado é o diretório de pré-verificação.

Para cada banco de dados que foi analisado, podemos revisar o arquivo HTML que lista os avisos e recomendações de pré-verificação.

Execute autoupgrade in fixups mode:

cd /u01/app/oracle/autoupgrade

$ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar autoupgrade.jar -12c_19c.cfg -mode fixups

Execute autoupgrade in deploy mode:

cd /u01/app/oracle/autoupgrade

$ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar autoupgrade.jar -12c_19c.cfg -mode deploy

Depois de finalizar a migração revise o arquivo HTML que lista os itens que foram atualizado atualização.

Altere o compatible do banco de dados.

alter system set compatible =’19.0.0.0’scope=spfile;

Valide se o restore point foi removido pelo autoupgrade.

Espero que isso te ajude!!!

Fique ligado, seguindo no twitter @aontalba e no Linkedin

Disclaimer: “The postings on this site are my own and don’t necessarily represent my actual employer positions, strategies or opinions. The information here was edited to be useful for general purposes. Specific data and identifications were removed to allow reach generic audience and be useful.”

André Luiz Dutra Ontalba

DBA ATG Oracle há 27 anos, especialista em Banco de Dados Oracle e SQL SERVER, MySQL, Azure, AWS, Oracle Cloud. Bacharel em Ciências da Computação Pós Graduado pela FIAP em Administração de Banco de dados, MBA em Administração de TI pela FGV a MBA em Master Information Technology pela FIAP e BABSON e Mestrado em Gestão Estratégica em Tecnologias de Informação pela UNIATLANTICO e UNIB . Com sólidos conhecimentos em Banco de Dados e Sistemas operacionais, possui certificações Oracle OCP 10g/11/12g/2019 Oracle Cloud Professional, AWS Professional, Azure Expert e mais 85 outra certificações. Strategic Customer Service Manager at Oracle / Oracle ACE Alumni Member

Deixe um comentário

Your email address will not be published. Required fields are marked *