Anda di halaman 1dari 68

Los Secretos Mas Guardados del Proceso de Actualizacin a Oracle 11g

Valentn Leonard Tabacaru - Presales Technology Consultant

Agenda
Introduccin Los Secretos Los Mitos Conclusiones

Cul es el momento de migrar, y dnde?


Actualizar a Oracle Database 10gR2? o a Oracle Database 11g? o directamente a Oracle Database 11.2??

Esta es su eleccin ...!!!

Lifetime Support Policy


Hoy

R2

August 2012

August 2015

R2

July 2010 July 2011

July 2013

January 2009

January 2012

Sustaining Support

Premier Support
R2

Extended Support
July 2010

July 2007 July 2008

t
2015 2005 2010 2016 2002 2003 2004 2006 2007 2008 2009 2011 2012 2013 2014 2017 2018

http://www.oracle.com/support/library/brochure/lifetime-support-technology.pdf

Actualizar a Oracle Database 11g


7.3.4 7.3.4 9.2.0.8 9.2.0.8

R2 R2
8.0.6 8.0.6

9.2.0.4 9.2.0.4

8.1.7.4 8.1.7.4

R2 R2

10.1.0.5 10.1.0.5

9.0.1.4 9.0.1.4

10.2.0.2 10.2.0.2

R2 R2
Las flechas sin etiquetas significan que no requiere algn parche en concreto

Agenda
Introduccin Los Secretos Los Mitos Conclusiones

Primer Secreto
Lea la documentacin

Documentacin
Note: 601807.1 Upgrade Companion 11g

Note: 785351.1 Upgrade Companion 11 Release 2

Documentacin
Note: 601807.1 Upgrade Companion 11g

Documentacin
Note: 601807.1 Upgrade Companion 11g

Documentacin
Guas de Actualizacin

+
http://download.oracle.com/docs/cd/B28359_01/server.111/b28300/toc.htm http://download.oracle.com/docs/cd/E11882_01/server.112/e10819/toc.htm

Note:429825.1 Complete Checklist for Manual Upgrades to 11g Note:837570.1 Complete Checklist for Manual Upgrades to 11g Release 2 Note: 421191.1 Complete checklist for manual upgrades from X to Y

Segundo Secreto
Aplique parches a su nueva $ORACLE_HOME antes de hacer la actualizacin

Aplicar Parches
Instale los parches disponibles sobre la nueva $ORACLE_HOME antes de empezar el proceso de actualizacin

Parches Recomendados

Parches Recomendados

Parches Recomendados

Tener en Cuenta
Note 161818.1

Tener en Cuenta
Note:454507.1

Instalacin de Patch Set Update (PSU)


Instale tambin los PSUs
Note:854428.1: Introduction to Database Patch Set Updates Los PSUs para la base de datos incluyen:
Arreglos y ajustes para asuntos crticos que puedan afectar a un nmero grande de clientes y que ya se han demostrado como problemas Arreglos y ajustes Critical Patch Update (CPU)

Los PSU para la base de datos no incluyen:


Cambios que necesitan re-certificacin Arreglos y ajustes que imponen cambios de configuracin

Tpicamente entre 50 y 100 ajustes de nuevos bugs - cumulativos Garantizados para instalacin en lnea con RAC Cambian en quinto dgito del nmero de versin (10.2.0.4.3) Se lanzan 4x ao (igual que los CPUs la misma fecha)
Plataformas: Solaris SPARC64, Linux x86 and x86-64, HP-UX PA-RISC, HP Itanium, IBM AIX

Parches Recomendados para el SO


Note:169706.1: OS Installation and Configuration

Note: 401705.1 Linux x86, x86-64, and s390x Requirements Reference List

Tercer Secreto
Guarde las estadsticas de rendimiento

Guarde las Estadsticas de Rendimiento


Colectar suficientes datos sobre el rendimiento antes del upgrade es algo de mxima importancia
Suficiente significa: Empezar como mnimo 4 semanas antes del proceso de actualizacin Recoja estadsticas de rendimiento precisas En Oracle 8i/9i:
Use STATSPACK
Exporte el esquema PERFSTAT justo antes del upgrade Note:466350.1 STATSPACK before/after upgrade

En Oracle 10g/11g:
Use AWR
Snapshots cada 30-60 minutos retencin: >30 das Exporte el AWR usando DBMS_SWRF_INTERNAL.AWR_EXTRACT Use los informes ADR DIFF para hacer comparacin antes/despus: DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTML

Cuarto Secreto
El proceso de actualizacin no llevar horas...

Duracin del Upgrade


Cunto tardar el upgrade en finalizar? Independiente de:
Tamao de la base de datos Tipos de datos utilizados

Dependiente especialmente de:


El nmero de componentes y opciones instaladas La validez y la actualidad de las estadsticas del diccionario de datos Nmero de sinnimos estos se re-compilan (actualizar de 9i) Nmero de objetos en XDB Muy poco, pero importa si COMPATIBLE est incrementado:
Nmero de datafiles Tamao de los redo logs

Duracin del Upgrade


Acelere el proceso de actualizacin por:
Truncar la tabla de auditoria SYS.AUD$
SQL> truncate SYS.AUD$; SQL> truncate SYS.AUD$;

Crear estadsticas de diccionario justo antes del upgrade


Oracle 9i: SQL> exec DBMS_STATS.GATHER_SCHEMA_STATS SQL> exec DBMS_STATS.GATHER_SCHEMA_STATS
('SYS', options => 'GATHER',estimate_percent => ('SYS', options => 'GATHER',estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE); ALL COLUMNS SIZE AUTO', cascade => TRUE);

Oracle 10g/11g: SQL> exec DBMS_STATS.GATHER_DICTIONARY_STATS; SQL> exec DBMS_STATS.GATHER_DICTIONARY_STATS;

Quinto Secreto
Operaciones de limpieza

Papelera de Reciclaje

Si se actualiza desde la versin 10g o 11g, se recomienda vaciar el recycle bin antes del upgrade.
SQL> purge DBA_RECYCLEBIN; SQL> purge DBA_RECYCLEBIN;

Drop de la tabla plan


Haga drop de la tabla SYS.PLAN_TABLE$ y del sinnimo pblico PUBLIC.PLAN_TABLE
Para ms informacin, por favor consulte:
Alert Note:782735.1, Note:605317.1 y Note:736353.1

Si no, el componente Oracle Server puede resultar INVLIDO despus del upgrade
Se aplica a actualizaciones a las versiones: 10.2.0.4, 11.1.0.6 y 11.1.0.7 Asunto introducido con el paquete DBMS_SQLPA

Recompilar los Objetos Invlidos


Consiga los Objetos INVLIDOS:
SQL> SELECT UNIQUE object_name, object_type, owner SQL> SELECT UNIQUE object_name, object_type, owner FROM dba_objects WHERE status='INVALID'; FROM dba_objects WHERE status='INVALID';

Recompilacin de los objetos invlidos de SYS y SYSTEM - utlrp.sql


Compare los objetos invlidos de antes y despus del upgrade
Desde 11.1.0.7 la compilacin se hace de modo automtico registry$sys_inv_objs, registry$nonsys_inv_objs => utluiobj.sql

utlrp.sql
Lanza utlprp.sql con CPU_COUNT-1 Determina automticamente el tipo de recompilacin serial o paralelo Recompila todos los objetos INVLIDOS Utiliza el paquete utl_recomp Re-activa automticamente los ndices funcionales
utlprp.sql se puede arrancar directamente:
SQL> @utlprp 7 Esto puede ser til para minimizar la utilizacin del CPU

Sexto Secreto
Como gestionar los cambios horarios

Parches Timezone - 11g


Actualizar a la base de datos Oracle 11g:
Novedad en 11g - $OH tiene timezone V4 Al $OH origen (<10.2.0.4) se debe aplicar el parche para actualizarlo a timezone V4
Note:359145.1 Descrguese y ejecute el script utltzuv2.sql Note:413671.1 Descrguese y aplique el parche

Parches Timezone - 11g Release 2


R2

Para actualizar a Oracle Database 11g Release 2:


Novedad en 11.2 - $OH tiene timezone V11 No se debe aplicar parche a la $OH origen Slo se debe ajustar la base de datos si se utiliza el tipo de datos TIMESTAMP WITH TIMEZONE
Conversin realizada despus del upgrade Mire la Nota 944122.1 El paquete DBMS_DST
DBMS_DST.FIND_AFFECTED_TABLES DBMS_DST.BEGIN_UPGRADE DBMS_DST.UPGRADE_DATABASE DBMS_DST.END_UPGRADE

Sptimo Secreto
Siempre ejecutar el pre-upgrade script: Actualizar a Oracle Database 11.1 : utlu111i.sql Actualizar a Oracle Database 11.2 : utlu112i.sql

Pre-Upgrade Check
Ejecute utlu112i.sql en su entorno actual
Oracle Database 11.2 Pre-Upgrade Information Tool Oracle Database 11.2 Pre-Upgrade Information Tool 09-21-2009 22:33:20 09-21-2009 22:33:20 ********************************************************************** ********************************************************************** Database: Database: ********************************************************************** ********************************************************************** --> name: ORCL --> name: ORCL --> version: 10.2.0.3.0 --> version: 10.2.0.3.0 --> compatible: 10.2.0.3.0 --> compatible: 10.2.0.3.0 --> blocksize: 8192 --> blocksize: 8192 --> platform: Linux IA (32-bit) --> platform: Linux IA (32-bit) --> timezone file: V4 --> timezone file: V4 [..] [..] ********************************************************************** ********************************************************************** Update Parameters: [Update Oracle Database 11.2 init.ora or spfile] Update Parameters: [Update Oracle Database 11.2 init.ora or spfile] ********************************************************************** ********************************************************************** WARNING: --> "java_pool_size" needs to be increased to at least 64 MB WARNING: --> "java_pool_size" needs to be increased to at least 64 MB [..] [..] ********************************************************************** ********************************************************************** Miscellaneous Warnings Miscellaneous Warnings ********************************************************************** ********************************************************************** WARNING: --> Database is using a timezone file older than version 11. WARNING: --> Database is using a timezone file older than version 11. .... After the release migration, it is recommended that DBMS_DST package .... After the release migration, it is recommended that DBMS_DST package .... be used to upgrade the 10.2.0.3.0 database timezone version .... be used to upgrade the 10.2.0.3.0 database timezone version .... to the latest version which comes with the new release. .... to the latest version which comes with the new release.

Pre-Upgrade Check
Consiga la ltima versin de utlu1nmi.sql

Descrguesela ya!

Nota: 884522.1

Octavo Secreto
Despus del upgrade ...

Post Upgrade
Cree las estadsticas de sistema durante una carga de trabajo usual si no, el CBO utilizar valores inapropiados:
SQL> SQL> ... ... SQL> SQL> exec DBMS_STATS.GATHER_SYSTEM_STATS('start'); exec DBMS_STATS.GATHER_SYSTEM_STATS('start'); exec DBMS_STATS.GATHER_SYSTEM_STATS('stop'); exec DBMS_STATS.GATHER_SYSTEM_STATS('stop');

SQL> select pname NAME, pval1 VALUE, pval2 INFO SQL> select pname NAME, pval1 VALUE, pval2 INFO from aux_stats$; from aux_stats$;
NAME NAME --------------------------------------STATUS STATUS DSTART DSTART DSTOP DSTOP FLAGS FLAGS CPUSPEEDNW CPUSPEEDNW IOSEEKTIM IOSEEKTIM IOTFRSPEED IOTFRSPEED ... ... VALUE VALUE ------------------INFO INFO ----------------------------------------------------------COMPLETED COMPLETED 04-03-2009 12:30 04-03-2009 12:30 05-03-2009 12:30 05-03-2009 12:30

1 1 1392.39 1392.39 8.405 8.405 255945.605 255945.605

Post Upgrade
Ejemplo: carga de trabajo OLTP
Tiempo de ejecucin sin estadsticas de sistema: 2:19h Tiempo de ejecucin con estadsticas de sistema: 2:07h
=> 9% ms rpido

Post Upgrade
Cree estadsticas sobre las tablas fijas
Inmediatamente despus que catupgrd.sql haya finalizado
Esto acelerar el proceso de re-compilacin con utlrp.sql SQL> exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; SQL> exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;

Otra vez ms: unos das despus cuando haya ejecutado alguna carga de trabajo regular

Agenda
Introduccin Los Secretos Los Mitos Conclusiones

Primer Mito
El upgrade es demasiado simple... de modo que no necesito volver atrs

Estrategias de vueltas atrs


Siempre:
Haga un backup completo en lnea con RMAN Pruebe al menos una vez la recuperacin del sistema!

Opciones de volver a la versin anterior (downgrade) :


Volver a Oracle Database 10g/11g
Utilice los scripts de downgrade catdwgrd.sql y catrelod.sql
Mire Database Upgrade Guide, Captulo 6 y Note:443890.1

Datapump con el parmetro VERSION (se puede especificar COMPATIBLE)

Volver a Oracle Database 9i


Export/import Utilice exp en 9i para extraer los datos, e imp para importar los datos Note:158845.1

Segundo Mito
Nadie no utiliza 11g todava

60 Referencias de Clientes con 11g

01-JUL-2009

60 Referencias de Clientes con 11g

01-JUL-2009

Ejemplos de Clientes
Ministerio de Justicia Londres, Reino Unido
Utilizan Oracle Database 11g Incremento de rendimiento de by 30% Seguridad fortificada http://www.oracle.com/customers/snapshots/ ministry-of-justice-database-snapshot.pdf

Tercer Mito
El clsico export/import es la mejor, y la ms rpida manera de actualizar la base de datos

La Lgica del Upgrade


UPGRADE UPGRADE
Export/Import Export/Import N N CTAS, COPY CTAS, COPY Stay on same OS? Stay on same OS? Y Y

N N SQL Apply SQL Apply

Downtime >30min? Downtime >30min?

Y Y

Oracle Streams Oracle Streams Transportable Tablespaces Transportable Tablespaces

DBUA DBUA
OR ORA ACL CLE E rrec ecom omm men ende ded d

CLI CLI
SQL> @catupgrd

Transportable Database Transportable Database

Cuarto Mito
El upgrade por lnea de comandos es mejor que por interfaz grfica DBUA

Command Line vs. DBUA


El DBUA realiza varios chequeos muy tiles a la hora de realizar la actualizacin Menos posibilidades de recibir errores
El DBUA hace los cambios de parmetros y establece los valores por usted

DBUA utiliza los mismos scripts

Quinto Mito
Siempre es la culpa del optimizador...

Prever los Cambios del Plan de Ejecucin


Mtodos clsicos:
Rule Based Optimizer (RBO desupport since Oracle 10g - Note:189702.1) Hints Stored Outlines Rescribir las sentencias SQL OPTIMIZER_FEATURES_ENABLE=n.n.n Cambiar ciertos parmetros del optimizador Importar y arreglar objetos y estadsticas del sistema

Moderno, eficaz y optimizado con respecto al consumo de recursos:


SQL Plan Management

Sin SQL Plan Management


El reto de congelar los planes de ejecucin y las estadsticas Dificultad:
Se hace parse de la sentencia y se crea el plan
La verificacin se hace durante la ejecucin:
GB

Parse
HJ

Execute

Plan aceptable

HJ

Ahora unas circunstancias cambian (estadsticas, versin, parmetros)


Se crea un nuevo plan probablemente peor
GB

Parse
NL

Execute

Quiz plan no aceptable

NL

SQL Plan Management


Primera fase - Captura
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE
GB

Parse
HJ

Execute

Plan aceptable

HJ

El plan inicial ser aceptado la prxima vez se agregar a SQL Plan Baseline

SQL MANAGEMENT BASE


Plan History Reside en SYSAUX TS. Ocupa mx. 10% de SYSAUX. Cada semana se borran los planes no usados de hace ms de 53 semanas [por defecto]. SQL Profiles
HJ

Plan Baseline
GB HJ

SQL Plan Management


Segunda fase - Seleccin
Se rehace parse de la misma sentencia, y obtenemos otro plan
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=FALSE GB

Parse
NL

NL

El nuevo plan se agrega al Plan History, pero no se usar a menos que est verificado

Plan History
GB NL NL GB HJ HJ

Plan Baseline

SQL Plan Management


Segunda fase - Seleccin
Por defecto: OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=FALSE
GB

Parse
HJ

Execute

Plan averiguado y aceptado

HJ

El optimizador usar slo uno de los planes de ejecucin verificados, almacenados en SQL Baseline por que slo stos planes garantizan la ESTABILIDAD

Plan History
GB NL NL GB HJ HJ

Plan Baseline

SQL Plan Management


Tercera fase - Evolucin

Plan History
GB GB NL NL HJ HJ NL NL

Plan History

Plan Baseline
GB

El plan inferior se guarda en Plan History

GB NL NL GB NL

Plan Baseline
GB HJ NL HJ

Los planes mejores, o similares, se pueden aadir al SQL Plan Baseline DBA programa la verificacin

DBA
Optimizer

SQL Plan Management - Upgrade


Escenario de actualizacin
Staging

STS
Table

exp imp expdp impdp DB-Link ...

STS

Los planes 10.2 se agregarn al SQL Plan Baseline


Plan History
GB

Plan Baseline
GB NL NL HJ GB HJ GB NL NL

NL NL

Cada nuevo plan mejor ser guardado en Plan History

Sexto Mito
Mejor no probar... seguro que algo saldr mal, de todos modos

Las Pruebas son el Secreto del xito


Nunca cambiar demasiados componentes de un golpe! Documente todos los cambios en un historial de cambios. Siempre use datos reales de produccin para las pruebas! Resrvese suficiente tiempo y recursos para las pruebas. SIEMPRE colecte suficientes datos del rendimiento ANTES de empezar el upgrade!! Ponga la base de una estrategia de retroceder! POR FAVOR, pruebe su estrategia de retroceder - Est usted seguro que funciona? Acurdense: La actualizacin nunca ha sido ms fcil sin embargo tenemos que seguir hacer bien la pruebas!

Agenda
Introduccin Los Secretos Los Mitos Conclusiones

Resumen
El upgrade nunca ha sido ms fcil...
Pero no hay que olvidar probar detenidamente

La base de datos Oracle 11g tiene muchas caractersticas y funcionalidades excelentes


Es muy estable y completamente optimizada SQL Plan Management Ofrece actualizacin de aplicaciones en lnea

Entonces qu est esperando?

<Insert Picture Here>

Recursos Adicionales

Upgrade Webpage en OTN


http://www.oracle.com/technology/products/database/oracle11g/upgrade/index.html

OTN Upgrade Forum


http://forums.oracle.com/forums/forum.jspa?forumID=583&start=0

Upgrade Blog
http://blogs.oracle.com/UPGRADE/

Preguntas

valentin.tabacaru@oracle.com