En varias ocasiones me he encontrado en los foros de discusión, amigos y amigas, que preguntan como cargar una base de datos desde una versión superior a una inferior.
Normalmente, no es tan común hacer "rollback" a nivel de releases de software de base de datos, pero en ocasiones especiales, se hace necesario realizar el ejercicio.
Si necesitas hacer el ejercicio de importar desde una versión superior hacia una inferior, debes realizar el exportación de la data con la utilidad "exp", de la versión de la base de datos de destino, conectándote a la base de datos origen, tomando en cuenta estos valores para los siguientes parámetros, como recomendación de mi parte, para evitar problemas de compatibilidad:
- direct=no
- statistics=no ( para 11g ó10g de origen con destino en 9i )
Mayor información la pueden encontrar en la nota del sitio de soporte de Oracle My Oracle Support #132904.1
Para Oracle 9iR2:
Applies to:
Oracle Server - Enterprise Edition - Version: 9.2.0.1 to 9.2.0.8 - Release: 9.2 to 9.2Oracle Server - Enterprise Edition - Version: 11.1.0.6 to 11.2.0.1 [Release: 11.1 to 11.2]
Information in this document applies to any platform.
Symptoms
You need to export data from 11g and import into 9iR2. For this reason, the exp utility version 9iR2 is used to extract data from 11g. There are two aspects of this problem:
1. On some Unix platforms, the exp utility either returns no errors or core dumps.
2. On Windows platforms, exp core dumps (Dr.Watson)
Both created dumps are corrupt, the imp utility crashes immediately after the export dump header is read.
Cause
Exp utility version 9iR2 internally uses the dictionary view EXU9DEFPSWITCHES to get information about some parameters like PLSQL_COMPILER_FLAGS and NLS_LENGTH_SEMANTICS. The parameter PLSQL_COMPILER_FLAGS doesn't exist in 11g anylonger and so the view EXU9DEFPSWITCHES returns unhandled 0 rows.
Solution
1. Connect to database 11g as SYSDBA with SQL*Plus
2. Change the definition of view EXU9DEFPSWITCHES from:
CREATE OR REPLACE VIEW exu9defpswitches (
compflgs, nlslensem ) AS
SELECT a.value, b.value
FROM sys.v$parameter a, sys.v$parameter b
WHERE a.name = 'plsql_compiler_flags' AND
b.name = 'nls_length_semantics'
to:
CREATE OR REPLACE VIEW exu9defpswitches (
compflgs, nlslensem ) AS
SELECT a.value, b.value
FROM sys.v$parameter a, sys.v$parameter b
WHERE a.name = 'plsql_code_type' AND
b.name = 'nls_length_semantics'
(see new parameter PLSQL_CODE_TYPE)
3. Re-start exp version 9iR2 to extract from 11g
4. Import the new dump using imp version 9iR2.
No hay comentarios:
Publicar un comentario
Te agradezco tus comentarios. Te esperamos de vuelta.