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 que contenga 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. Cree un fichero MDT que contenga información sobre los metadatos de la base de datos mediante la ejecución del script SQL proporcionado. El fichero de salida ${PDB_NAME?}.mdt 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 provisionales deben tener derechos para consultar todas las vistas de base de datos pertinentes, o bien se puede utilizar una cuenta con privilegios DBA o SELECT_CATALOG_ROLE.
Script SQL (db_metadata.sql):
SET verify OFF echo OFF feedback OFF heading OFF trimspool ON pagesize 0
WHENEVER SQLERROR EXIT SQL.SQLCODE;
ALTER SESSION SET container=&1;
SPOOL &1..mdt
SELECT 'DB:NAME:'||sys_context('USERENV','DB_NAME') FROM dual;
SELECT 'DB:VERSION:' || REGEXP_SUBSTR(version_full, '^\d+\.\d+') FROM v$instance;
SELECT 'DB:COMPATIBLE:' || value FROM database_compatible_level;
SELECT 'DB:TIMEZONE_VERSION:' || version FROM v$timezone_file;
SELECT 'DB:TS_TOTAL_SIZE_GB:' || (SELECT CEIL(SUM(bytes)/1024/1024/1024) FROM (SELECT tablespace_name, bytes, maxbytes FROM dba_data_files
UNION ALL
SELECT tablespace_name, bytes, maxbytes FROM dba_temp_files))
FROM dual;
SELECT 'NLS:CHARACTERSET:' || value FROM nls_database_parameters WHERE UPPER(parameter) = 'NLS_CHARACTERSET';
SELECT 'NLS:NCHAR_CHARACTERSET:' || value FROM nls_database_parameters WHERE UPPER(parameter) = 'NLS_NCHAR_CHARACTERSET';
SELECT 'SCHEMA:NAME:'||UPPER('&2') FROM dual;
SELECT 'SCHEMA:TOTAL_OBJECT_COUNT:' || (SELECT COUNT(*) FROM dba_objects WHERE UPPER(owner)=UPPER('&2')) FROM dual;
SELECT 'SCHEMA:DATA_SIZE_GB:' || (SELECT TO_CHAR(CEIL(SUM(bytes)/1024/1024/1024)) FROM dba_segments WHERE owner=UPPER('&2') AND segment_type NOT LIKE '%INDEX%') FROM dual;
SELECT 'SCHEMA:TOTAL_SIZE_GB:' || (SELECT TO_CHAR(CEIL(SUM(bytes)/1024/1024/1024)) FROM dba_segments WHERE owner=UPPER('&2')) FROM dual;
SELECT 'EXPORT:DB_REQUIRED_SIZE_GB:' || (SELECT TO_CHAR(CEIL(SUM(bytes)/1024/1024/1024)) FROM dba_segments WHERE UPPER(owner) = UPPER('&2')) FROM dual;
PROMPT # Tablespace Summary:
PROMPT # Format: TS:<TYPE>:<TABLESPACE_NAME>:<USED_GB>:<ALLOCATED_GB>:<FILE_COUNT>:<MAX_GB>
SELECT 'TS:' || CASE
WHEN ts.tablespace_name IN ('SYSTEM', 'SYSAUX') THEN ts.tablespace_name
WHEN ts.contents = 'UNDO' THEN 'UNDO'
WHEN ts.contents = 'TEMPORARY' THEN 'TEMPORARY'
ELSE 'USER'
END || ':' ||
ts.tablespace_name || ':' ||
CEIL(NVL(seg.segment_size_gb, 0)) || ':' ||
CEIL(df.total_size_gb) || ':' ||
df.file_count || ':' ||
CEIL(df.max_size_gb)
FROM (
SELECT tablespace_name,
COUNT(*) AS file_count,
CEIL(SUM(bytes)/1024/1024/1024) AS total_size_gb,
CEIL(SUM(DECODE(maxbytes, 0, bytes, maxbytes))/1024/1024/1024) AS max_size_gb
FROM (
SELECT tablespace_name, bytes, maxbytes FROM dba_data_files
UNION ALL
SELECT tablespace_name, bytes, maxbytes FROM dba_temp_files
)
GROUP BY tablespace_name
) df
LEFT JOIN (
SELECT tablespace_name,
CEIL(SUM(bytes)/1024/1024/1024) AS segment_size_gb
FROM dba_segments
GROUP BY tablespace_name
) seg
ON df.tablespace_name = seg.tablespace_name
JOIN dba_tablespaces ts
ON df.tablespace_name = ts.tablespace_name
ORDER BY 1
/
EXIT
Script Bash para iniciar script SQL (db_metadata.sh):
read -p "Please, provide PDB_NAME: " PDB_NAME
read -p "Please, provide Staging DB User Name: " SCHEMA_NAME
export MDT_FILE_NAME=${PDB_NAME?}.mdt
sqlplus -s / as sysdba @db_metadata.sql "${PDB_NAME?}" "${SCHEMA_NAME?}"
ls -l ${MDT_FILE_NAME?}
7. Cargue los ficheros de volcado, los detalles del espacio de tabla (fichero LST) y el fichero de metadatos (fichero MDT) en el directorio <customer storage account>/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.
Uso de Oracle Data Pump Import (impdp)
El comando impdp se utiliza para importar datos y metadatos de un fichero de volcado binario en una base de datos Oracle, que se puede utilizar para distintos fines, como copia de seguridad, migración de datos o transferencia de datos entre bases de datos. Se pueden importar los datos y metadatos completos a la vez o cargar los datos y metadatos de forma incremental. Siga estos pasos para utilizar impdp:
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 impdp para importar datos. La sintaxis básica es la siguiente:
impdp 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 importar los datos.
◦ DIRECTORY: permite especificar el objeto de directorio de la base de datos donde se graba el fichero de importación.
◦ DUMPFILE: permite especificar el nombre del fichero de volcado de importación.
4. Se pueden incluir varias opciones para personalizar el proceso de importación en función de sus necesidades. Estas son algunas de las opciones más comunes:
◦ TABLES: permite importar tablas o esquemas específicos.
◦ SCHEMAS: permite importar datos de esquemas específicos.
◦ INCLUDE: permite especificar lo que se debe incluir en la importación (p. ej., tablas, índices, restricciones).
◦ EXCLUDE: permite especificar lo que se debe excluir de la importación.
◦ PARALLEL: permite realizar la importación en paralelo para mejorar el rendimiento.
◦ COMPRESSION: permite activar la compresión de datos durante la importación.
◦ LOGFILE: permite especificar un fichero de registro para registrar la información relacionada con la importación.
Por ejemplo,impdp HR/password@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=hr_export.dmp SCHEMAS=HR
5. Pulse Intro para ejecutar el comando impdp. Según el tamaño y la complejidad de la importación, puede tardar cierto tiempo en completarse el proceso.
6. Una vez finalizada la importación, puede ver un fichero de volcado binario en el directorio especificado.