Pular para o conteúdo principal

Download e Instalação de um novo ORACLE_HOME usando AutoUpgrade



 



O AutoUpgrade é a ferramenta que a Oracle recomenda para upgrade de versão (como o nome já diz). Porém, ela também pode ser utilizada para facilitar sua vida durante o ciclo de patches.

Nesse artigo vou mostrar como conectar ao suporte Oracle, fazer download dos patches e criar um novo oracle home. Com o AutoUpgrade o patch é out-of-place, por isso a necessidade da criação de um novo home.


Download do AutoUpgrade e pre-requisitos

1) Baixar a ferramenta é bem simples use o link: Download the AutoUpgrade utility

Aqui vou usar um linux, então direto do servidor:

mkdir -p /u01/autoupgrade
cd /u01/autoupgrade
wget https://download.oracle.com/otn-pub/otn_software/autoupgrade.jar


2) Para versão v26 que estamos usando, é necessário o jdk21 . Instale a versão java necessária:

[oracle@DT autoupgrade]$ java -jar autoupgrade.jar -version
build.version 26.3.260401

# dnf install -y java-11-openjdk


Se vc já instalou o Java 21, mas o comando java está apontando para o Java 26-ea. O problema não é instalação; é seleção do Java padrão / PATH. Faça isso:

[root@DT ~]# alternatives --config java


There are 2 programs which provide 'java'.


  Selection    Command

-----------------------------------------------

*  1           /usr/lib/jvm/java-latest-openjdk/bin/java

 + 2           java-21-openjdk.x86_64 (/usr/lib/jvm/java-21-openjdk-21.0.11.0.10-1.0.1.el8.x86_64/bin/java)


Enter to keep the current selection[+], or type selection number: 2

[root@DT ~]# java -version

openjdk version "21.0.11" 2026-04-21 LTS

OpenJDK Runtime Environment (Red_Hat-21.0.11.0.10-1.0.1) (build 21.0.11+10-LTS)

OpenJDK 64-Bit Server VM (Red_Hat-21.0.11.0.10-1.0.1) (build 21.0.11+10-LTS, mixed mode, sharing)


Configurando a keystore


1) Criação do diretório que vai armazenar as chaves de acesso ao suporte Oracle

mkdir keystore

vi keystore.cfg
global.global_log_dir=/u01/autoupgrade/logs
global.keystore=/u01/autoupgrade/keystore

2) Agora vamos criar keystore usando a ferramenta AutoUpgrade...
Digite uma senha para sua keystore e em seguida adicione usuário e senha do suporte Oracle.

[oracle@DT autoupgrade]$ java -jar autoupgrade.jar -config patching_oracle26.cfg -patch -mode download

AutoUpgrade Patching 26.3.260401 launched with default internal options

Processing config file ...


There were conditions found preventing AutoUpgrade Patching from successfully running


*Downloading files

Download query failed

*Operation requires MOS credentials to be loaded into keystore. Use -load_password option*


[oracle@DT autoupgrade]$ java -jar ./autoupgrade.jar -config ./keystore.cfg -patch -load_password

Processing config file ...


Starting AutoUpgrade Patching Password Loader - Type help for available options

Creating new AutoUpgrade Patching keystore - Password required

Enter password:   

Enter password again:   

AutoUpgrade Patching keystore was successfully created


MOS> add -user thiago.castro@cgi.com

Enter your secret/Password:   

Re-enter your secret/Password:   


3) Saia e salve.

MOS> exit

Save the AutoUpgrade Patching keystore before exiting [YES|NO] ? yes

Convert the AutoUpgrade Patching keystore to auto-login [YES|NO] ? yes


AutoUpgrade Patching Password Loader finished - Exiting AutoUpgrade Patching


4) A wallet está pronta para uso

[oracle@DT autoupgrade]$ ls -ltr keystore

total 20

-rwxrwxr-x. 1 oracle oinstall    0 Apr 23 23:49 ewallet.p12.lck

-rwxrwxr-x. 1 oracle oinstall 4606 Apr 23 23:49 ewallet.p12

-rwxrwxr-x. 1 oracle oinstall    0 Apr 23 23:49 cwallet.sso.lck

-rwxrwxr-x. 1 oracle oinstall 4718 Apr 23 23:49 cwallet.sso

-rwxrwxr-x. 1 oracle oinstall  512 Apr 23 23:56 apikey



Download do softwares

1) Criação do diretório para armazenar os softwares

mkdir -p /u01/autoupgrade/software


Agora vamos criar o arquivo de configuração do AutoUpgrade. Recomendo dar uma olhada na ferramenta AutoUpgrade Composer . Ela vai te ajudar bastante na criação do arquivo e até mesmo a entender o parâmetros.

2) Crie o arquivo de configuração: patching_oracle26.cfg

# Created by AutoUpgrade Composer

# Patch, ExecMode: CreateHome


global.global_log_dir=/u01/autoupgrade/logs


patch1.log_dir=/home/oracle/autoupgrade/log/DB1

patch1.folder=/u01/autoupgrade/software

patch1.patch=RECOMMENDED

patch1.target_version=26

patch1.source_home=/u01/app/oracle/product/26ai/db_1

patch1.target_home=/u01/app/oracle/product/23.26.1/dbhome_1

patch1.home_settings.oracle_base=/u01/app/oracle/

3) E em seguida faremos o download de todos os software recomendados para a versao 26:

[oracle@DT autoupgrade]$ java -jar autoupgrade.jar -config patching_oracle26.cfg -patch -mode download

AutoUpgrade Patching 26.3.260401 launched with default internal options

Processing config file ...

Loading AutoUpgrade Patching keystore

AutoUpgrade Patching keystore is loaded


Connected to MOS - Searching for specified patches


----------------------------------------------

Downloading files to /u01/autoupgrade/software

----------------------------------------------

DATABASE RELEASE UPDATE 23.26.2.0.0

    File: p39099680_230000_Linux-x86-64.zip - VALIDATED


OPatch 12.2.0.1.51 for DB 23.0.0.0.0 (Apr 2026)

    File: p6880880_230000_Linux-x86-64.zip - VALIDATED


DATAPUMP BUNDLE PATCH 23.26.2.0.0

    File: p39227161_2326200DBRU_Generic.zip - VALIDATED


autoupgrade.jar 26.3 (April 2026)

    File: autoupgrade.jar - LOCATED

----------------------------------------------


4) Verificando o sofware baixado:

[oracle@DT autoupgrade]$ ls -ltr software/

total 5470052

-rwxrwxr-x. 1 oracle oinstall    7016621 Apr 24 00:04 autoupgrade.jar

-rwxrwxr-x. 1 oracle oinstall 3109225519 Apr 26 15:03 LINUX.X64_213000_db_home.zip

-rw-r--r--. 1 oracle oinstall 2457466941 May  6 01:35 p39099680_230000_Linux-x86-64.zip

-rw-r--r--. 1 oracle oinstall   25351666 May  6 01:35 p6880880_230000_Linux-x86-64.zip

-rw-r--r--. 1 oracle oinstall    2254761 May  6 01:35 p39227161_2326200DBRU_Generic.zip

-rw-r--r--. 1 oracle oinstall       1420 May  6 01:35 patches_info.json



Criando novo ORACLE_HOME

1) Vamos chamar o AutoUpgrade com o mode create_home. E em seguida, dentro da ferramenta, voce pode usar o comando:
lsj -a 10 - listar o status a cada 10s.

[oracle@DT autoupgrade]$ java -jar autoupgrade.jar -config patching_oracle26.cfg -patch -mode create_home

AutoUpgrade Patching 26.3.260401 launched with default internal options

Processing config file ...

+-----------------------------------------+

| Starting AutoUpgrade Patching execution |

+-----------------------------------------+

Type 'help' to list console commands

patch> lsj -a 10

patch> +----+-------------+-------+---------+-------+----------+-------+---------------------+

|Job#|      DB_NAME|  STAGE|OPERATION| STATUS|START_TIME|UPDATED|              MESSAGE|

+----+-------------+-------+---------+-------+----------+-------+---------------------+

| 100|create_home_1|EXTRACT|EXECUTING|RUNNING|  01:40:23| 9s ago|Extracting gold image|

+----+-------------+-------+---------+-------+----------+-------+---------------------+

Total jobs 1


The command lsj is running every 10 seconds. PRESS ENTER TO EXIT

+----+-------------+-------+---------+-------+----------+--------+----------------------+

|Job#|      DB_NAME|  STAGE|OPERATION| STATUS|START_TIME| UPDATED|               MESSAGE|

+----+-------------+-------+---------+-------+----------+--------+----------------------+

| 100|create_home_1|INSTALL|EXECUTING|RUNNING|  01:40:23|107s ago|Installing ORACLE_HOME|

+----+-------------+-------+---------+-------+----------+--------+----------------------+

Total jobs 1


The command lsj is running every 10 seconds. PRESS ENTER TO EXIT

+----+-------------+-----------+---------+-------+----------+-------+---------------------------------+

|Job#|      DB_NAME|      STAGE|OPERATION| STATUS|START_TIME|UPDATED|                          MESSAGE|

+----+-------------+-----------+---------+-------+----------+-------+---------------------------------+

| 100|create_home_1|OH_PATCHING|EXECUTING|RUNNING|  01:40:23| 5s ago|DATAPUMP BUNDLE PATCH 23.26.2.0.0|

+----+-------------+-----------+---------+-------+----------+-------+---------------------------------+

Total jobs 1


The command lsj is running every 10 seconds. PRESS ENTER TO EXIT

Job 100 completed

------------------- Final Summary --------------------

Number of databases            [ 1 ]


Jobs finished                  [1]

Jobs failed                    [0]

Jobs restored                  [0]

Jobs pending                   [0]


# Run the root.sh script as root for the following jobs:

For create_home_1 -> /u01/app/oracle/product/23.26.1/dbhome_1/root.sh


Please check the summary report at:

/u01/autoupgrade/logs/cfgtoollogs/patch/auto/status/status.html

/u01/autoupgrade/logs/cfgtoollogs/patch/auto/status/status.log

Como root, execute:

[root@DT ~]# /u01/app/oracle/product/23.26.1/dbhome_1/root.sh

Check /u01/app/oracle/product/23.26.1/dbhome_1/install/root_DT.localdomain_2026-05-06_01-45-43-413535253.log for the output of root script

Verificando a criação do novo HOME:

[oracle@DT product]$ pwd

/u01/app/oracle/product

[oracle@DT product]$ du -sh *

7.2G 21.0.0

5.9G 23.26.1

5.9G 26ai



Comentários

Postagens mais visitadas deste blog

Configurando a política de retenção de backups no RMAN

                       Configurando a politica de reten çã o de backups no RMAN        O objetivo deste post é explicar como podemos configurar a reten çã o de backups na poderosa ferramenta de backup do bando de dados Oracle RMAN. Podemos configurar nossa pol í tica tendo por base dois tipos: janela de recupera çã o (recovery window) ou redundãncia (redundancy). Abaixo iremos abordar os dois tipos.       Para identificar qual dos dois tipos o RMAN está usando, use: RMAN> show retention policy; Política baseada em redundância CONFIGURE RETENTION POLICY TO REDUNDANCY 1; Política baseada em janela de recuperação CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS; ·        Política baseada em redund â ncia ( REDUNDANCY )       De uma maneira bem simples e objetiva, o par â met...

ORA-01623 ORA-00312 - Removendo redo logs

Após realizar um restore de um ambiente de Oracle RAC para um single instance usando snapshot de storage, tentei recriar os redo logs recebi o seguinte erro durante a exclusão de um grupo de discos. SQL> alter database drop logfile group 2; ORA-01623: o log 2 é o log atual para a instância UOW (thread 1) - não é possível eliminar ORA-00312: thread 2 do log 1 on-line: '+DATA/UOW/ONLINELOG/group_2.1638.1051804433' ORA-00312: thread 2 do log 1 on-line: '+DATA/UOW/ONLINELOG/group_2.981.1051804433' O erro quer dizer que o grupo de redo pertence a outra thread. Quer dizer que ele pertence a outra instância do ambiente RAC. Como no meu caso não precisarei mais dela, basta usar o comando: SAL> alter database disable thread 2; Database altered.   Usei o SQL abaixo para gerar os comandos para excluir os redo logs SQL> select distinct 'alter database drop logfile group '||(group#)||';' from v$log where thread#=2; 'ALTERDATABASEDROPLOGFILEGROUP'||(G...

Oracleasm Deletedisk - Unable to open device or resource busy failed Unable to clear disk

Após a migração de storages utilizando Oracle ASM em um ambiente, precisei remover os discos que não estavam mais sendo utilizados. Porém quando fui utilizar o deletedisk no oracleasm recebi o seguinte erro: # oracleasm deletedisk -v HITACHI33 Clearing disk header: oracleasm-write-label: Unable to open device "/dev/oracleasm/disks/HITACHI33": Device or resource busy failed Unable to clear disk "HITACHI33" Fiz a verificação para ver ser o disco ainda estava em uso, mas não obtive nenhum retorno: # fuser /dev/oracleasm/disks/HITACHI33 # lsof /dev/oracleasm/disks/HITACHI33 Então lendo alguns posts e artigos vi que o problema poderia estar relacionado ao multipath do sistema operacional. Então utilizei o -f para realizar um flush, mas recebi a mensagem abaixo: # multipath -f /dev/oracleasm/disks/HITACHI33 Jun 22 08:43:21 | must provide a map name to remove Utilizei o comando do ASM para verificar o mapeamento do disco....