Manuelle Migration zu ThingWorx 9.x: Linux
In der Upgrade-Tabelle können Sie den Upgrade-Pfad ermitteln. Die Schritte unten sind nur für die Migration gedacht. Für ein direktes Upgrade finden Sie Informationen unter Manuelles direktes Upgrade: Linux.
A.) Vor dem Upgrade 
1. Wenn Ihr Betriebssystem RHEL ist, stellen Sie sicher, dass Sie auf die unterstützte Version aktualisiert haben, bevor Sie ein Upgrade von ThingWorx durchführen. Weitere Informationen finden Sie unter Systemanforderungen.
* 
ThingWorx 9.1 wird nur unter RHEL 8.2 unterstützt.
2. Bevor Sie mit dem Upgrade beginnen, sollten Sie Folgendes durchführen:
Datenbank-Dump erstellen
Alle Daten in den Ordnern ThingworxStorage und ThingworxPlatform sichern
Ordner Tomcat_home sichern. Dies umfasst die Ordner bin, conf, lib, temp, webapps und work.
3. Wenn Sie ThingWorx Apps zusätzlich zu ThingWorx Platform verwenden:
a. Überprüfen Sie, ob die Version von ThingWorx, auf die Sie aktualisieren, von der ThingWorx Apps Version unterstützt wird. Weitere Informationen finden Sie im englischen Dokument ThingWorx Apps Upgrade Support Matrix (Support-Matrix für ThingWorx Apps Upgrade).
b. Vor dem Upgrade der Plattform müssen Sie bestimmte Schritte durchführen. Informieren Sie sich unter Upgrading ThingWorx Apps, bevor Sie mit dem nächsten Schritt fortfahren.
4. Sollten Sie Navigate installiert haben, überprüfen Sie die Kompatibilität unter ThingWorx Navigate Kompatibilitätsmatrix.
5. Rufen Sie die neueste Version von ThingWorx unter PTC Software-Downloads ab.
* 
Laden Sie den ThingWorx Inhalt herunter, und extrahieren Sie ihn in einem Ordner, für den der aktuelle Benutzer über Schreibberechtigungen verfügt. Schreibberechtigungen sind erforderlich, da die Aktualisierungsskripts während des Vorgangs einige Dateien erstellen.
6. Verifizieren Sie, dass Sie die erforderlichen Versionen von Tomcat und Java ausführen. Im Dokument Systemanforderungen finden Sie die Versionsanforderungen.
* 
Wenn Sie Ihre Java-Version aktualisieren müssen, führen Sie das ThingWorx Upgrade aus, bevor Sie Java aktualisieren.
7. Die Anforderungen hinsichtlich der Java-Optionseinstellungen für Tomcat haben sich möglicherweise zwischen Versionen geändert. Unter Java-Optionseinstellungen für Apache Tomcat können Sie verifizieren, ob Ihre Einstellungen korrekt sind.
8. Wenn Sie ein Upgrade für MSSQL, Azure SQL oder H2 ausführen, schlägt das Upgrade fehl, wenn einer der benutzerdefinierten Indexfeldwerte in den Datentabellen fehlt. Überprüfen Sie, ob alle benutzerdefinierten Indexfelder Werte aufweisen, bevor Sie den Upgrade-Prozess starten.
* 
Andernfalls schlägt das Upgrade fehl, und Sie müssen die ältere Version erneut bereitstellen (wenn Schemaaktualisierungen durchgeführt wurden, müssen Sie die Datenbank zurücksetzen/wiederherstellen) und fehlende Indexwerte hinzufügen oder die benutzerdefinierten Indizes aus der Datentabelle entfernen und dann ein Upgrade durchführen.
9. Fügen Sie den Apache Tomcat Java-OptionenFolgendes hinzu:
-Dlog4j2.formatMsgNoLookups=true
B.) Daten und Entitäten exportieren 
1. Beenden Sie Tomcat: Klicken Sie in den Tomcat-Eigenschaften auf Stop. Warten Sie darauf, dass Tomcat beendet wird.
2. Es wird dringend empfohlen, die folgenden Ordner zu sichern, bevor Sie fortfahren:
Apache Software Foundation/Tomcat x.x/webapps/Thingworx
<Tomcat-Installationsspeicherort>://ThingworxStorage
3. Starten Sie Tomcat: Klicken Sie in den Tomcat-Eigenschaften auf Start. Durch den Neustart von Tomcat wird sichergestellt, dass die Datenbank vor dem Export gelöscht wird.
4. Exportieren Sie Entitäten und Daten:
a. Klicken Sie in Composer auf Importieren/Exportieren > Exportieren > <Exportoption>.
* 
Weitere Informationen zu Exportoptionen finden Sie unter Daten, Entitäten und Erweiterungen importieren und exportieren.
b. Klicken Sie ggf. auf Daten einschließen.
Daten und Entitäten werden in ThingworxStorage\exports exportiert.
* 
Der Datenexport-Fortschritt kann im Anwendungsprotokoll überwacht werden.
5. Kopieren Sie die Daten- und Entitätsexportdateien, und verschieben Sie sie an einen sicheren Speicherort. Sie importieren diese Dateien in einem späteren Schritt.
C.) Sichern und Konfigurieren 
1. Sichern Sie die Datei validation.properties aus dem Verzeichnis /ThingworxStorage/esapi, und löschen Sie sie.
* 
Die Datei validation.properties wird beim Start von ThingWorx erstellt. Wenn Sie alle vorgenommenen Änderungen beibehalten möchten, speichern Sie die Datei außerhalb des ThingworxStorage Verzeichnisses, und fahren Sie mit dem Entfernen des Verzeichnisses esapi fort. Nach dem Start erstellt ThingWorx die Datei neu, und Sie können Ihre benutzerdefinierten regulären Ausdrücke wieder der Datei validation.properties hinzufügen, die automatisch generiert wurde.
Referenzieren Sie dieses Thema, um weitere Informationen zu erhalten.
2. Suchen Sie die Datei keystore.jks im Ordner ThingworxStorage, und verschieben Sie sie an einen sicheren Ort. Sie fügen diese Datei nach der Migration wieder zum Ordner ThingworxStorage hinzu.
3. Suchen Sie die Datei keystore-password im Ordner ThingworxPlatform, und verschieben Sie sie an einen sicheren Ort. Sie fügen diese Datei nach der Migration wieder zum Ordner ThingworxPlatform hinzu.
4. Beachten Sie alle Erweiterungen, die verwendet werden (in ThingworxStorage/extensions). Sie werden in einem späteren Schritt wieder importiert.
5. Halten Sie Tomcat an.
6. Löschen Sie den Inhalt der Ordner ThingworxStorage und ThingworxBackupStorage.
7. Löschen Sie die Datei keystore-password aus dem Ordner ThingworxPlatform.
8. Wechseln Sie zur Tomcat-Installation unter /Apache Software Foundation/Tomcat x.x/webapps, und löschen Sie die Datei Thingworx.war.
9. Löschen Sie den Ordner Thingworx unter Apache Software Foundation/Tomcat x.x/webapps.
10. Kopieren Sie die Datei Thingworx.war für diese Version, und platzieren Sie sie am folgenden Speicherort Ihrer Tomcat-Installation: /Apache Software Foundation/Tomcat x.x/webapps.
11. Aktivieren Sie den Import von Erweiterungen. Standardmäßig ist der Import von Erweiterungen für alle Benutzer deaktiviert. Fügen Sie der Datei platform-settings.json Folgendes hinzu. Fügen Sie die folgenden ExtensionPackageImportPolicy-Parameter hinzu, oder aktualisieren Sie sie auf wahr, um den Import von Erweiterungen zuzulassen.
"ExtensionPackageImportPolicy": {
"importEnabled": <true or false>,
"allowJarResources": <true or false>,
"allowJavascriptResources": <true or false>,
"allowCSSResources": <true or false>,
"allowJSONResources": <true or false>,
"allowWebAppResources": <true or false>,
"allowEntities": <true or false>,
"allowExtensibleEntities": <true or false>
},
12. Wenn Sie H2 als Datenbank mit ThingWorx verwenden, müssen Benutzername und Passwort zur Datei platform-settings.json hinzugefügt werden.
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<changeme>",
"username": "twadmin"
}
},
13. Starten Sie Tomcat.
14. Wenn Sie die alte Datei keystore.jks wiederverwenden, suchen Sie die Dateien keystore.jks und keystore-password, die Sie zuvor aus den Ordnern ThingworxStorage und ThingworxPlatform verschoben haben, und fügen Sie sie in die entsprechenden Ordner ein.
15. Um ThingWorx zu starten, wechseln Sie zu <Servername>/Thingworx in einem Web-Browser. Verwenden Sie die folgenden Anmeldeinformationen:
Anmeldename: Administrator
Passwort: <Administratorpasswort des Quellservers>
D.) Upgrade auf Java 11 
* 
Java 11 ist für ThingWorx 9.2.0 und höher erforderlich. Weitere Informationen finden Sie unter Systemvoraussetzungen.
1. Wenn Sie ein Upgrade auf Java 11 durchführen, müssen Sie die folgenden Schritte ausführen: Überspringen Sie diesen Abschnitt, wenn Java 11 bereits installiert ist.
a. Laden Sie OpenJDK oder Java 11 herunter.
b. Installieren Sie jEnv unter Linux:
i. Führen Sie den Befehl "Git Clone" für das jEnv-Repository aus:
git clone https://github.com/jenv/jenv.git ~/.jenv
ii. Fügen Sie jEnv zu $Path hinzu:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
iii. Initialisieren Sie jEnv:
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
iv. Aktualisieren Sie die in ~/.bash_profile vorgenommenen Änderungen:
source ~/.bash_profile
v. Legen Sie die Umgebungsvariable JAVA_HOME fest:
jenv enable-plugin export
vi. Starten Sie die aktuelle Shell-Sitzung neu:
exec $SHELL -l
vii. Führen Sie den folgenden Befehl aus. Die Variable JAVA_HOME wird automatisch von jEnv festgelegt, abhängig von der derzeit aktiven Java-Umgebung:
jenv doctor
c. Fügen Sie Java-Umgebungen hinzu:
i. Fügen Sie beliebige Umgebungen hinzu. Alle Java-Installationen befinden sich unter /usr/lib/jvm/. Verwenden Sie den Befehl jenv add. Beispiele unten:
jenv add /usr/lib/jvm/java-11-amazon-corretto
jenv add /usr/lib/jvm/jdk-11.0.7
ii. Überprüfen Sie alle in jEnv verfügbaren Java-Versionen:
jenv versions
iii. Legen Sie die globale Java-Umgebung fest:
jenv global <version>
iv. Legen Sie die Shell-spezifische Java-Umgebung fest:
jenv shell <version>
v. Verifizieren Sie die durch jEnv festgelegte aktuelle Version:
jenv versions
vi. Aktualisieren Sie den Pfad in den Java-Einstellungen für Tomcat.
vii. Starten Sie Tomcat neu.
E.) Importieren von Daten und Entitäten 
1. Verschieben Sie die Exportdateien zurück in ThingworxStorage\exports.
2. Falls erforderlich, rufen Sie die aktuellen Versionen der Erweiterungen ab, und importieren Sie sie. Sie müssen die 9.x-Versionen der Erweiterungen importieren. Unterstützte PTC Erweiterungen sind auf der ThingWorx Foundation Downloads-Seite verfügbar.
3. Wenn Sie ein Upgrade von 8.x auf 9.x durchführen und Java-Erweiterungen besitzen, finden Sie Informationen unter Java-Erweiterungen von 8.x zu 9.x migrieren.
4. Importieren Sie Entitäten und Daten.
* 
Wenn Sie ein Upgrade auf ThingWorx 9.2 oder höher durchführen, müssen Sie vor dem Importieren der Datei entities.xml die Datei principals.xml importieren. Sollten Sie dies nicht tun, so gehen alle Berechtigungen verloren. Weitere Informationen finden Sie unter Entitäten in 9.2 und höher importieren.
a. Klicken Sie in Composer auf Importieren/Exportieren > Aus Datei.
b. Wählen Sie die zu importieren Daten und/oder Entitäten aus.
* 
Aktivieren Sie das Kontrollkästchen Untersysteme einschließen, wenn Sie die Untersystemeinstellungen der importierten Entitäten einschließen möchten (beispielsweise, wenn Sie von einer Testumgebung in die Produktion wechseln).
* 
Der folgende Fehler tritt im Anwendungsprotokoll für MSSQL-Upgrades auf und wird angezeigt, wenn Dienste, Eigenschaften oder Ereignisnamen mit mehr als 256 Zeichen, für die Laufzeit-Berechtigungen konfiguriert sind, migriert wurden. Stellen Sie sicher, dass die Dienste, Eigenschaften und Ereignisnamen weniger als 256 Zeichen aufweisen, um diesen Fehler zu beheben.
Error occurred while accessing the data provider
c. Prüfen Sie die Anwendungsprotokolle, um zu verifizieren, dass keine Warnungen bezüglich fehlender Prinzipale vorhanden sind. Sollten Fehler vorhanden sein, siehe Entitäten in 9.2 und höher importieren für die Problembehandlung.
F.) Upgrade für zusätzliche Komponenten durchführen 
Wenn Sie Integrations-Konnektoren verwenden, müssen Sie die neueste Version von Integration Runtime abrufen und installieren. Weitere Informationen dazu finden Sie unter Anfangseinrichtung des Diensts "Integration Runtime" für Integrations-Konnektoren.
Wenn Sie ThingWorx Analytics als Teil der Lösung verwenden, stehen zwei Installationsprogramme zur Verfügung, um Komponenten-Upgrades zu verarbeiten:
Analytics Server – Installiert Analytics Server und Analytics Extension oder führt ein Upgrade durch
Platform Analytics – Installiert deskriptive Analyse und Eigenschaftstransformation oder führt ein Upgrade durch
Weitere Informationen zu den Upgrade-Verfahren finden Sie unter ThingWorx Analytics Upgrade, Änderung, Reparatur.
War dies hilfreich?