https://www.youtube.com/watch?v=Y92IVOpqC7s
Melhoria Pessoal do processo e atualização do procedimento.
0.00 - exportar o display antes de tudo e testar o xclock no xming
executar com permissão de root
xauth list | while read x ; do sudo -u oracle xauth add $x ; done
0.01 - Baixar os binários no site da Oracle
===================================================================
Pre-req tasks
===================================================================
1. Checar se o Oracle Label Security e Oracle Database Vault não estão instalados , devem estar setados como falso
SQL> select * from v$option where parameter in ('Oracle Label Security', 'Oracle Database Vault');
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
Oracle Label Security
FALSE
Oracle Database Vault
FALSE
1.1 Checar se há tabelas referenciando as opções do Oracle Label Security
select tablespace_name, status from dba_tablespaces; - no tables relating to reference options
2. Dropar o usuário de auditoria (AUDSYS)
drop user audsys cascade;
drop role audit_viewer;
drop role audit_admin;
======================================================================================
3. Criar o ambiente, instalar o profile com os binários do 12.1.0.2 binaries e obter os scripts de pre-upgrade preupgrd.sql e utluppkg.sql
======================================================================================
3.0 Criar o ambiente
3.1 Criar o diretório que irá receber os binários (/12.1.0.2/db_1)
cd $ORACLE_HOME
pwd
/u01/app/oracle/product/11.2.0.4_new/db_1
cd ..
cd ..
pwd
/u01/app/oracle/product
mkdir -p 12.1.0.2/db_1
HOSTNAME[oracle] /u01/app/oracle/product/12.1.0.2 $ cd db_1
HOSTNAME[oracle] /u01/app/oracle/product/12.1.0.2/db_1 $ pwd
/u01/app/oracle/product/12.1.0.2/db_1
HOSTNAME[oracle] /u01/app/oracle/product/12.1.0.2/db_1 $
3.2 Copiar o bash_profile para criar o do 12c
cd home/oracle
cp .bash_profile .profile.12c
3.3 Editar o profile do 12c para refletir o novo ORACLE_HOME
vi .profile.12c
DE
ORACLE_HOME=/u01/app/oracle/product/11.2.0.4_new/db_1
PARA
ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
3.3 - EXECUTAR O PROFILE 12C PARA INSTALAR OS BINÁRIOS NO PROFILE DO 12C (ATENTAR, NÃO EXECUTAR PELO PROFILE ANTIGO DO 11)
. .profile.12c
HOSTNAME[oracle] ~ $ . .profile.12c
HOSTNAME[oracle] ~ $ cd $ORACLE_HOME
HOSTNAME[oracle] /u01/app/oracle/product/12.1.0.2/db_1 $
======================================================================================
Instalar os binários do ORACLE 12C
======================================================================================
3.5 - Instalar os binários do ORACLE 12C no diretório criado:
/home/oracle
unzip linuxamd64_12102_database_1of2.zip
unzip linuxamd64_12102_database_2of2.zip
irá criar a pasta database, entrar nela e rodar o instalador
cd database
HOSTNAME[oracle] ~/database $ pwd
/home/oracle/database
HOSTNAME[oracle] ~/database $ ls
install response rpm runInstaller sshsetup stage welcome.html
HOSTNAME[oracle] ~/database $
3.5.1 Rodar o instalador dos binários do oracle database
./runInstaller
3.5.2 VERIFICAR SE ESTÁ NO DIRETÓRIO CORRETO DE INSTALAÇÃO.
install database software only
ENTERPRISE EDICTION
NA PÁGINA DE PRIVILÉGIOS DE USERS E GRUPOS DE SISTEMA, ALTERAR TUDO PARA ORACLE, O OSOPER (segundo item)PODE DEIXAR EM BRANCO
executar o root.sh como root conforme as instruções da instalação, atentar se o diretório do ORACLE_HOME está refletindo a configuração do 12c. Yes para instalar
3.5.3 - Copiar os scripts de pré upgrade (diretório irá aparecer somente após a instalação para o /tmp
cd /home/oracle
. .profile.12c
cd $ORACLE_HOME/rdbms/admin
cp @preupgrd.sql /tmp/.
cp utluppkg.sql /tmp/.
======================================================================================
4. Últimas tarefas no ambiente 11G
======================================================================================
4.0 Voltar para o profile do 11g para executar os scripts, para checar o que é necessário setar no pré upgrade
cd /home/oracle
. .bash_profile
4.1 ir para o diretório /tmp e executar o preupgrd.sql (14.57 no video)
cd /tmp
sqlplus ‘/as sysdba’
@preupgrd.sql
4.2. Verificar o que é necessário mudar no pre upgrade, na log que foi gerada, seguir as orientações do mesmo (remover olap, enterprise manager, etc)
cd $ORACLE_BASE/cfgtoollogs
cd testedb
cd preupgrade/
view preupgrade.log
4.3 Mudar todas as coisas que ele está dizendo a para mudar, tomar notas
4.4 Mudar os processos para 300 no spfile caso necessitar
ALTER SYSTEM SET PROCESSES=300 SCOPE=SPFILE;
4.5 Parar o dbconsole e remover, copiando o arquivo novo do 12c
copiar rdbms/admin/emremove.sql do novo ORACLE_HOME para o antigo ORACLE_HOME DO 11g
. .profile.12c
cd $ORACLE_HOME/rdbms/admin
cp emremove.sql /tmp/.
4.3- PARAR O DBCONSOLE (enterprise manager) pelo profile do 11g
. .bash_profile
cd $ORACLE/HOME/bin
emctl stop dbconsole
4.5 - Executar o emremove.sql no 11G para remover o enterprise manager
cd /tmp
sqlplus / as sysdba
SET ECHO ON;
SET SERVEROUTPUT ON;
@emremove.sql;
4.6 Remover o olap do 11g
ORACLE_HOME/olap/admin/catnoamd.sql
4.7 Executar as estatísticas do dicionário de dados
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
4.8 Fazer o purge na recyclebin
select * from dba_recyclebin;
PURGE RECYCLEBIN;
>>> verificar -- executar somente se recomendado -----execute dbms_preup.purge_recyclebin_fixup;
5. Executar o script preupgrade_fixups
cd $ORACLE_BASE/cfgtoollogs/testedb/preupgrade
@preupgrade_fixups.sql == Se houver erro, verificar e fixar conforme as instruções do arquivo preupgrade.log
6. Checar objetos inválidos antes – Esta lista irá ignorar os objetos inválidos pré-existentes antes upgrade que não são válidos.
@$ORACLE_HOME/rdbms/admin/utluiobj
6.1. Executar o script preupgrade novamente para checar se ainda continuam os erros no arquivo preupgrade.log
cd $ORACLE_BASE/cfgtoollogs/testedb/preupgrade
sqlplus / as sysdba
@preupgrd.sql
exit
view preupgrade.log
7. OPCIONAL ----Certificar que há espaço suficiente para os archivelogs – Opcional fazer um backup do rman
alter system set db_recovery_file_dest_size=30g;
8. Backup before upgrade - Optional
make sure no archive mode with archive log list
===================================================================
9. Começando o upgrade
===================================================================
9.1 Baixar o banco 11g
shutdowm immediate;
9.2 Startar em modo mount , configurar o banco para archivelog, fazer o backup do controlfile e dos archivelogs
startup mount;
alter database archivelog;
alter database open;
9.2.1 No Sistema operacional executar o rman para fazer o backup do controlfile e dos archivelogs
rman target /
show all;
configure controlfile autobackup on;
backup database plus archivelog
===================================================================
10. Completando Database Upgrade
===================================================================
10.1 Entrar no banco 11g e baixar
. .bash_profile
sqlplus / as sysdba
shutdown immediate;
exit;
10.2 Verificar o listener, fazer backup do listener antes e Baixar, caso necessário pode ter que parar como usuário do grid
lsnrctl status - checar o arquivo (conforme a saída abaixo)
Listener Parameter File /u01/app/grid/product/11.2.0.4_new/grid_infra_1/network/admin/listener.ora
lsnrctl stop listener
No upgrade que testei para este procedimento não baixei o listener, deixei o dbua executar todo o processo.
10.3 Procurar o executável do dbua do 12c para fazer o upgrade do banco
cd /u01/app/oracle/product/12.1.0.2/db_1/bin
./dbua
10.2 Selecionar Upgrade Oracle Database
checar as opções de validação
Nas opções do upgrade, deixar marcado a opção de compilar os objetos inválidos
Deixar a opção do enterprise manager conforme o padrão
NÃO MOVER OS DATAFILES COMO PARTE DO UPGRADE
Atualizar o listener, mantendo a configuração da conexão antiga.
Desmarcar a opção do backup do rman e informar que irá usar a própria estratégia de backup
Checar se o upgrade estará conforme o que foi programado, nas informações da interface gráfica da instalação, conforme o exemplo abaixo:
Estando tudo ok, clicar em finish para o oracle fazer o upgrade. Todos os shutdowns necessários e atualizações do catálogo o dbua irá fazer automaticamente. Pode-se também acompanhar o log para visualizar full time todo o processo.
===================================================================
11. VALIDAÇÃO
===================================================================
11.1 Entrar no profile do 12c
. .profile.12c
11.1 VERIFICAR O ORATAB
cat /etc/oratab |grep <sid> - ensure 12c has been added to oratab
11.3 VERIFICAR NO BANCO E PEGAR AS EVIDÊNCIAS:
EFETUAR O SHUTDOWN
sqlplus / as sysdba
STARTUP;
exit;
11.4 EXECUTAR TAREFA PÓS UPGRADE
cd $ORACLE_BASE/cfgtoollogs/testedb
sqlplus / as sysdba
@postugrade_fixups.sql;
11.5 VERIFICAR AS RECOMENDAÇÕES PRÉ UPGRADE, POR EXEMPLO pode solicitar fixar as estatísticas
EXECUTE DBMS.STATS.GATHER_FIXED_OBJECTS_STATS;
12. PEGAR AS EVIDÊNCIAS:
select substr(comp_id,1,15) comp_id, substr(comp_name,1,30) comp_name, substr(version,1,10) version, status from dba_registry;
-certificar que está com 12c