Proceso de flujo de trabajo y etapas de WBM
Este tema explica el proceso de flujo de trabajo de Windchill Bulk Migrator (WBM) y las diversas etapas de WBM.
Proceso de flujo de trabajo de WBM
En el siguiente diagrama de flujo de trabajo se muestra la ejecución de la migración de WBM:
Base de datos de carga local
La migración de datos suele ser un proceso iterativo. La primera fase suele implicar la extracción de ficheros y metadatos de un sistema de origen. Para estructurar los metadatos de migración, se requiere una base de datos de carga. Para eliminar varias transformaciones de datos, se supone que se utiliza una base de datos de carga local. Para obtener más información, consulte
https://support.ptc.com.
| • La base de datos debe ser Oracle según los requisitos de la versión de Windchill. • La estructura de la base de datos debe cumplir los requisitos de base de datos de carga de WBM de Windchill. |
Creación de una base de datos de carga de WBM de Windchill
En este procedimiento se supone que el usuario dispone de un entorno de desarrollo existente.
| Asegúrese de que WBM esté instalado en el sistema. |
1. En el entorno de desarrollo, empiece desde el directorio WT_HOME.
2. Ejecute el siguiente comando:
WT_HOME/bin/wbmgen
De este modo, se genera y prepara la estructura de carga según el módulo definido y la configuración de Windchill.
3. Para crear un nuevo usuario de esquema en una base de datos Oracle, utilice el script create_user.sql. Siga estos pasos:
a. Inicie sesión en la base de datos Oracle mediante una cuenta con privilegios administrativos, como un usuario con el rol DBA o el usuario SYSTEM.
b. Ejecute el siguiente script para crear un usuario de carga:
@db/sql(3)/create_user.sql
c. Inicie sesión en la base de datos Oracle con el usuario de carga creado anteriormente.
d. Ejecute el siguiente script para crear el esquema de carga:
@db/sql(3)/wbm/create_staging_schema.sql
e. Ejecute el siguiente script para crear tablas de auditoría:
@@db/sql(3)/wbm/create_audit_schema.sql
Para obtener más información, consulte el tema Configuring the Loading Infrastructure and Object loaders en la WBM Install and Usage Guide.
Exportación del volcado de base de datos con Oracle Data Pump Export (expdp)
Oracle Data Pump, a menudo denominada expdp (bomba de datos de exportación) e impdpm (bomba de datos de importación), es un conjunto de utilidades de línea de comandos proporcionadas por la base de datos Oracle para realizar operaciones de datos y metadatos de alta velocidad. Estas utilidades se utilizan para tareas como, por ejemplo, la exportación, importación y migración de datos. Para obtener más información, consulte
Cuenta de Azure Storage.
En la siguiente sección se explica cómo crear un fichero de volcado mediante Oracle Data Pump y exportar los datos mediante expdp.
Creación de un fichero de volcado mediante Oracle Data Pump
Siga estos pasos para crear un fichero de volcado mediante Oracle Data Pump:
| Los volcados se extraen del sistema Windchill. Asegúrese de que Windchill esté cerrado durante el proceso de extracción. |
1. Abra el shell de Windchill o el símbolo del sistema de Windows o Linux y ejecute el siguiente comando para crear un directorio en el sistema y almacenar los ficheros de volcado de datos:
mkdir <directory name>
Por ejemplo:
mkdir D:\datapump
| Asegúrese de disponer de suficiente espacio para almacenar el esquema de usuario de la base de datos de Windchill. |
2. Inicie sesión en sqlplus desde el shell de Windchill o el símbolo del sistema y ejecute el siguiente comando para crear un objeto de directorio lógico en Oracle:
sql> create directory EXP_DIR as '<path to operating system directory created previous step>';
| Este objeto debe apuntar al directorio físico creado en el paso anterior. |
Por ejemplo:
sql> create directory EXP_DIR as 'D:\datapump';
3. En la misma sesión de sqlplus, ejecute el siguiente comando para conceder al usuario permiso para exportar el objeto de directorio lógico:
sql> grant all on directory EXP_DIR to <user performing the export dump>;
Por ejemplo:
sql> grant all on directory EXP_DIR to pdmadmin;
| • Las importaciones de bombas de datos siempre pueden leer versiones compatibles con otras anteriores. • En el caso de Windchill 11.0 M030 soportado con Oracle 11g, el volcado es compatible para la importación de Oracle 19c. |
4. Ejecute el siguiente comando para exportar el usuario de base de datos de Windchill:
expdp userid=system/<password> directory=EXP_DIR
dumpfile=<dump_file_name>%u.dmp logfile=<log_file_name>.log
schemas=<staging db user> filesize=<size>M
| • En <staging db user>, se especifica el nombre de usuario de la base de datos de carga local utilizada para preparar la migración de datos de WBM. • En <size>, especifique el tamaño deseado de cada fichero DMP creado. • La exportación la debe realizar un usuario con privilegios, como un usuario de sistema, para incluir información de esquema en el fichero de volcado. |
5. Cree un fichero LST con información sobre el tamaño del espacio de tabla mediante la ejecución del script SQL proporcionado. El fichero de salida ${PDB_NAME?}.lst debe proporcionarse a PTC.
Requisitos previos:
◦ Asegúrese de que la base de datos de carga se cree usando scripts compatibles con Windchill.
◦ Antes de ejecutar el script SQL, asegúrese de disponer de los permisos necesarios. Por ejemplo, los usuarios de bases de datos de carga deben tener derecho a realizar consultas.
Script SQL:
read -p "Please, provide PDB_NAME: " PDB_NAME
export PDB_NAME
export LST_FILE_NAME=${PDB_NAME?}.lst
echo "
SET FEEDBACK off;
SET HEADING off;
SET TRIMSPOOL ON
WHENEVER SQLERROR EXIT SQL.SQLCODE;
ALTER SESSION SET container=${PDB_NAME?};
SPOOL ${LST_FILE_NAME?};
SELECT tablespace_name || '*' || ceil((USED_SPACE*8192*1.2)/(34359738368)) files_required
FROM dba_tablespace_usage_metrics
WHERE tablespace_name NOT IN ('TEMP','SYSTEM','SYSAUX','UNDOTBS1');
" | sqlplus -s / as sysdba
ls -l ${LST_FILE_NAME?}
6. Cargue los ficheros de volcado y los detalles del espacio de tabla (fichero LST) en el directorio <cuenta de almacenamiento del cliente>/container data/database.
Uso de Oracle Data Pump Export (expdp)
El comando expdp se utiliza para exportar datos y metadatos de una base de datos Oracle a un fichero binario, que se puede utilizar para distintos fines, como copia de seguridad, migración de datos o transferencia de datos entre bases de datos. Siga estos pasos para utilizar expdp:
1. Abra la ventana de símbolo del sistema o de terminal en la máquina donde está instalada la base de datos Oracle.
2. Inicie sesión en la base de datos Oracle con una cuenta con privilegios. Por ejemplo, un usuario con el rol DBA o el usuario del sistema.
sqlplus username/password
3. Una vez conectado a la base de datos, se puede utilizar el comando expdp para exportar datos. La sintaxis básica es la siguiente:
expdp username/password@database_name DIRECTORY=directory_name DUMPFILE=dumpfile_name [other options]
donde,
◦ username/password: sus credenciales de la base de datos Oracle.
◦ database_name: el nombre de la base de datos desde la que desea exportar los datos.
◦ DIRECTORY: permite especificar el objeto de directorio de la base de datos donde se graba el fichero de exportación.
◦ DUMPFILE: permite especificar el nombre del fichero de volcado de exportación.
4. Se pueden incluir varias opciones para personalizar el proceso de exportación en función de los requisitos. Estas son algunas de las opciones más comunes:
◦ TABLES: permite exportar tablas o esquemas específicos.
◦ SCHEMAS: permite exportar datos de esquemas específicos.
◦ INCLUDE: permite especificar lo que se debe incluir en la exportación (p. ej., tablas, índices, restricciones).
◦ EXCLUDE: permite especificar lo que se debe excluir de la exportación.
◦ PARALLEL: permite realizar la exportación en paralelo para mejorar el rendimiento.
◦ COMPRESSION: permite activar la compresión de datos durante la exportación.
◦ LOGFILE: permite especificar un fichero de registro para registrar la información relacionada con la exportación.
Por ejemplo,expdp HR/password@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=hr_export.dmp SCHEMAS=HR
5. Pulse Intro para ejecutar el comando expdp. Según el tamaño y la complejidad de la exportación, puede tardar cierto tiempo en completarse el proceso.
6. Una vez finalizada la exportación, puede ver un fichero de volcado binario en el directorio especificado.
Pasos de migración de contenido después de cargar el contenido
1. Cargue los ficheros de contenido en el contenedor de Azure Blob Storage de WBM.
<wbm blob storage container>/files
2. Desde allí se puede utilizar una verificación de contenido de carga previa. El almacenamiento de blob de WBM se monta en el Windchill Application Server que ejecuta WBM.
3. La carga de metadatos de contenido debe finalizar.
4. El fichero de asignación de contenido se genera y se carga en la cuenta de almacenamiento.
5. El fichero de asignación de contenido se debe utilizar para generar un script de transferencia de ficheros desde <wbm blob storage container>/files hasta <vault blob storage container>.
6. En el fichero de asignación de contenido, las columnas SRCFILEPATH, SRCFILENAME, TARGETFILEPATH y TARGETFILENAME se pueden recibir y utilizar para crear un script de copia.
Por ejemplo,
azcopy cp 'https://ptccustomerblobstorage.blob.core.windows.net/'%SRCFILEPATH%'/'%SRCFILENAME%' 'https://ptccustomerblobstorage.blob.core.windows.net/'%TARGETFILEPATH%'/'%TARGETFILENAME%'" --exclude-path="MOUNT_VALIDATION_DATA" --recursive=true'
Un alto grado de ejecución en paralelo aumenta el rendimiento del traslado de los ficheros.
Por ejemplo, el código que se va a adaptar mediante ant es el siguiente:
<foreach list="${contentmapfile}" delimiter="${,}" target="copy"
param="SRCFILEPATH, SRCFILENAME, TARGETFILEPATH, TARGETFILENAME"
parallel="Yes" maxThreads="32"/>
<target name="copy">
<exec failonerror="true" executable="azcopy">
<arg value="cp"/>
<arg value="https://ptccustomerblobstorage.blob.core.windows.net/${SRCFILEPATH}/${SRCFILENAME}"/>
<arg value="https://ptccustomerblobstorage.blob.core.windows.net/${TARGETFILEPATH}/${TARGETFILENAME}"/>
<arg value="--exclude-path=MOUNT_VALIDATION_DATA"/>
<arg value=" --recursive=true"/>
</exec>
</target>