Upgrade do Oracle no ambiente SAP

Passo a passo de como atualizar o Oracle com SAP.

Upgrade do Oracle no ambiente SAP

Upgrade Oracle 11 em ambiente SAP
Antes de tudo, devemos ter em mãos o manual da SAP para upgrade, Database Upgrade Guide, Upgrade to Oracle Database 11g Release 2 (11.2): UNIX For Oracle Patch Set Release 11.2.0.2 and 11.2.0.3.

Este roteiro mostrar como migrar a partir da versão 10.2, caso esteja migrando da versão 9.2, existem algumas diferenças. Veja no Guia da SAP estas diferenças.
Nunca deixe de ler a documentação original. Este roteiro é para facilitar a migração para quem nunca fez a migração do Oracle no ambiente SAP, não substitui a documentação original.

Faça em ambiente de teste e só quando estiver seguro vá para os ambientes de DEV/QA e produção.

SEJA PROFISSIONAL, NÃO COPIE ANTIGAS INSTALAÇÕES.
INSTALE USANDO O INSTALADOR DA SAP FORNECIDO PELA ORACLE.

Com este manual em mãos vamos montar o passo a passo de upgrade.

Logo no inicio do Manual somos recomendados a leitura de algumas notas, não deixe de ler.
Antes de iniciar você deve verificar:

1) Versão do seu banco.
2) Requisitos para instalação.
3) Requisitos de SO.
4) Requisitos do banco.
5) Requisitos do SAP.

Parte 1 – Preparação para instalação do Oracle

Para verificar a versão do banco faça:

sqlplus / as sysdba
SQL> select version from v$instance;

Para verificar os requisites de hardware e SO verifique o manual de instalação do Oracle 11g.

Você pode encontrar no link abaixo.

http://www.oracle.com/pls/db112/portal.portal_db?selected=11

Faça o download do Oracle 11g e do Instant Client no link abaixo.

http://service.sap.com/oracle-download

Faça o download da ultima versão do DBATOOLS (BR*Tools) para ser atualizado logo após do upgrade.

http://service.sap.com/swdc

Faça o download do ultimo kernel no SAP Service Marketplace.

Siga as instruções quanto à versão do support packages de acordo com manual.
Isso corrige erros da se14 na etapa de consistente check.

Devemos checar as autorizações do SO no Unix.

Para verificar execute a troca de usuário, você deve estar com o usuário que fará o upgrade.

su – ora<dbsid>

Verifique o local de instalação do banco:
echo $ORACLE_BASE

Crie uma pasta para ver se tem autorização para gravar
touch $ORACLE_BASE/write_test

Agora apague a pasta que foi criada
rm $ORACLE_BASE/write_test

Caso não consiga criar a pasta de os seguintes comandos como root

chgrp dba $ORACLE_BASE
chmod 775 $ORACLE_BASE

Verifique se existem as pastas:

11.2.0.2: /oracle/stage/11202

11.2.0.3: /oracle/stage/11203

Caso não existam crie as pastas.

Descompacte os CD na pasta/oracle/stage/11202 ou /oracle/stage/11203, com o usuário ora<sid>.

SAPCAR –xvf OR111264.SAR
SAPCAR –xvf OR211264.SAR

Verifique Oracle inventory directory, instruções veja no link abaixo:

http://docs.oracle.com/cd/E11882_01/em.112/e12255/oui2_manage_oracle_homes.htm.

Antes ide iniciar a instalação do Oracle verifique se o arquivo oraInst.loc está presente em /etc ou /var/opt/oracle.

Ele deve conter a seguinte conteúdo:

inventory_loc=<Pasta do oracle inventory>

inst_group=dba

Fazendo verificação do ambiente antes de instalar.
Conectado com o usuário ora<dbsid>.
Va até a pasta database, como segue:

cd /oracle/stage/11202/database
ou
cd /oracle/stage/11203/database
Com o usuário root execute:

./rootpre.sh

Com o usuário ora<dbsid>

Va até a pasta database, como segue:

cd /oracle/stage/11202/database
ou
cd /oracle/stage/11203/database

Execute:

./runInstaller –executeSysPrereqs

Este comando verificará: requisitos para interface (OUI)

Vá até a pasta SAP com o seguinte comando:

cd SAP

Agora execute:

./RUNINSTALLER –check

Será verificado: release, patches, kernel parameters

Só prossiga após ter feito todos os ajustes. Você não deve deixar de fazer todos os ajustes.

Parte 2 – Instalação dos Binários do Oracle

Agora vamos ajustar as variáveis de ambiente.
Faça os ajustes apenas para sessão até que o banco tenha sido migrado.

xhost +
DISPLAY=<hostname>:0.0
ORACLE_BASE=/oracle/<DBSID>
ORACLE_SID=<DBSID>
ORACLE_HOME=/ORACLE/<DBSID>/112_64
NLS_LANG=AMERICAN_AMERICA.UTF8
SAPDATA_HOME=/ORACLE/<DBSID>
LIBPATH=$ORACLE_HOME/lib:$LIBPATH
LD_LIB_PATH=$ORACLE_HOME/lib:$LD_LIB_PATH
SH_LIB_PATH=$ORACLE_HOME/lib:$SH_LIB_PATH
PATH ou path = $PATH:/$ORACLE_HOME/bin

Não configure estas variáveis:

TWO_TASK
unset TWO_TASK
unset ORA_NLS
unset ORA_NLS32
unset ORA_NLS33
unset ORA_NLS10

Observação: Faça backup do seu Oracle inventory e da pasta $ORACLE_HOME, antes de iniciar a instalação do Oracle.

Para iniciar a instalação estou considerando que você esta logado como ORA<DBSID>ID e que segui os passos acima para configuração das variáveis.
Vou citar um exemplo de como exportar as variáveis acima em tipo de Shell.

Bourne Shell (sh) =

DISPLAY=<HOSTNAME>:0.0
Export DISPLAY

C shell (csh) = setenv DISPLAY=<HOSTNAME>:0.0

Korn shell (ksh) = export DISPLAY=<HOSTNAME>:0.0

Agora que já está com as varáveis de ambiente devidamente ajustadas, faça o seguinte:

cd /oracle/stage/11202/database/SAP
./RUNINSTALLER

ou

cd /oracle/stage/11203/database/SAP
./RUNINSTALLER

Instale o Oracle com as configurações default.
Windows “download Software updates”
Enter you email – opcional
Press “Next”
Windows “Apply software updates”
Press Next
Windows “Grid installation options”
Press Next
Window “Install type”
Choose Single instance database installation
Press next
Window “Database edition”
Press Next
Window “Installation location”
Oracle base /oracle/<SID>
Software location </oracle/SID/112_64>
Press Next
Window “Operating system groups”
Sysdba dba
Sysoper oper
Press Next
Window “Summary”
Press Install
Popup “Execute configuration scripts”
Run </oracle/<SID>/112_64>/root.sh

Em nova sessão como root, execute:
</oracle/<SID>/112_64>/root.sh

Press OK
Windows “Finish”
Press “close”

Terminada a instalação do Oracle, é necessário a instalação do SAP Bundle Patch usando o MOPatch.

Verifique a nota SAP 1027012 para esta etapa.

Vamos atualizar a ferramenta OPatch:

rm -Rf $ORACLE_HOME/sapbundle
mkdir $ORACLE_HOME/sapbundle
chmod 755 $ORACLE_HOME/sapbundle
Onde XXX é a plataforma:
Descompactar o arquivo em uma pasta temporária que será renomeada.
Unzip -qd $ORACLE_HOME/sapbundle </sapcd/ORACLE/11.2/XX-XX-XX64/SPB>/SAP_112021_201103_XXXXXX64.zip ‘SAP_112021_201103/OPatch/*’
–Backup da pasta original
mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch-pre-SAP_112021_201103
Renomear a pasta
mv $ORACLE_HOME/sapbundle/SAP_112021_201103/OPatch $ORACLE_HOME/OPatch
chmod -R 755 $ORACLE_HOME/OPatch
Vamos atualizar a ferramenta MOPatch:

unzip -qd $ORACLE_HOME/sapbundle </sapcd/ORACLE/11.2/HP-UX-IA64/SPB>/SAP_112021_201103_HPUXIA64.zip ‘SAP_112021_201103/MOPatch/*’
mv $ORACLE_HOME/MOPatch $ORACLE_HOME/MOPatch-pre-SAP_112021_201103
mv $ORACLE_HOME/sapbundle/SAP_112021_201103/MOPatch $ORACLE_HOME/MOPatch
chmod -R 755 $ORACLE_HOME/MOPatch
Aplicando o MOPatch:

/bin/sh $ORACLE_HOME/MOPatch/mopatch.sh -v -s </Path do arquivo zip/SAP_112021_201103_XXXXXX64.zip
Execute
</oracle/RLU/112_64>/root.sh

Após ter terminado a instalação do Oracle você deve copiar os arquivos de configuração para conexão do SAP.
Devem-se copiar os seguintes arquivos:

listener.ora, sqlnet.ora e tnsnames.ora.

Usando o dbua.sap.sh para atualizar os arquivos são automaticamente copiados, más se quiser fazer o procedimento de forma manual

Esteja logado com o usuário ora<dbsid>.

Copie <old_ORACLE_HOME>/network/admin para <new_ORACLE_HOME>/network/admin.

Atualiza os arquivos com o novo path.

Insira no arquivo listener.ora a seguinte linha:

ADR_BASE_<listener_name> = /oracle/DBSID/saptrace

Não suba o listener ainda.

Parte 3 – Pré-atualização Oracle

Está etapa nos dará informações do banco de dados, sugere alterações antes de darmos inicio ao upgrade e executa algumas tarefas de preparação.
Para executar estas tarefas você deve esta conectado com o usuário ORA<DBSID> como sysdba e com as variáveis sem terem sido alteradas, apontando para o antigo ORACLE_HOME.

Dependendo da versão que está atualizando vá até uma das seguintes pastas:

cd /oracle/<DBSID>/11202/sap/ora_upgrade/pre_upgrade

ou

cd /oracle/<DBSID>/11203/sap/ora_upgrade/pre_upgrade

Execute os seguintes comandos:

sqlplus / as sysdba
SQL> spool pre_upgrade_tasks.log
SQL> @pre_upgrade_tasks.sql
SQL> spool off

Agora execute:

sqlplus / as sysdba
SQL> @pre_upgrade_status.sql

Verifique os logs:

pre_upgrade_status.log

pre_upgrade_tasks.log

Faça as alterações que estão nos logs e ignore as mensagens de Warning. Se acha necessário rode novamente o script pre_upgrade_status.sql.

Parte 4 – Upgrade Oracle

A primeira coisa a fazer antes do upgrade é termos bons backups a frio.
Sempre faça mais de um jogo de backup, pelo menos dois. Verifique se os backup dos 7 últimos dias foram executados com sucesso.

Execute o scripts $ORACLE_HOME/rdbms/admin/utlrp.sql para compila os objetos inválidos do banco de dados e caso fique algum inválido anote os nomes dos objetos. Não devem ter objetos inválidos novos após o upgrade.

Você deve para o SAP e o LISTENER.

Parar o SAP, com usuário <sapsid>adm de o seguinte comando:

stopsap r3

Parar o LISTENER, com o usuário ora<dbsid> de o seguinte comando:

lsnrctl stop

Verifique a CRON do sistema operacional se não está agendado para rodar tarefas no banco de dados.

Vamos iniciar o Database Upgrade Assistant
dbua.sap.sh ajusta as variáveis de ambiente.

Antes de iniciar o DBUA esteja certo que a variável DISPLAY está ajustada corretamente.

Tenha certeza que as permissões no arquivo /etc/oratab estão corretas.

Ajuste das variáveis de ambiente:

Se estiver migrando da versão 10.2.0.x to 11.2.0.3:

setenv ORACLE_HOME_SRC /oracle/<DBSID>/102_64
setenv ORACLE_HOME_TGT /oracle/<DBSID>/11203

ou se estiver migrando da versão 11.2.0.1 to 11.2.0.3 or from 11.2.0.2 to 11.2.0.3:

setenv ORACLE_HOME_SRC /oracle/<DBSID>/112_64
setenv ORACLE_HOME_TGT /oracle/<DBSID>/11203

execute o seguinte comando:

cd $ORACLE_HOME_TGT/sap/ora_upgrade/post_upgrade

Para verificar se o ambiente está configurado corretamente, faça:

./dbua.sap.sh -q

Agora execute o DBUA como segue:

./dbua.sap.sh

Você terá que ser capaz de responder as perguntas, subsequentes.
Responda qual o database que será migrado.
Você poderá obter algumas mensagens de warning, verifique e trate as mensagens.

1. Escolha o banco de dados para ser atualizado.
2. Você poderá obter algumas mensagens de warning: O database está usando antigo timezone. Isso é ajustado automaticamente pelo dbua.sap.sh.
3. Caso reclame das estatísticas, você poderá usar o seguinte comando:
brconnect -u / -c -f stats –t oradict_stats.
4. Aceite por default a recomendação de compilar os objetos.
5. Não mova os datafiles durante o upgrade.
6. Você poderá selecionar Recovery and Diagnostic Location, más esteja certo de ter espaço na área de Flash Recovery.

7. Não selecione a opção de configurar Enterprise Manager.

8. Revise os ajuste.

9. Inicie o DBUA escolhendo Finish.

10.  Revise as alterações feitas e saia do DBUA.

11. Stop o database logo após o upgrade.

Parte 5 – Pós-Upgrade Oracle

Você necessita fazer os ajustes das variáveis de ambiente de forma permanente. Ajustar os profiles do Usuário Oracle que estão armazenadas nos profiles: .cshrc, .dbenv_<hostname>.csh, .dbenv.sh, .dbenv.csh.

su – ora<dbsid>

cd

cp .dbenv.csh .dbenv.csh.10g
cp .dbenv.sh .dbenv.sh.10g
cp .dbenv_<itsus007.na.jnj.com>.csh .dbenv_<itsus007.na.jnj.com>.csh.10g
cp .dbenv_<itsus007.na.jnj.com>.sh .dbenv_<itsus007.na.jnj.com>.sh.10g
Usar o VI para editar os scripts:
vi .dbenv.sh
:g/102_64/s//112_64
vi .dbenv.csh
:g/102_64/s//112_64
Depois de o commando exit e
su – <SID>adm
cd
cp .dbenv.csh .dbenv.csh.10g
cp .dbenv.sh .dbenv.sh.10g
cp .dbenv_<itsus007.na.jnj.com>.csh .dbenv_<itsus007.na.jnj.com>.csh.10g
cp .dbenv_<itsus007.na.jnj.com>.sh .dbenv_<itsus007.na.jnj.com>.sh.10g
vi .dbenv.sh
:g/102_64/s//112_64
vi .dbenv.csh
:g/102_64/s//112_64

Esteja certo que as variáveis de ambiente não contenha nenhuma referencia a antiga versão do banco de dados.
Esteja certo que o ORACLE_HOME esteja ajustado para o novo caminho /oracle/<DBSID>/112_64.
O próximo passo é a criação dos links simbólicos.
Este procedimento é necessário apenas se estiver migrando a partir 11.2.0.1 ou 11.2.0.2.

Atualizando a partir do 11.2.0.1

cd /oracle/<DBSID>

Parar o banco de dados.

mv 112_64 11201

Criar o link simbolico.
ln -s 11203 /oracle/<DBSID>/112_64

Reinicie o banco.

Atualizando a partir do 10.2.0.2

cd /oracle/<DBSID>

Para o banco de dados.

rm 112_64

Criar o link simbólico.

ln -s 11203 /oracle/<DBSID>/112_64

Reinicie o banco.

Parte 6 – Verificação Pós-Upgrade Oracle

Connect como ora<sid>user

Execute os seguintes comando:

cd $ORACLE_HOME/sap/ora_upgrade/post_upgrade
sqlplus / as sysdba
SQL> @post_upgrade_status.sql

Verifique o log POST_UPGRADE_STATUS.log.

Veja se está tudo como Valido.

Este é um exemplo da saída.
COMP ID VERSION STATUS
CATALOG 11.2.0.3.0 VALID
CATPROC 11.2.0.3.0 VALID

Parte 7 – Atualização da BR*Tools

Faça Download da versão mais recente em:

http://service.sap.com/swdc

Com o usuário ora<dbsid> faça o seguinte:

cp /usr/sap/<SAPSID>/SYS/exe/run/sapconn_role.sql $ORACLE_HOME/dbs
cp /usr/sap/<SAPSID>/SYS/exe/run/sapdba_role.sql $ORACLE_HOME/dbs
cd $ORACLE_HOME/dbs

–Para Abap
sqlplus /nolog @sapdba_role <SAPSCHEMA_ID>

–Para Java
sqlplus /nolog @sapdba_role <SAPSCHEMA_ID>DB

–Para role sapconn
sqlplus /nolog @sapconn_role

–Execute também
cd $ORACLE_HOME/sap/ora_upgrade/post_upgrade
sqlplus / as sysdba @sapuprof_profile.sql

Verificando acompatibilidade
Se não for 11.2.0, execute o seguinte:
Como usuário ora<dbsid>

cd $ORACLE_HOME/sap/ora_upgrade/post_upgrade
SQL> conn / as sysdba
SQL> show parameter compatible
SQL> @set_compatible

Agora colete as estatísticas do banco de dados:

brconnect -u / -c -f stats -t system_stats
brconnect -u / -c -f stats -t oradict_stats
brconnect -c -u / -f stats -t all –f collect -p 4

Verifique os novos parâmetros através das notas:

SAP Note 1431798 e  SAP Note 1171650.

Faça os ajustes recomendados.

Execute o script de pós-upgrade:post_ugprade_status.sql.

Como usuário ora<dbsid>

cd <new_oracle_home>/sap/ora_upgrade/post_ugprade.
SQL>connect / as sysdba
SQL>@post_upgrade_status.sql

Este script mostra o status do upgrade.

Rode também o script para recompilar os objetos inválidos e tenha certeza que não foram gerados novos.

Como usuário ora<dbsid>

Cd <new_oracle_home>/rdbms/admin

SQL>connect / as sysdba
SQL>@utl_rp.sql

Precisamos criar um link simbólico para que a BR*Tools funcione corretamente.

Execute os passos abaixo:

cd $ORACLE_HOME/lib

ln –s libnnz11.so libnnz10.so

Verificar nota SAP 1449619.

Parte 8 – Faça um backup do banco de dados atualizado e dos novos binários.

Isso é necessário para preservar seu trabalho caso algo de errado.

Parte 9 – Suba o novo LISTENER e faça teste de conexão.

Com usuário ora<dbsid>

lsnrctl start

–Faça teste de conexão remota
sqlplus SAP<SAPSCHEMA_ID>/pwd@SID

Parte 10 – Renomear antiga instalação do Oracle

Para evitar desastres, recomenda-se que apague ou renomei a antiga instalação do Oracle.

mv <old_oracle_home>/bin <old_oracle_home>/bin-old

Para ter certeza que as permissões estão OK, faça o seguinte, com o usuário root. Isso garante que o usuário <sapsid>adm  terá acesso a pasta.

chmod 755 $ORACLE_HOME

Parte 11 – Oracle Instant Client – Kernel

Para fazer este procedimento verifique SAP Note 1431794.
Recomendo que atualize o kernel SAP SAP Note 1058988.

Vamos fazer um teste de conectividade.
Como usuário <sapsid>adm.

R3trans –d

Parte 12 – Ajustes Pós

Ajuste de profile:

DIR_ORAHOME

DIR_CLIENT_ORAHOME

DIR_SERVER_ORAHOME
Faça os ajustes destes parâmetros no profile de usuário:

Ajuste DIR_ORAHOME e DIR_CLIENT_ORAHOME com o valor do ORACLE_HOME no usuário <sapsid>adm user.

Ajuste DIR_SERVER_ORAHOME default profile com o valor do ORACLE_HOME do usuario ora<dbsid> user no servidor de banco database.

Parte 13 – Ajustes JDBC Driver

Altere o arquivo config.properties:

Em ambientes Java ele se localiza em:
/usr/sap/<SAPSID>/JC<instance_number>/j2ee/configtool

Em ambientes Java e Abap ele se localioza em:
/usr/sap/<SAPSID>/DVEBMGS<instance_number>/j2ee/configtool

Altere a localização do Oracle para a nova versão.
/oracle/client/<Oracle_client_major_version>x_64/instantclient/<java_class_archive>.jar

Não altere os arquivos <java_class_archive>.jar,  que são os seguintes:

classes12.jar

ojdbc14.jar

ojdbc5.jar

ojdbc6.jar

Procure pela string rdbms.driverLocation .

Faça ajustes no arquivo: configtool.sh , mudando a localização do driver.

Altere os arquivos de profile localizados em: <SAPSID>_JC<instance_number>_<host>:
/usr/sap/<SAPSID>/SYS/profile

Busque pela string: j2ee/dbdriver.

Altere para o novo caminho
/oracle/client/<Oracle_client_major_version>x_64/instantclient/<java_class_archive>.jar

Faça ajustes no arquivo: bootstrap.properties

Este arquivo está localizado em:

Ambientes Java
/usr/sap/<SAPSID>/JC<instance_number>/j2ee/cluster/bootstrap

Ambientes Java + Abap /usr/sap/<instance_ID>/DVEBMGS<instance_number>/j2ee/cluster/bootstrap
Busque pela string rdbms.driverLocation e altere para nova localização
/oracle/client/<Oracle_client_major_version>x_64/instantclient/<java_class_archive>.jar

Faça ajustes no arquivo: sdmrepository.sdc

Ambientes Java
/usr/sap/<SAPSID>/JC<instance_number>/SDM/program/config

Ambientes Java + Abap
/usr/sap/<SAPSID>/DVEBMGS<instance_number>/SDM/program/config

Busque por:
<Param type=”String” hide=”false” name=”jarPaths” encrypted=”false” displayName=”Driver Paths (separated by ;)”>

Altere a localização para o novo caminho
/oracle/client/<Oracle_client_major_version>x_64/instantclient/<java_class_archive>.jar

Faça ajustes no arquivo: rdb.properties
Busque pela strig: rdbms.driverLocation.

Ambiente Java
/usr/sap/<SAPSID>/JC<instance_number>/j2ee/deploying

Ambiente Abap + Java
/usr/sap/<SAPSID>/DVEBMGS<instance_number>/j2ee/deploying

Altere a localização para o novo caminho
/oracle/client/<Oracle_client_major_version>x_64/instantclient/<java_class_archive>.jar

Faça ajustes no arquivo: configurator.properties

Busque pela strig: RDBMS_DRIVER_LOCATION

Ambiente Java
/usr/sap/<SAPSID>/JC<instance_number>/j2ee

Ambiente Abap + Java
/usr/sap/<SAPSID>/DVEBMGS<instance_number>/j2ee

Altere a localização para o novo caminho
/oracle/client/<Oracle_client_major_version>x_64/instantclient/<java_class_archive>.jar

Referencias:

SAP Database upgrade guide:
Database Upgrade Guide – Upgrade to Oracle Database 11g Release 2 (11.2): UNIX – Based on Oracle Patch Set Release 11.2.0.2 – Version 2.01 – 2011-05-19
SAP OSS Notes
Note 1431800 – Oracle 11.2.0: Central Technical Note
Note 1431793 – Oracle 11.2.0: Upgrade Scripts
Note 1431798 – Oracle 11.2.0: Database Parameter Settings
Note 1171650 – Automated Oracle DB parameter check
Note 1449619 – BR*Tools cannot be started on Oracle 11g
Note 12741 – Current versions of BR*Tools and SAPDBA
Pre-requisites for upgrading to Oracle 11g (Sua Plataforma)
Unix OS Version XX-XX – XXX XXX
Oracle version 10.2.0.4 or 10.2.0.5
Oracle instant client version 10.2.0.4 V5 or higher

 

Add a Comment