Getting Started > Getting Started with Windchill+ Data Migration > WBM Workflow-Prozess und WBM Phasen
WBM Workflow-Prozess und WBM Phasen
In diesem Thema werden der Windchill Bulk Migrator (WBM) Workflow-Prozess und verschiedene WBM-Phasen erläutert.
WBM Workflow-Prozess
Das folgende Workflow-Diagramm veranschaulicht die Ausführung der WBM Migration:
Lokale Staging-Datenbank
Die Datenmigration ist in der Regel ein iterativer Prozess. In der ersten Phase müssen meist Dateien und Metadaten aus einem Quellsystem extrahiert werden. Für die Strukturierung der Migrationsmetadaten ist eine Staging-Datenbank erforderlich. Es wird davon ausgegangen, dass eine lokale Staging-Datenbank verwendet wird, um mehrere Datentransformationen auszuschließen. Weitere Informationen finden Sie unter https://support.ptc.com.
* 
Die Datenbank muss entsprechend Windchill Versionsanforderungen eine Oracle-Datenbank sein.
Die Datenbankstruktur muss den Windchill WBM Staging-Datenbankanforderungen entsprechen.
Windchill WBM Staging-Datenbank erstellen
Für diesen Vorgang wird angenommen, dass Sie über eine vorhandene Entwicklungsumgebung verfügen.
* 
Stellen Sie sicher, dass WBM auf Ihrem System installiert ist.
1. Beginnen Sie in Ihrer Entwicklungsumgebung im Verzeichnis WT_HOME.
2. Führen Sie den folgenden Befehl aus:
WT_HOME/bin/wbmgen
Dies generiert die Staging-Struktur entsprechend dem Modulsatz und der Windchill Konfiguration und bereitet sie vor.
3. Verwenden Sie das Skript create_user.sql, um einen neuen Schemabenutzer in einer Oracle-Datenbank zu erstellen. Führen Sie folgende Schritte aus:
a. Melden Sie sich bei der Oracle-Datenbank mit einem Konto mit Administratorrechten an, z.B. einem Benutzer mit der Datenbankadministratorrolle oder dem Benutzer SYSTEM.
b. Führen Sie das folgende Skript aus, um einen Staging-Benutzer zu erstellen:
@db/sql(3)/create_user.sql
c. Melden Sie sich mit dem zuvor erstellten Staging-Benutzer bei der Oracle-Datenbank an.
d. Führen Sie das folgende Skript aus, um das Staging-Schema zu erstellen:
@db/sql(3)/wbm/create_staging_schema.sql
e. Führen Sie das folgende Skript aus, um Prüfungstabellen zu erstellen:
@@db/sql(3)/wbm/create_audit_schema.sql
Weitere Informationen finden Sie im Thema "Configuring the Loading Infrastructure and Object Loaders" im englischen Handbuch "Windchill Bulk Migrator Installation and Usage Guide" (Windchill Bulk Migrator Installations- und Verwendungshandbuch).
Datenbankausgabe mit Oracle Data Pump Export (expdp) exportieren
Oracle Data Pump, häufig als expdp (Export Data Pump) und impdpm (Import Data Pump) bezeichnet, ist ein Satz von Befehlszeilendienstprogrammen, die von Oracle Database bereitgestellt werden, um Daten- und Metadatenoperationen in Hochgeschwindigkeit auszuführen. Diese Dienstprogramme werden für Aufgaben wie Datenexport, Datenimport und Datenmigration verwendet. Weitere Informationen finden Sie unter .Azure Storage-Konto
Im folgenden Abschnitt wird erläutert, wie Sie eine Ausgabedatei mit Oracle Data Pump erstellen und die Daten mit expdp exportieren.
Ausgabedatei mit Oracle Data Pump erstellen
Führen Sie die folgenden Schritte aus, um eine Ausgabedatei mit Oracle Data Pump zu erstellen:
* 
Die Dumps werden aus dem Windchill System extrahiert. Stellen Sie sicher, dass Windchill während des Extraktionsprozesses heruntergefahren ist.
1. Öffnen Sie die Windchill Shell oder die Eingabeaufforderung in Windows oder Linux, und führen Sie den folgenden Befehl aus, um ein Verzeichnis auf Ihrem System zu erstellen, in dem die Data Pump-Dateien gespeichert werden:
mkdir <directory name>
Beispiel:
mkdir D:\datapump
* 
Stellen Sie sicher, dass ausreichend Speicherplatz zum Speichern des Windchill Datenbankbenutzer-Schemas vorhanden ist.
2. Melden Sie sich über die Windchill Shell oder die Eingabeaufforderung bei sqlplus an, und führen Sie den folgenden Befehl aus, um ein logisches Verzeichnisobjekt in Oracle zu erstellen:
sql> create directory EXP_DIR as '<path to operating system directory created previous step>';
* 
Dieses Objekt sollte auf das im vorherigen Schritt erstellte physische Verzeichnis verweisen.
Beispiel:
sql> create directory EXP_DIR as 'D:\datapump';
3. Führen Sie in derselben sqlplus-Sitzung den folgenden Befehl aus, um dem Benutzer die Berechtigung zum Exportieren des logischen Verzeichnisobjekts zu gewähren:
sql> grant all on directory EXP_DIR to <user performing the export dump>;
Beispiel:
sql> grant all on directory EXP_DIR to pdmadmin;
* 
Die Datenausgabe-Importe können immer niedriger kompatible Versionen lesen.
Für Windchill 11.0 M030 mit Oracle 11g Unterstützung ist der Dump kompatibel für den Import unter Oracle 19c.
4. Führen Sie den folgenden Befehl aus, um den Windchill Datenbankbenutzer zu exportieren:
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
* 
Geben Sie in <staging db user> den Benutzernamen für die lokale On-Premise-Staging-Datenbank an, die für die Vorbereitung der WBM Datenmigration verwendet wird.
Geben Sie in <size> die gewünschte Größe jeder erstellten DMP-Datei an.
Der Export muss von einem privilegierten Benutzer (z.B. vom einem Systembenutzer) vorgenommen werden, um Schemainformationen in die Ausgabedatei zu schreiben.
5. Erstellen Sie eine LST-Datei mit Informationen zur Größe des Tabellenbereichs, indem Sie das angegebene SQL-Skript ausführen. Die Ausgabedatei ${PDB_NAME?}.lst muss PTC zur Verfügung gestellt werden.
Voraussetzungen:
Stellen Sie sicher, dass die Staging-Datenbank mithilfe von mit Windchill kompatiblen Skripts erstellt wird.
Stellen Sie vor dem Ausführen des SQL-Skripts sicher, dass Sie über die erforderlichen Berechtigungen verfügen. Beispielsweise haben Staging-Datenbankbenutzer das Recht, Abfragen auszuführen.
SQL-Skript:
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. Erstellen Sie eine MDT-Datei mit Datenbank-Metadateninformationen, indem Sie das angegebene SQL-Skript ausführen. Die Ausgabedatei ${PDB_NAME?}.mdt muss PTC zur Verfügung gestellt werden.
Voraussetzungen:
Stellen Sie sicher, dass die Staging-Datenbank mithilfe von mit Windchill kompatiblen Skripts erstellt wird.
Stellen Sie vor dem Ausführen des SQL-Skripts sicher, dass Sie über die notwendigen Berechtigungen verfügen. Benutzer der Staging-Datenbank müssen z.B. über die Rechte verfügen, alle relevanten Datenbankansichten abzufragen, oder Sie können ein Konto mit DBA- oder SELECT_CATALOG_ROLE-Berechtigungen verwenden.
SQL-Skript (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
Bash-Skript zum Starten SQL-Skripts (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. Laden Sie die Speicherabbilddateien, Tabellenbereichsdetails (LST-Datei) und Metadatendatei (MDT-Datei) in das Verzeichnis <Kunden-Speicherkonto>/container data/database hoch.
Verwendung von Oracle Data Pump Export (expdp)
Der Befehl expdp wird verwendet, um Daten und Metadaten aus einer Oracle-Datenbank in eine Binärdatei zu exportieren, die für verschiedene Zwecke verwendet werden kann, z.B. Sicherung, Datenmigration oder Übertragung von Daten zwischen Datenbanken. Führen Sie die folgenden Schritte aus, um expdp zu verwenden:
1. Öffnen Sie die Eingabeaufforderung oder das Fenster "Terminal" auf dem Rechner, auf dem die Oracle-Datenbank installiert ist.
2. Melden Sie sich mit einem entsprechend berechtigten Konto bei der Oracle-Datenbank an. Beispielsweise ein Benutzer mit der Datenbankadministratorrolle oder der Systembenutzer.
sqlplus username/password
3. Sobald Sie mit der Datenbank verbunden sind, können Sie den Befehl expdp verwenden, um Daten zu exportieren. Die grundlegende Syntax lautet folgendermaßen:
expdp username/password@database_name DIRECTORY=directory_name DUMPFILE=dumpfile_name [other options]
wobei gilt:
username/password – Ihre Oracle-Datenbank-Anmeldeinformationen
database_name – der Name der Datenbank, aus der Daten exportiert werden sollen
DIRECTORY – das Verzeichnisobjekt in der Datenbank, in das die Exportdatei geschrieben wird
DUMPFILE – der Name der Exportausgabedatei
4. Sie können verschiedene Optionen einschließen, um den Exportprozess an Ihre Anforderungen anzupassen. Hier sind einige häufig verwendete Optionen:
TABLES: Exportiert bestimmte Tabellen oder Schemata.
SCHEMAS: Exportiert Daten aus bestimmten Schemata.
INCLUDE: Gibt an, was in den Export eingeschlossen werden soll (z.B. Tabellen, Indizes, Beschränkungen).
EXCLUDE: Gibt an, was vom Export ausgeschlossen werden soll.
PARALLEL: Führt den Export parallel aus, um die Leistung zu verbessern.
COMPRESSION: Aktiviert Datenkomprimierung während des Exports.
LOGFILE: Gibt eine Protokolldatei zum Aufzeichnen exportbezogener Informationen an.
Beispiel: expdp HR/password@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=hr_export.dmp SCHEMAS=HR
5. Drücken Sie die EINGABETASTE, um den Befehl expdp auszuführen. Je nach Größe und Komplexität des Exports kann es einige Zeit dauern, bis der Prozess abgeschlossen ist.
6. Sobald der Export abgeschlossen ist, wird eine binäre Ausgabedatei im angegebenen Verzeichnis angezeigt.
Verwendung von Oracle Data Pump Import (impdp)
Der Befehl impdp wird verwendet, um Daten und Metadaten aus einer binären Speicherabbilddatei in eine Oracle-Datenbank zu importieren, die für verschiedene Zwecke verwendet werden kann, z.B. Sicherung, Datenmigration oder Übertragung von Daten zwischen Datenbanken. Sie können die vollständigen Daten und Metadaten auf einmal importieren oder die Daten und Metadaten inkrementell laden. Führen Sie die folgenden Schritte aus, um impdp zu verwenden:
1. Öffnen Sie die Eingabeaufforderung oder das Fenster "Terminal" auf dem Rechner, auf dem die Oracle-Datenbank installiert ist.
2. Melden Sie sich mit einem entsprechend berechtigten Konto bei der Oracle-Datenbank an. Beispielsweise ein Benutzer mit der Datenbankadministratorrolle oder der Systembenutzer.
sqlplus username/password
3. Sobald Sie mit der Datenbank verbunden sind, können Sie den Befehl impdp verwenden, um Daten zu importieren. Die grundlegende Syntax lautet folgendermaßen:
impdp username/password@database_name DIRECTORY=directory_name DUMPFILE=dumpfile_name [other options]
wobei gilt:
username/password – Ihre Oracle-Datenbank-Anmeldeinformationen
database_name – der Name der Datenbank, aus der Daten importiert werden sollen
DIRECTORY – das Verzeichnisobjekt in der Datenbank, in das die Importdatei geschrieben wird
DUMPFILE – der Name der Importausgabedatei
4. Sie können verschiedene Optionen einschließen, um den Importprozess an Ihre Anforderungen anzupassen. Hier sind einige häufig verwendete Optionen:
TABLES: Importiert bestimmte Tabellen oder Schemata.
SCHEMAS: Importiert Daten aus bestimmten Schemata.
INCLUDE: Gibt an, was in den Import eingeschlossen werden soll (z.B. Tabellen, Indizes, Beschränkungen).
EXCLUDE: Gibt an, was vom Import ausgeschlossen werden soll.
PARALLEL: Führt den Import parallel aus, um die Leistung zu verbessern.
COMPRESSION: Aktiviert Datenkomprimierung während des Imports.
LOGFILE: Gibt eine Protokolldatei zum Aufzeichnen importbezogener Informationen an.
Beispiel: impdp HR/password@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=hr_export.dmp SCHEMAS=HR
5. Drücken Sie die EINGABETASTE, um den Befehl impdp auszuführen. Je nach Größe und Komplexität des Imports kann es einige Zeit dauern, bis der Prozess abgeschlossen ist.
6. Sobald der Import abgeschlossen ist, wird eine binäre Ausgabedatei im angegebenen Verzeichnis angezeigt.
War dies hilfreich?