¿Cuánto tiempo tomaría actualizar una base de datos Oracle 1T de 10g a 11g?

8

¿Cuánto tiempo llevaría actualizar una base de datos Oracle que tiene datos 1T de 10g a 11g generalmente / aproximadamente? Necesito estimar el tiempo de inactividad, ya que es un prod db. ¡Muchas gracias!

magqq
fuente

Respuestas:

11

30-90 minutos de acuerdo con las mejores prácticas de Oracle para la actualización . Se trata de la estimación más cercana que obtendrá de todas las incógnitas en esta situación.

El tamaño de la base de datos realmente importa muy poco para determinar cuánto tiempo llevará la actualización. Estos son los principales factores que afectan la duración (del blog de actualización de Oracle.com) :

  • Número de componentes y opciones de base de datos instalados: cuantos más componentes / opciones se instalen, más scripts de actualización tendrán que ejecutarse, más tiempo llevará

  • Estadísticas de diccionario válidas y no obsoletas: aunque crear estadísticas de diccionario en algunas versiones anteriores de Oracle no era una idea brillante, ya que si no se utiliza el optimizador basado en reglas, se debe analizar el diccionario de datos. Especialmente justo antes de una actualización. De lo contrario, esto sucederá durante la actualización mientras la base de datos se inicia en un modo de actualización restringida, lo que provocará un tiempo de inactividad adicional.

  • Número de filas en AUD $ si audit_trail está establecido en DB

  • Número de sinónimos al actualizar desde Oracle 9i: los sinónimos se tocarán y obtendrán una nueva dependencia en el diccionario en DEPENDENCIA $; si hay un número alto (como 100,000), esto puede consumir algún tiempo

  • Número de objetos en XDB

  • A una tasa muy baja si COMPATIBLE se incrementará: Número de archivos de datos y el tamaño de los redologs

Aquí hay algunos factores adicionales que puede considerar que no están relacionados con el núcleo de la actualización en sí:

  • Si se ha ejecutado el script previo a la actualización y se han resuelto los problemas.
  • Cuántos objetos inválidos hay.
  • Si la actualización se realiza en su lugar (vs. Importar / Exportar, Streams, Data Guard, etc.)
  • Si se utilizan DBUA o scripts para realizar la actualización.
  • Si la nueva casa Oracle está preinstalada.
  • Velocidad de disco y rendimiento.
  • Otra actividad de CPU / Disco que ocurre al mismo tiempo.
  • Modo de registro de archivo.
  • Otros cambios que se realizan con la actualización.
  • Si es necesaria una copia de seguridad en frío antes y / o después de la actualización.
  • Cualquier conjunto de parches o parches únicos que también se aplicarán.
  • Cuánta verificación de la actualización debe realizarse antes de que pueda estar disponible.

Probablemente el factor más importante que afecta la actualización es el factor desconocido. Incluso cuando la actualización se practica por adelantado en hardware similar con conjuntos de datos similares, etc., aún pueden ocurrir cosas que no se anticiparon y que pueden afectar drásticamente la duración. Con eso en mente, debe imitar el entorno de producción lo más cerca posible de las actualizaciones de prueba. Es decir, tan cerca como lo permita su presupuesto.

Si el problema es el espacio que le impide probar la actualización, considere restaurar la base de datos a un cuadro de prueba que excluya algunos de los espacios de tabla de usuario más grandes. Esto no le dará una sensación exacta para el momento, pero debería darle un estadio más cercano y permitirle superar más incógnitas.

Leigh Riffel
fuente
Muy reflexivo Leigh, tienes razón. ¡Muchas gracias!
magqq
5

Presumiblemente, tiene una instancia de desarrollo y prueba de esta base de datos ejecutándose en hardware similar con un volumen de datos similar y los mismos componentes de la base de datos instalados, ¿correcto? Y, presumiblemente, actualizará estos entornos inferiores (y probará que cualquier aplicación que use esta base de datos todavía funciona correctamente), ¿correcto?

Suponiendo que ese sea el caso, calcularía el tiempo que tardó en actualizar la base de datos de desarrollo y lo usaré como su estimación del tiempo requerido para actualizar las otras instancias. Obviamente, hay una serie de factores que determinan cuánto tiempo llevará la actualización real. Supongo que el tiempo de inactividad probablemente solo necesite ser una o dos horas, pero es mucho mejor usar el tiempo real requerido para actualizar el desarrollo.

Justin Cave
fuente
2
supongamos que está en una tienda barata, sin un entorno similar en las instalaciones de prueba / desarrollo que en la producción. Si ese es el caso ... ¿cuál es un buen consejo? :-)
Marian
1
@Marian - Como dije, mi suposición sin ninguna información es una o dos horas. Pero si está ejecutando en una tienda barata que ni siquiera compra un entorno inferior adecuado, aumentaría enormemente mi estimación porque supondría que algo saldría mal durante la actualización. Si no va a gastar en la construcción de entornos más bajos apropiados, no puede esperar grandes niveles de tiempo de actividad.
Justin Cave
1
Incluso si tiene una plataforma de desarrollo de basura que le dará un número decente de estacionamiento para trabajar. Tome ese número y si se siente un poco bajo, duplique o triplique eso y dele ese número a la gerencia.
mrdenny
3
@Marian - Sin embargo, los sabios saben que es mucho mejor sobrestimar una ventana de tiempo de inactividad que subestimarla. Si una organización no quiere proporcionar un entorno apropiado para que un DBA obtenga métricas razonables, debe aceptar una ventana de tiempo de inactividad mucho mayor de lo que lo haría si los entornos más bajos se aprovisionaran adecuadamente.
Justin Cave
1
@magqq: la actualización en sí no depende normalmente de los datos. Pero como generalmente desea una copia de seguridad completa antes de una actualización, el paso de realizar la copia de seguridad depende en gran medida del tamaño de la base de datos.
Justin Cave