Migración de bbdd 7.3.4 a 10g

Mi nombre es José.
Por alguna serie de inconvenientes no se realizaron las migraciones pertinentes y en el tiempo adecuado.
Tengo una BBDD ORACLE 7.3.4, sobre un SO Unix System 5 release 4. La idea es realizar un gran salto a ORACLE 10g sobre un SO Linux Red Had.
¿Cómo debe ser mi estrategia o plan de migración?, ¿Dónde puedo encontrar más información sobre esta linda aventura?.

1 respuesta

Respuesta
1
Dr. La estrategia puede ser más o menos sencilla.
Pero antes que nada.
Disculpe la demora .. Todavía puedo serle de utilidad
Diego.
A ver Jose,
Antes de seguir, excelente elección pasar a 10g.
No dejes de tener en cuenta los cambios que hay de 7 10g:
- Ya no existen los rollback segments.
- El rowid crece a varchar2(30) . Preferible usar ROWID%TYPE al definir variables de tipo ROWID.
- Verificar otros cambios entre 7 con 8i, 9i y 10g. Cada una de estas versionas ha variado entre una y otra.
Veamos por donde comenzamos:
1. Cuando vas a cambiar e plataforma, digamos de Unix a Linux a w2000 el camino que debes utilizar es mediante un export.
2. Entonces, ¿imagino qué tienes todos loas pasos para instalar oracle sobre Linux verdad? Si no es así te recomiendo visitar.
http://www.oracle.com/technology/pub/articles/smiley_10gdb_install.html
3. Luego simplemente debes hacer lo siguiente:
a) Crear en la base de datos destino los tablespaces que existen en la base de datos origen (salvo que quieras reorganizar los datos y cambiar de nombre a los tablespaces, de ser así, ncsitarias seguir algunos pasos adicionales).
No olvidar crearlos, al menos, del mismo tamaño que en la BD original y setear el parámetro AUTOEXTEND ON MAXSIZE UNLIMITED.
b) Realizar un full export de la base destino considerando al menos dos dump files:
- Uno con datos con segmentos comprimidos en un extent, sin contraints, ni indexes, ni triggers.
exp indexes=n constraints=n triggers=n compress=y rows=y full=y
- Uno sin datos con segmentos comprimidos en un extent, con contraints, con indexes y triggers.
exp indexes=y constraints=y triggers=y compress=y rows=n full=y
C) Preparar a la BD destino para el full import:
- Colocarla en NOARCHIVELOG mode.
- Asegurarse que el tablespace de UNDO, los tablespaces de datos y los redologs están en discos separados (para reducir la contención de I/O)
- Asegurarse de que no están activas las estadísticas al momento de exportar los datos.
- Asegurate que en el Sqlnet.ora el parametro TRACE_LEVEL_CLIENT = off
- En el initi. Ora verificar que el parámetro LOG_CHECKPOINT_INTERVAL sea igual al tamaño de los redo log files. Este numero esta definido en bloques de sistema operativo.
- Incrementa el SORT_AREA_SIZE tan grande como puedas (Vale, por ejemplo 120 megas). Esto permite que aquellos indices PORQUE que se creen hagan los sorts en memoria y no en disco. Incrementando sustancialmemte la rapidez del import.
- Incrementar sustancialmente el SGA, sobre todo los db_block_buffers y el shared_pool_size.
D) Reiniciar la BD y realizar el import considerando dos factores:
Un import de los datos:
imp file=xx.dmp full=y commit=n rows=y indexes=n statistics = none grants=n ignore=y constraints=n compile=n buffer=20480000 (tan grande como puedas)
Luego de finalizado el import del resto de estructuras:
imp file=xx.dmp full=y rows=n indexes=y constraints=y trigger=y compile=y grants=y buffer=20480000 (tan grande como puedas)
E) Finalmente recompilas todo utilizando el poderoso utlrp.sql (ubicado en rdbms/admin)
Importante :realizar una prueba antes de hacer el proceso definitivo.
Por supuesto que si, todavía estoy recopilando más información sobre este tema.
Agradezco de antemando tu ayuda.
Saludos cordiales
Jose Eduardo Salazar
Diego, muchas gracias por tu valiosa colaboración, si tengo alguna duda no dudare en escribirte.
Saludos cordiales.
Jose Eduardo Salazar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas