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.html3. 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.