Conexión a las bases de datos de IBM DB2 para z/OS con AWS Schema Conversion Tool
Puede usar AWS SCT para convertir esquemas, objetos de código y código de aplicación de IBM Db2 para z/OS a los siguientes destinos.
Amazon RDS for MySQL
Amazon Aurora MySQL-Compatible Edition
Amazon RDS para PostgreSQL
Edición de Amazon Aurora compatible con PostgreSQL
Requisitos previos para Db2 para z/OS como base de datos de origen
La versión de base de datos de nivel de función 100 de la versión 12 de IBM Db2 para z/OS no admite la mayoría de las capacidades nuevas de la versión 12 de IBM Db2 para z/OS. Esta versión de base de datos proporciona soporte para la solución alternativa para la versión 11 de Db2 y el intercambio de datos con la versión 11 de Db2. Para evitar la conversión de características no compatibles de la versión 11 de Db2, le recomendamos que utilice como origen un nivel de función 500 o superior de base de datos de IBM Db2 para z/OS como origen para AWS SCT.
Puede utilizar el siguiente ejemplo de código para comprobar la versión de la base de datos de IBM Db2 para z/OS de origen.
SELECT GETVARIABLE('SYSIBM.VERSION') as version FROM SYSIBM.SYSDUMMY1;
Asegúrese de que este código devuelva la versión DSN12015 o posterior.
Puede utilizar el siguiente ejemplo de código para comprobar el valor del registro especial APPLICATION COMPATIBILITY en su base de datos de IBM Db2 para z/OS de origen.
SELECT CURRENT APPLICATION COMPATIBILITY as version FROM SYSIBM.SYSDUMMY1;
Asegúrese de que este código devuelva la versión V12R1M500 o posterior.
Privilegios para Db2 para z/OS como base de datos de origen
Los privilegios necesarios para conectarse a una base de datos de Db2 para z/OS y leer los catálogos y tablas del sistema son los siguientes:
SELECT ON SYSIBM.LOCATIONS
SELECT ON SYSIBM.SYSCHECKS
SELECT ON SYSIBM.SYSCOLUMNS
SELECT ON SYSIBM.SYSDATABASE
SELECT ON SYSIBM.SYSDATATYPES
SELECT ON SYSIBM.SYSDUMMY1
SELECT ON SYSIBM.SYSFOREIGNKEYS
SELECT ON SYSIBM.SYSINDEXES
SELECT ON SYSIBM.SYSKEYCOLUSE
SELECT ON SYSIBM.SYSKEYS
SELECT ON SYSIBM.SYSKEYTARGETS
SELECCIONE EN SYSIBM.SYSJAROBJECTS
SELECT ON SYSIBM.SYSPACKAGE
SELECT ON SYSIBM.SYSPARMS
SELECT ON SYSIBM.SYSRELS
SELECT ON SYSIBM.SYSROUTINES
SELECT ON SYSIBM.SYSSEQUENCES
SELECT ON SYSIBM.SYSSEQUENCESDEP
SELECT ON SYSIBM.SYSSYNONYMS
SELECT ON SYSIBM.SYSTABCONST
SELECT ON SYSIBM.SYSTABLES
SELECT ON SYSIBM.SYSTABLESPACE
SELECT ON SYSIBM.SYSTRIGGERS
SELECT ON SYSIBM.SYSVARIABLES
SELECT ON SYSIBM.SYSVIEWS
Para convertir tablas de Db2 para z/OS en tablas particionadas de PostgreSQL, recopile estadísticas sobre los espacios de tabla y las tablas del base de datos mediante la utilidad RUNSTATS que se muestra a continuación.
LISTDEF YOURLIST INCLUDE TABLESPACES DATABASEYOURDBRUNSTATS TABLESPACE LIST YOURLIST TABLE (ALL) INDEX (ALL KEYCARD) UPDATE ALL REPORT YES SHRLEVEL REFERENCE
En el ejemplo anterior, sustituya el marcador de posición por el nombre de la base de datos de origen.YOURDB
Conexión a Db2 para z/OS como origen
Utilice el siguiente procedimiento para conectarse a su base de datos de Db2 para z/OS de origen con AWS SCT.
Para conectarse a una base de datos de IBM Db2 para z/OS de origen
-
En AWS Schema Conversion Tool, seleccione Agregar origen.
-
Elija Db2 para z/OS y, a continuación, elija Siguiente.
Se abrirá el cuadro de diálogo Agregar origen.
-
En Nombre de conexión, escriba un nombre para su base de datos. AWS SCT muestra este nombre en el árbol del panel izquierdo.
-
Utilice las credenciales de la base de datos de AWS Secrets Manager o introdúzcalas manualmente:
-
Para usar las credenciales de base de datos de Secrets Manager, siga las instrucciones siguientes:
-
En Secreto de AWS, elija el nombre del secreto.
-
Seleccione Rellenar para rellenar automáticamente todos los valores del cuadro de diálogo de conexión a la base de datos de Secrets Manager.
Para obtener información sobre el uso de las credenciales de bases de datos de Secrets Manager, consulteConfiguración de AWS Secrets Manager en AWS Schema Conversion Tool.
-
-
Para introducir manualmente la información de conexión a la base de datos de IBM Db2 para z/OS de origen, siga las instrucciones siguientes:
Parámetro Acción Nombre del servidor Escriba el nombre del sistema de nombres de dominio (DNS) o la dirección IP del servidor de base de datos de origen.
Puerto del servidor Escriba el puerto utilizado para conectarse al servidor de base de datos de origen.
Ubicación Introduzca el nombre único de la ubicación de Db2 a la que desea obtener acceso.
Nombre de usuario y Contraseña Introduzca las credenciales de la base de datos para conectarse al servidor de base de datos de origen.
AWS SCT utiliza la contraseña para conectarse a la base de datos de origen solo cuando decide conectarse a la base de datos en un proyecto. Para evitar que la contraseña de su base de datos de origen quede expuesta, AWS SCT no la almacena por defecto. Si cierra su proyecto de AWS SCT y vuelve a abrirlo, se le solicitará la contraseña para conectarse a su base de datos de origen, según sea necesario.
Usar SSL Seleccione esta opción si desea utilizar capa de sockets seguros (SSL) para conectarse a la base de datos. Proporcione la siguiente información adicional, según proceda, en la pestaña SSL:
-
Almacén de confianza: la ubicación de un almacén de confianza que contenga certificados. Para que esta ubicación aparezca en aquí, añádala en Configuración global.
Almacenar contraseña La AWS SCT crea un almacén seguro para almacenar certificados SSL y contraseñas de la base de datos. Puede habilitar esta opción para almacenar la contraseña de la base de datos y conectarse rápidamente a la base de datos sin necesidad de introducir la contraseña.
Ruta del controlador de Db2 para z/OS Escriba la ruta al controlador que va a usar para conectarse a la base de datos de origen. Para obtener más información, consulte Instalación de controladores JDBC para AWS Schema Conversion Tool.
Si almacena la ruta al controlador en la configuración global del proyecto, la ruta del controlador no aparecerá en el cuadro de diálogo de conexión. Para obtener más información, consulte Almacenamiento de rutas a los controladores en la configuración global.
-
-
-
Seleccione Probar la conexión para verificar que AWS SCT pueda conectarse a su base de datos de origen.
-
Seleccione Conectar para conectarse a su base de datos de origen.
Privilegios para MySQL como base de datos de destino
Los privilegios necesarios para MySQL como destino se enumeran a continuación:
CREATE ON *.*
ALTER ON *.*
DROP ON *.*
INDEX ON *.*
REFERENCES ON *.*
SELECT ON *.*
CREATE VIEW ON *.*
SHOW VIEW ON *.*
TRIGGER ON *.*
CREATE ROUTINE ON *.*
ALTER ROUTINE ON *.*
EXECUTE ON *.*
SELECT ON mysql.proc
INSERT, UPDATE ON AWS_DB2ZOS_EXT.*
INSERT, UPDATE, DELETE ON AWS_DB2ZOS_EXT_DATA*.
CREATE TEMPORARY TABLES ON AWS_DB2ZOS_EXT_DATA.*
Puede usar el siguiente ejemplo de código para crear un usuario de base de datos y conceder los privilegios.
CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT SELECT ON mysql.proc TO 'user_name'; GRANT INSERT, UPDATE ON AWS_DB2ZOS_EXT.* TO 'user_name'; GRANT INSERT, UPDATE, DELETE ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name';
En el ejemplo anterior, sustituya user_name por el nombre del usuario. Por último, sustituya your_password por una contraseña segura.
Para usar Amazon RDS para MySQL como destino, establezca el parámetro log_bin_trust_function_creators en true y el parámetro character_set_server en latin1. Para configurar estos parámetros, cree un grupo de parámetros de base de datos nuevo o modifique uno existente.
Para usar Aurora MySQL como destino, establezca el parámetro log_bin_trust_function_creators en true y el parámetro character_set_server en latin1. Establezca el parámetro lower_case_table_names en true. Para configurar estos parámetros, cree un grupo de parámetros de base de datos nuevo o modifique uno existente.
Privilegios para PostgreSQL como base de datos de destino
Para utilizar PostgreSQL como destino, AWS SCT requiere el privilegio CREATE ON DATABASE. Asegúrese de conceder este privilegio a cada base de datos PostgreSQL de destino.
Para utilizar Amazon RDS para PostgreSQL como destino, AWS SCT requiere el privilegio rds_superuser.
Para usar los sinónimos públicos convertidos, cambie la ruta de búsqueda predeterminada de la base de datos a "$user", public_synonyms, public.
Puede usar el siguiente ejemplo de código para crear un usuario de base de datos y conceder los privilegios.
CREATE ROLEuser_nameLOGIN PASSWORD 'your_password'; GRANT CREATE ON DATABASEdb_nameTOuser_name; GRANT rds_superuser TOuser_name; ALTER DATABASEdb_nameSET SEARCH_PATH = "$user", public_synonyms, public;
En el ejemplo anterior, sustituya user_name por el nombre del usuario. A continuación, sustituya db_name por el nombre de su base de datos de destino. Por último, sustituya your_password por una contraseña segura.
En PostgreSQL, solo el propietario de un esquema o un superuser puede anular un esquema. El propietario puede eliminar un esquema y todos los objetos que incluye este esquema, aunque el propietario del esquema no sea propietario de algunos de los objetos.
Si utiliza distintos usuarios para convertir y aplicar diferentes esquemas a la base de datos de destino, es posible que aparezca un mensaje de error cuando AWS SCT no pueda anular un sistema. Para evitar este mensaje de error, utilice el rol de superuser.
Configuración de conversión de Db2 para z/OS a PostgreSQL
Para editar la configuración de conversión de Db2 para z/OS a PostgreSQL, seleccione Configuración y, a continuación, elija Configuración de conversión. En la lista superior, elija Db2 para z/OS y, a continuación, Db2 para z/OS - PostgreSQL o Db2 para z/OS - Amazon Aurora (compatible con PostgreSQL). AWS SCT muestra todos los ajustes disponibles para la conversión de IBM Db2 para z/OS a PostgreSQL.
La configuración de conversión de Db2 para z/OS a PostgreSQL en AWS SCT incluye opciones para lo siguiente:
-
Limitar el número de comentarios con elementos de acción en el código convertido.
En Agregar comentarios en el código convertido para los elementos de acción de la gravedad seleccionada o superior, seleccione la gravedad de los elementos de acción. AWS SCT agrega comentarios en el código convertido para los elementos de acción de la gravedad seleccionada o superior.
Por ejemplo, para minimizar el número de comentarios en el código convertido, seleccione Solo errores. Para incluir comentarios para todos los elementos de acción del código convertido, seleccione Todos los mensajes.
-
Generar nombres únicos para las restricciones de la base de datos de destino.
En PostgreSQL, todos los nombres de restricciones que utilice deben ser únicos. AWS SCT puede generar nombres únicos para las restricciones en el código convertido agregando un prefijo con el nombre de la tabla al nombre de la restricción. Para asegurarse de que AWS SCT genera nombres únicos para sus restricciones, seleccione Generar nombres únicos para las restricciones.
-
Conservar el formato de los nombres de las columnas, las expresiones y las cláusulas de las instrucciones DML en el código convertido.
AWS SCT puede conservar el diseño de los nombres de las columnas, las expresiones y las cláusulas de las instrucciones DML en la misma posición y orden que en el código fuente. Para ello, seleccione Sí en Conservar el formato de los nombres de las columnas, las expresiones y las cláusulas de las instrucciones DML.
-
Para excluir las particiones de tabla del ámbito de conversión.
AWS SCT puede omitir todas las particiones de una tabla de origen durante la conversión. Para ello, seleccione Excluir las particiones de tabla del ámbito de conversión.
-
Usar el particionado automático para las tablas particionadas por tamaño.
Para la migración de datos, AWS SCT puede particionar automáticamente todas las tablas que tengan un tamaño superior al especificado. Para usar esta opción, seleccione Forzar la partición de tablas con un tamaño superior a e introduzca el tamaño de las tablas en gigabytes. A continuación, introduzca el número de particiones. AWS SCT tiene en cuenta el tamaño del dispositivo de almacenamiento de acceso directo (DASD) de la base de datos de origen cuando activa esta opción.
AWS SCT puede determinar el número de particiones de forma automática. Para ello, seleccione Aumentar el número de particiones proporcionalmente e introduzca el número máximo de particiones.
-
Devolver conjuntos de resultados dinámicos como una matriz de valores del tipo de datos refcursor.
AWS SCT puede convertir los procedimientos de origen que devuelven conjuntos de resultados dinámicos en procedimientos que tienen una matriz de refcursors abiertos como parámetro de salida adicional. Para ello, seleccione Utilizar una matriz de recursos para devolver todos los conjuntos de resultados dinámicos.
-
Especificar el estándar que se utilizará para la conversión de valores de fecha y hora en representaciones de cadenas.
AWS SCT puede convertir valores de fecha y hora en representaciones de cadena mediante uno de los formatos industriales compatibles. Para ello, seleccione Usar representaciones en cadena de valores de fecha o Usar representaciones en cadena de valores de hora. A continuación, elija uno de los siguientes estándares.
Organización Internacional de Normalización (ISO)
Estándar europeo de IBM (EUR)
Estándar estadounidense de IBM (EE. UU.)
Estándar industrial japonés Christian Era (JIS)