Los Secretos Mas Guardados del Proceso de Actualización a Oracle 11g

Preview:

Citation preview

Valentín Leonard Tabacaru - Presales Technology Consultant

Los Secretos Mas Guardados del Proceso de Actualización a Oracle 11g

Introducción

Agenda

Los Secretos

Conclusiones

Los Mitos

¿Cuál es el momento de migrar, y dónde?

•• ActualizarActualizar a Oracle Database 10gR2?

o a Oracle Database 11g?

o directamente a Oracle Database11.2??

¡¡¡¡¡¡Esta esEsta essu eleccisu eleccióón ...!!!n ...!!!

t2008

2003

2004

2005

2006

2007

2002

2009

2010

Hoy

Lifetime Support Policy

2011

2012

2013

2014

Sustaining Support

Premier Support

R2July 2007

Extended Support

July 2010

January 2009 January 2012

R2 July 2010 July 2013

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

2015

2016

August 2012 August 2015

July 2008

July 2011

R2

2017

2018

Actualizar a Oracle Database 11g

R2R2

R2R2

≥≥≥≥ 10.2.0.210.2.0.210.2.0.210.2.0.2≥≥≥≥ 10.2.0.210.2.0.210.2.0.210.2.0.2

10.1.0.510.1.0.510.1.0.510.1.0.510.1.0.510.1.0.510.1.0.510.1.0.5

R2R2

≥≥≥≥ 7.3.47.3.47.3.47.3.4≥≥≥≥ 7.3.47.3.47.3.47.3.4

≥≥≥≥ 8.0.68.0.68.0.68.0.6≥≥≥≥ 8.0.68.0.68.0.68.0.6

≥≥≥≥ 8.1.7.48.1.7.48.1.7.48.1.7.4≥≥≥≥ 8.1.7.48.1.7.48.1.7.48.1.7.4

≥≥≥≥ 9.0.1.49.0.1.49.0.1.49.0.1.4≥≥≥≥ 9.0.1.49.0.1.49.0.1.49.0.1.4

9.2.0.89.2.0.89.2.0.89.2.0.89.2.0.89.2.0.89.2.0.89.2.0.8

≥≥≥≥ 9.2.0.49.2.0.49.2.0.49.2.0.4≥≥≥≥ 9.2.0.49.2.0.49.2.0.49.2.0.4

Las flechas sin etiquetas significan que no requiere algún parche en concreto

Introducción

Agenda

Los Secretos

Conclusiones

Los Mitos

Primer Secreto

• Lea la documentación

Documentación

• Note: 601807.1 Upgrade Companion 11g

• Note: 785351.1 Upgrade Companion 11 Release 2

Documentación

• Note: 601807.1 Upgrade Companion 11g

Documentación

• Note: 601807.1 Upgrade Companion 11g

Documentación

• Guías de Actualización

++++

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

• Note:429825.1Complete Checklist for Manual Upgrades to 11g

• Note:837570.1Complete Checklist for Manual Upgrades to 11g Release 2

• Note: 421191.1Complete checklist for manual upgrades from X to Y

Segundo Secreto

• Aplique parches a su nueva $ORACLE_HOMEantes de hacer la actualización

Aplicar Parches

• Instale los parches disponibles sobre la nueva $ORACLE_HOMEantes de empezar el proceso de actualización

Parches Recomendados

Parches Recomendados

Parches Recomendados

• Note 161818.1

Tener en Cuenta

Tener en Cuenta

• Note:454507.1

Instalación de Patch Set Update (PSU)

• Instale también los PSUs• Note:854428.1: Introduction to Database Patch Set Updates

• Los PSUs para la base de datos incluyen:• Arreglos y ajustes para asuntos críticos que puedan afectar a un número 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-certificación• Arreglos y ajustes que imponen cambios de configuración

• Típicamente entre 50 y 100 ajustes de nuevos bugs - cumulativos• Garantizados para instalación en línea con RAC• Cambian en quinto dígito del número de versión (10.2.0.4.3)• Se lanzan 4x año (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 estadísticas de rendimiento

Guarde las Estadísticas de Rendimiento

• Colectar suficientes datos sobre el rendimiento antes del upgrade es algo de máxima importancia

• Suficiente significa: Empezar como mínimo 4 semanas antes del proceso de actualización

• Recoja estadísticas 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 – retención: >30 días• Exporte el AWR usando DBMS_SWRF_INTERNAL.AWR_EXTRACT

• Use los informes ADR DIFF para hacer comparación antes/después:DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTML

Cuarto Secreto

• El proceso de actualización no llevará horas...

Duración del Upgrade

• ¿Cuánto tardará el upgradeen finalizar?

• Independiente de:• Tamaño de la base de datos

• Tipos de datos utilizados

• Dependiente especialmente de:• El número de componentes y opciones instaladas

• La validez y la actualidad de las estadísticas del diccionario de datos

• Número de sinónimos – estos se re-compilan (actualizar de 9i)

• Número de objetos en XDB• Muy poco, pero importa si COMPATIBLE está incrementado:

• Número de datafiles

• Tamaño de los redo logs

Duración del Upgrade

• Acelere el proceso de actualización por:• Truncar la tabla de auditoria SYS.AUD$

• Crear estadísticas de diccionario justo antes del upgrade• Oracle 9i:

• Oracle 10g/11g:

SQL> truncate SYS.AUD$;SQL> truncate SYS.AUD$;

SQL> exec DBMS_STATS.GATHER_SCHEMA_STATS('SYS', options => 'GATHER',estimate_percent =>

DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR

ALL COLUMNS SIZE AUTO', cascade => TRUE);

SQL> exec DBMS_STATS.GATHER_SCHEMA_STATS('SYS', options => 'GATHER',estimate_percent =>

DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR

ALL COLUMNS SIZE AUTO', cascade => TRUE);

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 versión 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 sinónimo público PUBLIC.PLAN_TABLE

• Para más información, por favor consulte:• Alert Note:782735.1, Note:605317.1 y Note:736353.1

• Si no, el componente “Oracle Server” puede resultar INVÁLIDO después 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

• Consiga los Objetos INVÁLIDOS:

• Recompilación de los objetos inválidos de SYS y SYSTEM - utlrp.sql• Compare los objetos inválidos de antes y después del upgrade

• Desde 11.1.0.7 la compilación se hace de modo automático• registry$sys_inv_objs, registry$nonsys_inv_objs => utluiobj.sql

• utlrp.sql• Lanza utlprp.sql con CPU_COUNT-1

• Determina automáticamente el tipo de recompilación – serial o paralelo• Recompila todos los objetos INVÁLIDOS • Utiliza el paquete utl_recomp

• Re-activa automáticamente los índices funcionales• utlprp.sql se puede arrancar directamente:

• SQL> @utlprp 7

• Esto puede ser útil para minimizar la utilización del CPU

SQL> SELECT UNIQUE object_name, object_type, ownerFROM dba_objects WHERE status='INVALID';

SQL> SELECT UNIQUE object_name, object_type, ownerFROM dba_objects WHERE status='INVALID';

Recompilar los Objetos Inválidos

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.1Descárguese y ejecute el script utltzuv2.sql

• Note:413671.1Descárguese y aplique el parche

Parches Timezone - 11g Release 2

• 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

• Sólo se debe ajustar la base de datos si se utiliza el tipo de datosTIMESTAMP WITH TIMEZONE

• Conversión realizada después 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

R2

Séptimo 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 actualOracle Database 11.2 Pre-Upgrade Information Tool 09-21-2009 22:33:20

********************************************************************** Database: ********************************************************************** --> name: ORCL --> version: 10.2.0.3.0 --> compatible: 10.2.0.3.0 --> blocksize: 8192 --> platform: Linux IA (32-bit) --> timezone file: V4

[..]

********************************************************************** Update Parameters: [Update Oracle Database 11.2 init.ora or spfile] ********************************************************************** WARNING: --> "java_pool_size" needs to be increased to at least 64 MB

[..]

********************************************************************** Miscellaneous Warnings ********************************************************************** WARNING: --> Database is using a timezone file older than version 11. .... After the release migration, it is recommended that DBMS_DST package .... be used to upgrade the 10.2.0.3.0 database timezone version.... to the latest version which comes with the new release.

Oracle Database 11.2 Pre-Upgrade Information Tool 09-21-2009 22:33:20

********************************************************************** Database: ********************************************************************** --> name: ORCL --> version: 10.2.0.3.0 --> compatible: 10.2.0.3.0 --> blocksize: 8192 --> platform: Linux IA (32-bit) --> timezone file: V4

[..]

********************************************************************** Update Parameters: [Update Oracle Database 11.2 init.ora or spfile] ********************************************************************** WARNING: --> "java_pool_size" needs to be increased to at least 64 MB

[..]

********************************************************************** Miscellaneous Warnings ********************************************************************** WARNING: --> Database is using a timezone file older than version 11. .... After the release migration, it is recommended that DBMS_DST package .... be used to upgrade the 10.2.0.3.0 database timezone version.... to the latest version which comes with the new release.

Pre-Upgrade Check

• Consiga la última versión de utlu1nmi.sql

• ¡Descárguesela ya!

•Nota: 884522.1

Octavo Secreto

• Después del upgrade ...

Post Upgrade

• Cree las estadísticas de sistema durante una carga de trabajo usual – si no, el CBO utilizará valores inapropiados:

SQL> select pname NAME, pval1 VALUE, pval2 INFOfrom aux_stats$;

NAME VALUE INFO-------------------- ---------- ------------------------------STATUS COMPLETEDDSTART 04-03-2009 12:30DSTOP 05-03-2009 12:30FLAGS 1CPUSPEEDNW 1392.39IOSEEKTIM 8.405IOTFRSPEED 255945.605...

SQL> select pname NAME, pval1 VALUE, pval2 INFOfrom aux_stats$;

NAME VALUE INFO-------------------- ---------- ------------------------------STATUS COMPLETEDDSTART 04-03-2009 12:30DSTOP 05-03-2009 12:30FLAGS 1CPUSPEEDNW 1392.39IOSEEKTIM 8.405IOTFRSPEED 255945.605...

SQL> exec DBMS_STATS.GATHER_SYSTEM_STATS('start');...SQL> exec DBMS_STATS.GATHER_SYSTEM_STATS('stop');

SQL> exec DBMS_STATS.GATHER_SYSTEM_STATS('start');...SQL> exec DBMS_STATS.GATHER_SYSTEM_STATS('stop');

Post Upgrade

• Ejemplo: carga de trabajo OLTP• Tiempo de ejecución sin estadísticas de sistema: 2:19h

• Tiempo de ejecución con estadísticas de sistema: 2:07h• => 9% más rápido

Post Upgrade

• Cree estadísticas sobre las tablas fijas• Inmediatamente después que catupgrd.sql haya finalizado• Esto acelerará el proceso de re-compilación con utlrp.sql

• Otra vez más: unos días después cuando haya ejecutado alguna carga de trabajo regular

SQL> exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;SQL> exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;

Introducción

Agenda

Los Secretos

Conclusiones

Los Mitos

Primer Mito

• El upgrade es demasiado simple... de modo que no necesito volver atrás

Estrategias de vueltas atrás

• Siempre:• Haga un backup completo en línea con RMAN

• ¡Pruebe al menos una vez la recuperación del sistema!

• Opciones de volver a la versión anterior (downgrade) :• Volver a Oracle Database 10g/11g• Utilice los scripts de downgrade catdwgrd.sql y catrelod.sql

• Mire Database Upgrade Guide, Capítulo 6 y Note:443890.1

• Datapump con el parámetro 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 todavía

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 clásico export/import es la mejor, y la más rápida manera de actualizar la base de datos

La Lógica del Upgrade

Stay on same OS?Stay on same OS?NN YY

UPGRADEUPGRADEExport/ImportExport/Import

CTAS, COPYCTAS, COPY

Transportable TablespacesTransportable Tablespaces

Transportable DatabaseTransportable Database

Oracle StreamsOracle Streams

DBUA DBUA

Downtime >30min?Downtime >30min?

YY

NN

SQL ApplySQL Apply

ORACLE recommended

ORACLE recommended

CLI CLI SQL> @catupgrd

Cuarto Mito

• El upgrade por línea de comandos es mejor que por interfaz gráfica DBUA

Command Line vs. DBUA

• El DBUA realiza varios chequeos muy útiles a la hora de realizar la actualización

• Menos posibilidades de recibir errores• El DBUA hace los cambios de parámetros 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 Ejecución

• Métodos clásicos:• 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 parámetros del optimizador

• Importar y arreglar objetos y estadísticas 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 ejecución y las estadísticas

• Dificultad:• Se hace parse de la sentencia y se crea el plan• La verificación se hace durante la ejecución:

• Ahora unas circunstancias cambian (estadísticas, versión, parámetros)• Se crea un nuevo plan – probablemente peor

HJ

HJ

GB

Parse Execute Plan aceptable

NL

NL

GB

Parse Execute Quizá planno aceptable

SQL Plan Management

• Primera fase - Captura• OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE

Parse

HJ

HJ

GB

Plan History

HJ

HJ

GB

Plan Baseline

Execute Plan aceptable

El plan inicial seráaceptado la próxima

vez se agregará aSQL Plan Baseline

SQL MANAGEMENT BASEReside en SYSAUX TS.

Ocupa máx. 10% de SYSAUX.Cada semana se borran los planes

no usados de hace más de 53 semanas [por defecto].

SQL Profiles

SQL Plan Management

• Segunda fase - Selección• Se rehace parse de la misma sentencia, y obtenemos otro plan

• OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=FALSE

Parse

El nuevo plan se agrega al Plan

History, pero no se usará a menos que

esté verificado

NL

NL

GB

Plan History

Plan Baseline

HJ

HJ

GB

GB

NL

NL

SQL Plan Management

• Segunda fase - Selección• Por defecto: OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=FALSE

Parse

HJ

HJ

GB

Execute Plan averiguado y aceptado

Plan History

Plan Baseline

HJ

HJ

GB

GB

NL

NL

El optimizador usarásólo uno de los planes

de ejecución verificados,

almacenados en SQL Baseline por que sólo

éstos planes garantizan la ESTABILIDAD

SQL Plan Management

• Tercera fase - Evolución

DBA

Optimizer

Plan History

Plan Baseline

HJ

HJ

GB

GB

NL

NLGB

NL

NL

Los planes mejores, o similares, se puedenañadir al SQL Plan Baseline

El plan inferiorse guarda enPlan History

DBA programala verificación

Plan History

Plan Baseline

GB

NL

NL

GB

HJ

HJ

GB

NL

NL

SQL Plan Management - Upgrade

• Escenario de actualización

Staging

Table

STSexp imp

expdp impdpDB-Link ...

STS

Los planes 10.2 se agregaránal SQL Plan Baseline

Plan History

Plan Baseline

GB

NL

NL

GB

HJ

HJ

GB

NL

NL

GB

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 producción para las pruebas!

• Resérvese 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?

• Acuérdense:La actualización nunca ha sido más fácil – ¡sin embargo tenemos que seguir hacer bien la pruebas!

Introducción

Agenda

Los Secretos

Conclusiones

Los Mitos

Resumen

• El upgrade nunca ha sido más fácil...• Pero no hay que olvidar probar detenidamente

• La base de datos Oracle 11g tiene muchas características y funcionalidades excelentes• Es muy estable y completamente optimizada

• SQL Plan Management

• Ofrece actualización de aplicaciones en línea

• 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

Recommended