Conexión a Oracle Database (OracleToSQL)
Para migrar bases de datos de Oracle a SQL Server, debe conectarse a la base de datos de Oracle que desea migrar. Al conectarse, SQL Server Migration Assistant (SSMA) obtiene metadatos sobre todos los esquemas de Oracle y, a continuación, los muestra en el panel Explorador de metadatos de Oracle. SSMA almacena información sobre el servidor de bases de datos, pero no almacena contraseñas.
La conexión a la base de datos permanece activa hasta que se cierra el proyecto. Al volver a abrir el proyecto, debe volver a conectarse si desea una conexión activa a la base de datos.
Los metadatos sobre la base de datos de Oracle no se actualizan automáticamente. En su lugar, si desea actualizar los metadatos en el Explorador de metadatos de Oracle, debe actualizarlos manualmente. Para obtener más información, consulte la sección Actualización de metadatos de Oracle en este artículo.
Permisos de Oracle necesarios:
Como mínimo, la cuenta que se usa para conectarse a la base de datos de Oracle debe tener los permisos siguientes:
Permiso | Descripción |
---|---|
CONNECT |
Necesario para conectarse (crear una sesión) a la base de datos. |
SELECT ANY DICTIONARY |
Necesario para consultar tablas de diccionario del sistema (por ejemplo, SYS.MLOG$ ) para detectar todos los objetos. |
Esto permite que SSMA cargue todos los objetos del esquema propiedad del usuario que se conecta. En la mayoría de los escenarios reales, hay referencias entre esquemas entre procedimientos almacenados y SSMA debe poder detectar todos los objetos a los que se hace referencia para una conversión correcta. Para obtener metadatos para los objetos definidos en otros esquemas, la cuenta debe tener los siguientes permisos adicionales:
Permiso | Descripción |
---|---|
SELECT ANY TABLE |
Necesario para detectar tablas, vistas, vistas materializadas y sinónimos en otros esquemas. |
SELECT ANY SEQUENCE |
Necesario para detectar secuencias en otros esquemas. |
CREATE ANY PROCEDURE |
Necesario para detectar PL/SQL para procedimientos, funciones y paquetes en otros esquemas. |
CREATE ANY TRIGGER |
Necesario para detectar definiciones de desencadenador en otros esquemas. |
CREATE ANY TYPE |
Necesario para detectar tipos definidos en otros esquemas. |
Algunas de las características de SSMA requieren permisos adicionales. Por ejemplo, si quiere usar la funcionalidad Probar objetos de base de datos migrados (OracleToSQL) y Administrar copias de seguridad (OracleToSQL), debe conceder al usuario que se conecte los siguientes permisos:
Permiso | Descripción |
---|---|
EXECUTE ANY PROCEDURE |
Necesario para ejecutar procedimientos y funciones que le gustaría probar en todos los esquemas. |
CREATE ANY TABLE y ALTER ANY TABLE |
Necesario para crear y modificar tablas temporales para el seguimiento de cambios y las copias de seguridad. |
INSERT ANY TABLE y UPDATE ANY TABLE |
Necesario para insertar datos de copia de seguridad y seguimiento de cambios en tablas temporales. |
DROP ANY TABLE |
Necesario para quitar tablas temporales usadas para el seguimiento de cambios y las copias de seguridad. |
CREATE ANY INDEX y ALTER ANY INDEX |
Necesario para crear y modificar índices en tablas temporales usadas para el seguimiento de cambios y las copias de seguridad. |
DROP ANY INDEX |
Necesario para quitar índices en tablas temporales usadas para el seguimiento de cambios y las copias de seguridad. |
CREATE ANY TRIGGER y ALTER ANY TRIGGER |
Necesario para crear y modificar desencadenadores temporales usados para el seguimiento de cambios. |
DROP ANY TRIGGER |
Necesario para quitar desencadenadores temporales usados para el seguimiento de cambios. |
Se trata de un conjunto genérico de permisos necesarios para que SSMA funcione correctamente. Si desea restringir el ámbito de la migración a un subconjunto de esquemas, puede hacerlo concediéndoles permisos anteriores al conjunto limitado de objetos, en lugar de ALL
. Aunque es posible, puede ser difícil identificar correctamente todas las dependencias, lo que impide que SSMA funcione correctamente. Se recomienda encarecidamente que se quede en el conjunto genérico tal como se definió anteriormente para eliminar los posibles problemas de permisos durante el proceso de migración.
Establecimiento de una conexión a Oracle
Cuando se conecta a una base de datos, SSMA lee los metadatos de la base de datos y, a continuación, agrega estos metadatos al archivo del proyecto. SSMA usa estos metadatos cuando convierte objetos en sintaxis de SQL Server y cuando migra datos a SQL Server. Puede examinar estos metadatos en el panel Explorador de metadatos de Oracle y revisar las propiedades de objetos de base de datos individuales.
Importante
Antes de intentar conectarse, asegúrese de que el servidor de bases de datos se está ejecutando y que puede aceptar conexiones.
Conectar con Oracle
En el menú Archivo, seleccione Conectar a Oracle.
Si anteriormente se ha conectado a Oracle, el nombre del comando es Volver a conectar a Oracle.
En el cuadro Proveedor, seleccione Proveedor de cliente de Oracle o Proveedor OLE DB, en función del proveedor que esté instalado. El valor predeterminado es el cliente de Oracle.
En el cuadro Modo, seleccione el modo estándar, el modo TNSNAME o el modo de cadena de conexión.
Use el modo estándar para especificar el nombre y el puerto del servidor. Use el modo de nombre de servicio para especificar manualmente el nombre del servicio de Oracle. Use el modo de cadena de conexión para proporcionar una cadena de conexión completa.
Si selecciona Modo estándar, proporcione los siguientes valores:
En el cuadro Nombre del servidor, escriba o seleccione el nombre o dirección IP del servidor de bases de datos.
Si el servidor de bases de datos no está configurado para aceptar conexiones en el puerto predeterminado (
1521
), escriba el número de puerto que se usa para las conexiones de Oracle en el cuadro Puerto del servidor .En el cuadro SID de Oracle, escriba el identificador del sistema.
En el cuadro Nombre de usuario, escriba una cuenta de Oracle que tenga los permisos necesarios.
En el cuadro Contraseña, escriba la contraseña para el nombre de usuario especificado.
Si selecciona Modo TNSNAME, proporcione los siguientes valores:
- En el cuadro Conectar identificador, escriba conectar identificador (alias TNS) de la base de datos.
- En el cuadro Nombre de usuario, escriba una cuenta de Oracle que tenga los permisos necesarios.
- En el cuadro Contraseña, escriba la contraseña para el nombre de usuario especificado.
Si selecciona Modo de cadena de conexión, proporcione una cadena de conexión en el cuadro Cadena de conexión.
En el siguiente ejemplo se muestra una cadena de conexión OLE DB:
Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
En el ejemplo siguiente se muestra una cadena de conexión de cliente de Oracle que usa la seguridad integrada:
Data Source=MyOracleDB;Integrated Security=yes;
Para obtener más información, consulte Conexión a Oracle (OracleToSQL).
Volver a conectar con Oracle
La conexión al servidor de bases de datos permanece activa hasta que se cierra el proyecto. Al volver a abrir el proyecto, debe volver a conectarse si desea una conexión activa a la base de datos. Puede trabajar sin conexión hasta que quiera actualizar metadatos, cargar objetos de base de datos en SQL Server y migrar datos.
Actualizar metadatos de Oracle
Los metadatos sobre la base de datos Oracle no se actualizan automáticamente. Los metadatos del Explorador de metadatos de Oracle son una instantánea de los metadatos cuando se conecta por primera vez o la última vez que actualiza manualmente los metadatos. Puede actualizar manualmente los metadatos de todos los esquemas, un único esquema u objetos de base de datos individuales.
Asegúrese de que está conectado a la base de datos.
En el Explorador de metadatos de Oracle, active la casilla situada junto a cada esquema u objeto de base de datos que quiera actualizar.
Haga clic con el botón derecho en Esquemas, en el objeto de base de datos o en el esquema individual y, a continuación, seleccione Actualizar desde la base de datos. Si no tiene una conexión activa, SSMA muestra el cuadro de diálogo Conectarse a Oracle para que pueda conectarse.
En el cuadro de diálogo Actualizar desde la base de datos, especifique los objetos que se van a actualizar.
- Para actualizar un objeto, seleccione el campo Activo situado junto al objeto hasta que aparezca una flecha.
- Para evitar actualizar un objeto, seleccione el campo Activo situado junto al objeto hasta que aparezca una X.
- Para actualizar o rechazar una categoría de objetos, seleccione el campo Activo situado junto a la carpeta de categorías.
Para ver las definiciones de la codificación de colores, seleccione el botón Leyenda.
Seleccione Aceptar.