|
Al momento non è disponibile alcun supporto per gli script di migrazione del database big integer/timezone per H2. Questi script di migrazione sono descritti dettagliatamente per altri database supportati. Se in presenza di un database H2 esistente si richiede la correzione del fuso orario, è necessario eseguire la migrazione a un database supportato, ad esempio PostgreSQL o MS SQL. Se l'applicazione funziona senza la correzione del fuso orario, è possibile eseguire l'aggiornamento alla versione più recente di ThingWorx su H2. La sezione Impostare il fuso orario del server ThingWorx verrà ignorata come indicato.
|
ThingWorx 9.1 è supportato solo in RHEL 8.2. |
Scaricare ed estrarre il contenuto di ThingWorx in una cartella in cui l'utente corrente dispone dei permessi di scrittura. I permessi di scrittura sono necessari perché gli script di aggiornamento creano alcuni file durante il processo. |
Se è necessario aggiornare la versione di Java, eseguire l'aggiornamento di ThingWorx prima di aggiornare Java. |
In caso contrario, l'aggiornamento non riesce e sarà necessario distribuire nuovamente la versione precedente (se sono stati apportati aggiornamenti allo schema, è necessario eseguire il rollback del database o ripristinarlo) e aggiungere i valori di indice mancanti o rimuovere gli indici personalizzati dalla tabella dati prima di eseguire l'aggiornamento. |
I passi di questa sezione sono necessari solo se si esegue l'aggiornamento di ThingWorx con InfluxDB 1.7.x (per ThingWorx 8.5.x o 9.0.x) a InfluxDB 1.8.x (per ThingWorx 9.1.x o 9.2.x). |
Il file validation.properties viene creato all'avvio di ThingWorx. Se si desidera mantenere le modifiche apportate, salvare il file all'esterno della directory ThingworxStorage, quindi procedere con la rimozione della directory esapi. All'avvio ThingWorx ricrea il file. È possibile aggiungere le espressioni regolari personalizzate di nuovo nel file validation.properties generato automaticamente. Per ulteriori informazioni, fare riferimento a questo argomento. |
Solo il passo 1 di questa sezione è richiesto per tutti gli aggiornamenti. Se si esegue l'aggiornamento da ThingWorx 8.4.x o 8.5.x --> 9.0.x, 9.1.x o 9.2.x, attenersi alla procedura descritta nella parte rimanente della sezione. Ignorare i passi nella parte rimanente della sezione se si esegue l'aggiornamento da ThingWorx 9.0.x o 9.1.x --> 9.1.x o 9.2.x |
Non è necessario eseguire lo script thingworxPostgresSchemaUpdate9.0-to-9.1.sh poiché nella versione 9.1 non sono presenti aggiornamenti dello schema. Anche se per completezza lo script è incluso nella cartella update, è vuoto ed è destinato solo agli utenti con processi di aggiornamento automatizzati. |
I passi della parte rimanente di questa sezione devono essere eseguiti solo se si esegue l'aggiornamento da ThingWorx 8.4.x o 8.5.x a 9.0.x, 9.1.x o 9.2.x. Devono invece essere ignorati se si esegue l'aggiornamento da ThingWorx 9.0.x a 9.1.x o 9.2.x. |
Se si sta già eseguendo ThingWorx in UTC, è comunque necessario effettuare la migrazione per le modifiche dello script big integer, ma è possibile fornire il valore di UTC a entrambi i parametri sourceTZ e targetTZ (disponibili in alcuni script nei passi di seguito). |
Quando si specificano i fusi orari per gli script di migrazione dei dati riportati di seguito, i nomi di fuso orario specificati devono corrispondere esattamente a uno dei nomi formali visualizzati dallo script pg_timezone_names(). |
Prima di eseguire lo script, aprirlo in un editor di testo per verificare che i relativi valori di ambiente di default (ad esempio server, porta, fusi orari e così via) siano corretti e sufficienti per il proprio ambiente. Se all'interno dello script sono definiti valori di default che non sembrano adatti al proprio ambiente, sostituire tali valori quando si esegue lo script specificando uno o più argomenti della riga di comando. |
Sintassi: thingworxPostgresModelTablesDataUpdate.sh [-h <server>] [-p <port>] [-d <Thingworx database name>] [-u <thingworx database username>] [-r <password>] [-m <azure managed instance name>] [-sourceTZ <source timezone>] [-targetTZ <target timezone>] Esempio: thingworxPostgresModelTablesDataUpdate.sh -sourceTZ US/Eastern -targetTZ Etc/UTC |
Per motivi di prestazioni, questi script non creano di fatto una copia dei dati originali in queste tabelle, bensì rinominano le tabelle esistenti da "<nome-originale-tabella>" a "<nome-originale-tabella>_backup". In questo modo si elude il processo di copia dei dati, che potrebbe richiedere molto tempo. Una volta rinominate le tabelle esistenti, in modo da farle diventare tabelle di backup, vengono create nuove tabelle con i nomi originali. Le nuove tabelle sono vuote e, avendo lo stesso nome di quelle originali, servono allo stesso scopo. Verranno popolate nei passi successivi con i dati migrati. |
Prima di eseguire lo script, aprirlo in un editor di testo per verificare che i relativi valori di ambiente di default (ad esempio server, porta, fusi orari e così via) siano corretti e sufficienti per il proprio ambiente. Se all'interno dello script sono definiti valori di default che non sembrano adatti al proprio ambiente, sostituire tali valori quando si esegue lo script specificando uno o più argomenti della riga di comando. |
Sintassi: thingworxPostgresDataTableDataUpdate.sh [-h <server>] [-p <port>] [-d <thingworx database name>] [-u <thingworx database username>] [-r <password>] [-m <azure managed instance name>] [-sourceTZ <source timezone>] [-targetTZ <target timezone>] [-chunkSize <chunk size>] Esempio: thingworxPostgresDataTablesDataUpdate.sh -sourceTZ US/Eastern -targetTZ Etc/UTC |
Prima di eseguire lo script, aprirlo in un editor di testo per verificare che i relativi valori di ambiente di default (ad esempio server, porta, fusi orari e così via) siano corretti e sufficienti per il proprio ambiente. Se all'interno dello script sono definiti valori di default che non sembrano adatti al proprio ambiente, sostituire tali valori quando si esegue lo script specificando uno o più argomenti della riga di comando. |
Sintassi: thingworxPostgresStreamDataUpdate.sh [-h <server>] [-p <port>] [-d <thingworx database name>] [-u <thingworx database username>] [-r <password>] [-m <azure managed instance name>] [-sourceTZ <source timezone>] [-targetTZ <target timezone>] [-chunkSize <chunk size>] thingworxPostgresValueStreamDataUpdate.sh [-h <server>] [-p <port>] [-d <thingworx database name>] [-u <thingworx database username>] [-r <password>] [-m <azure managed instance name>] [-sourceTZ <source timezone>] [-targetTZ <target timezone>] [-chunkSize <chunk size>] Esempi: thingworxPostgresStreamDataUpdate.sh -sourceTz US/Eastern -targetTZ Etc/UTC -chunkSize 5000 thingworxPostgresValueStreamDataUpdate.sh -sourceTz US/Eastern -targetTZ Etc/UTC -chunkSize 5000 |
Sebbene esegua alcune operazioni di pulizia degli oggetti di database temporanei creati durante il processo di aggiornamento, questo script *non* elimina le tabelle di backup create nei passi precedenti, né modifica i dati all'interno di tali tabelle di backup. Ciò è intenzionale e impedisce che i dati vengano eliminati accidentalmente. Se si desidera eliminare queste tabelle di backup, è necessario procedere manualmente. |
È necessario eseguire i comandi riportati di seguito nel database ThingWorx. |
Solo il passo 1 di questa sezione è richiesto per tutti gli aggiornamenti. Se si esegue l'aggiornamento da ThingWorx 8.4.x o 8.5.x --> 9.0.x, 9.1.x o 9.2.x, attenersi alla procedura descritta nella parte rimanente della sezione. Ignorare i passi nella parte rimanente della sezione se si esegue l'aggiornamento da ThingWorx 9.0.x o 9.1.x --> 9.1.x o 9.2.x |
Non è necessario eseguire lo script thingworxMssqlSchemaUpdate9.0-to-9.1.sh poiché nella versione 9.1 non sono state apportate modifiche allo schema. Anche se per completezza lo script è incluso nella cartella update, è vuoto ed è destinato solo agli utenti con processi di aggiornamento automatizzati. |
I passi della parte rimanente di questa sezione devono essere eseguiti solo se si esegue l'aggiornamento da ThingWorx 8.4.x o 8.5.x a 9.0.x, 9.1.x o 9.2.x. Devono invece essere ignorati se si esegue l'aggiornamento da ThingWorx 9.0.x a 9.1.x o 9.2.x. |
Se si sta già eseguendo ThingWorx in UTC, è comunque necessario effettuare la migrazione per le modifiche dello script big integer, ma è possibile fornire il valore di UTC a entrambi i parametri sourceTZ e targetTZ (disponibili in alcuni script nei passi di seguito). |
Prima di eseguire lo script, aprirlo in un editor di testo per verificare che i relativi valori di ambiente di default (ad esempio server, porta, fusi orari e così via) siano corretti e sufficienti per il proprio ambiente. Se all'interno dello script sono definiti valori di default che non sembrano adatti al proprio ambiente, sostituire tali valori quando si esegue lo script specificando uno o più argomenti della riga di comando. |
Sintassi: thingworxMssqlModelTablesDataUpdate.sh [-h <server>] [-i <server-instance>] [-p <port>] [-r <password>] [-l <login-name>] [-d <thingworx-database-name>] [-sourceTZ <source-timezone>] [-targetTZ <target-timezone>] Esempio: thingworxMssqlModelTablesDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC |
Per motivi di prestazioni, questi script non creano di fatto una copia dei dati originali in queste tabelle, bensì rinominano le tabelle esistenti da "<nome-originale-tabella>" a "<nome-originale-tabella>_backup". In questo modo si elude il processo di copia dei dati, che potrebbe richiedere molto tempo. Una volta rinominate le tabelle esistenti, in modo da farle diventare tabelle di backup, vengono create nuove tabelle con i nomi originali. Le nuove tabelle sono vuote e, avendo lo stesso nome di quelle originali, servono allo stesso scopo. Verranno popolate nei passi successivi con i dati migrati. |
Prima di eseguire lo script, aprirlo in un editor di testo per verificare che i relativi valori di ambiente di default (ad esempio server, porta, fusi orari e così via) siano corretti e sufficienti per il proprio ambiente. Se all'interno dello script sono definiti valori di default che non sembrano adatti al proprio ambiente, sostituire tali valori quando si esegue lo script specificando uno o più argomenti della riga di comando. |
Sintassi: thingworxMssqlDataTableDataUpdate.sh [-h <server>] [-i <server-instance>] [-p <port>] [-r <password>] [-l <login-name>] [-d <thingworx-database-name>] [-sourceTZ <source-timezone>] [-targetTZ <target-timezone>] [-chunkSize <chunk-size>] Esempio: thingworxMssqlDataTableDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Prima di eseguire lo script, aprirlo in un editor di testo per verificare che i relativi valori di ambiente di default (ad esempio server, porta, fusi orari e così via) siano corretti e sufficienti per il proprio ambiente. Se all'interno dello script sono definiti valori di default che non sembrano adatti al proprio ambiente, sostituire tali valori quando si esegue lo script specificando uno o più argomenti della riga di comando. |
Sintassi: thingworxMssqlStreamDataUpdate.sh [-h <server>] [-i <server-instance>] [-p <port>] [-r <password>] [-l <login-name>] [-d <thingworx-database-name>] [-sourceTZ <source-timezone>] [-targetTZ <target-timezone>] [-chunkSize <chunk-size>] thingworxMssqlValueStreamDataUpdate.sh [-h <server>] [-i <server-instance>] [-p <port>] [-r <password>] [-l <login-name>] [-d <thingworx-database-name>] [-sourceTZ <source-timezone>] [-targetTZ <target-timezone>] [-chunkSize <chunk-size>] Esempi: thingworxMssqlStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 thingworxMssqlValueStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Sebbene esegua alcune operazioni di pulizia degli oggetti di database temporanei creati durante il processo di aggiornamento, questo script *non* elimina le tabelle di backup create nei passi precedenti, né modifica i dati all'interno di tali tabelle di backup. Ciò è intenzionale e impedisce che i dati vengano eliminati accidentalmente. Se si desidera eliminare queste tabelle di backup, è necessario procedere manualmente. |
Solo il passo 1 di questa sezione è richiesto per tutti gli aggiornamenti. Se si esegue l'aggiornamento da ThingWorx 8.4.x o 8.5.x --> 9.0.x, 9.1.x o 9.2.x, attenersi alla procedura descritta nella parte rimanente della sezione. Ignorare i passi nella parte rimanente della sezione se si esegue l'aggiornamento da ThingWorx 9.0.x o 9.1.x --> 9.1.x o 9.2.x |
Il numero di permessi presenti nella piattaforma può influire sul tempo necessario per completare l'aggiornamento. Altri permessi potrebbero allungare i tempi di completamento dell'aggiornamento. |
Non è necessario eseguire lo script thingworxAzureSchemaUpdate9.0-to-9.1.sh poiché nella versione 9.1 non sono presenti aggiornamenti dello schema. Anche se per completezza lo script è incluso nella cartella update, è vuoto ed è destinato solo agli utenti con processi di aggiornamento automatizzati. |
Sintassi: ./thingworxAzureSchemaUpdate8.4-to-8.5.sh -d ^database^ -h ^server^ -l ^username^ [-i ^serverInstance^] [-p ^port^] [-o ^option^] Esempio: ./thingworxAzureSchemaUpdate8.4-to-8.5.sh -d thingworx -h test.sqldatabase.net -l sqlAdmin |
Se si sta già eseguendo ThingWorx in UTC, è comunque necessario effettuare la migrazione per le modifiche dello script big integer, ma è possibile fornire il valore di UTC a entrambi i parametri sourceTZ e targetTZ (disponibili in alcuni script nei passi di seguito). |
Prima di eseguire lo script, aprirlo in un editor di testo per verificare che i relativi valori di ambiente di default (ad esempio server, porta, fusi orari e così via) siano corretti e sufficienti per il proprio ambiente. Se all'interno dello script sono definiti valori di default che non sembrano adatti al proprio ambiente, sostituire tali valori quando si esegue lo script specificando uno o più argomenti della riga di comando. |
Sintassi: thingworxAzureModelTablesDataUpdate.sh [-d database] [-h server] [-l loginname] [-i serverinstance] [-r password] [-p port] [-sourceTZ source-timezone] [-targetTZ target-timezone] [-chunkSize chunk-size] Esempio: thingworxAzureModelTablesDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Per motivi di prestazioni, questi script non creano di fatto una copia dei dati originali in queste tabelle, bensì rinominano le tabelle esistenti da "<nome-originale-tabella>" a "<nome-originale-tabella>_backup". In questo modo si elude il processo di copia dei dati, che potrebbe richiedere molto tempo. Una volta rinominate le tabelle esistenti, in modo da farle diventare tabelle di backup, vengono create nuove tabelle con i nomi originali. Le nuove tabelle sono vuote e, avendo lo stesso nome di quelle originali, servono allo stesso scopo. Verranno popolate nei passi successivi con i dati migrati. |
Durante l'esecuzione dello script della tabella dati viene visualizzato l'avviso previsto seguente: Warning! The maximum key length for a clustered index is 900 bytes. The index 'data_table_indexes_pkey' has maximum length of 902 bytes. For some combination of large values, the insert/update operation will fail. |
Prima di eseguire lo script, aprirlo in un editor di testo per verificare che i relativi valori di ambiente di default (ad esempio server, porta, fusi orari e così via) siano corretti e sufficienti per il proprio ambiente. Se all'interno dello script sono definiti valori di default che non sembrano adatti al proprio ambiente, sostituire tali valori quando si esegue lo script specificando uno o più argomenti della riga di comando. |
Sintassi: thingworxAzureDataTableDataUpdate.sh [-d database] [-h server] [-l loginname] [-i serverinstance] [-r password] [-p port] [-sourceTZ source-timezone] [-targetTZ target-timezone] [-chunkSize chunk-size] Esempio: thingworxAzureDataTableDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Prima di eseguire lo script, aprirlo in un editor di testo per verificare che i relativi valori di ambiente di default (ad esempio server, porta, fusi orari e così via) siano corretti e sufficienti per il proprio ambiente. Se all'interno dello script sono definiti valori di default che non sembrano adatti al proprio ambiente, sostituire tali valori quando si esegue lo script specificando uno o più argomenti della riga di comando. |
Sintassi: thingworxAzureStreamDataUpdate.sh [-d database] [-h server] [-l loginname] [-i serverinstance] [-r password] [-p port] [-sourceTZ source-timezone] [-targetTZ target-timezone] [-chunkSize chunk-size] thingworxAzureValueStreamDataUpdate.sh [-d database] [-h server] [-l loginname] [-i serverinstance] [-r password] [-p port] [-sourceTZ source-timezone] [-targetTZ target-timezone] [-chunkSize chunk-size] Esempi: thingworxAzureStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 thingworxAzureValueStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Sebbene esegua alcune operazioni di pulizia degli oggetti di database temporanei creati durante il processo di aggiornamento, questo script *non* elimina le tabelle di backup create nei passi precedenti, né modifica i dati all'interno di tali tabelle di backup. Ciò è intenzionale e impedisce che i dati vengano eliminati accidentalmente. Se si desidera eliminare queste tabelle di backup, è necessario procedere manualmente. |
Java 11 è necessario per ThingWorx 9.2.0 e versioni successive. Per informazioni dettagliate, fare riferimento ai requisiti di sistema. |
I passi di questa sezione sono necessari solo se si esegue l'aggiornamento di ThingWorx con InfluxDB 1.7.x (per ThingWorx 8.5.x o 9.0.x) a InfluxDB 1.8.x (per ThingWorx 9.1.x o 9.2.x). |
Errore nel log applicazioni | Risoluzione |
---|---|
Error in copying permissions: Problems migrating database | Questo errore di migrazione viene visualizzato per gli aggiornamenti di MSSQL quando sono presenti nomi di servizi, proprietà o eventi migrati per i quali sono configurati permessi in fase di esecuzione e che contengono più di 256 caratteri. Per correggere questo errore, limitare tutti i nomi di servizi, proprietà ed eventi a meno di 256 caratteri. |
[L: ERROR] [O: c.t.p.m.BaseReportingMigrator] [I: ] [U: SuperUser] [S: ] [T: localhost-startStop-1] Thing: <Name of Thing>, has a property which conflicts with one of the following system properties: isReporting,reportingLastChange,reportingLastEvaluation. Please refer to the ThingWorx Platform 8.4 documentation on how to resolve this problem. | Nell'ambito della funzionalità Presenza di oggetto aggiunta a ThingWorx Platform 8.4, le proprietà riportate di seguito sono state aggiunte alla thing shape riportabile e vengono utilizzate come parte della valutazione della presenza sugli oggetti che implementano questa forma. • isReporting • reportingLastChange • reportingLastEvaluation Se uno dei nomi delle proprietà sopra riportate esisteva già per un oggetto, un modello di oggetto o una thing shape, nel log applicazioni vengono visualizzati gli errori riportati di seguito quando la piattaforma viene avviata. Per risolvere il problema, è necessario rimuovere la proprietà in conflitto su ciascuna entità interessata e tutte le entità associate aggiornate per consentire la modifica, ad esempio mashup o servizi. Senza questo aggiornamento, gli oggetti associati non possono visualizzare correttamente lo stato di report e non possono essere aggiornati/salvati. Una volta che queste entità sono state aggiornate, le proprietà di report specifiche della piattaforma vengono visualizzate e utilizzate per valutare se un dispositivo è connesso e in comunicazione. |
[L: ERROR] [O: c.t.p.m.BaseReportingMigrator] [I: ] [U: SuperUser] [S: ] [T: localhost-startStop-1] ThingTempate: <Name of ThingTemplate>, has a property which conflicts with one of the following system properties: isReporting,reportingLastChange,reportingLastEvaluation. Please refer to the ThingWorx Platform 8.4 documentation on how to resolve this problem. | |
[L: ERROR] [O: c.t.p.m.BaseReportingMigrator] [I: ] [U: SuperUser] [S: ] [T: localhost-startStop-1] ThingShape: <Name of ThingShape>, has a property which conflicts with one of the following system properties: isReporting,reportingLastChange,reportingLastEvaluation. Please refer to the ThingWorx Platform 8.4 documentation on how to resolve this problem. |