|
En este momento, no hay soporte para los scripts de migración de base de datos de número entero grande/zona horaria para H2. Los scripts de migración se detallan para otras bases de datos soportadas. Si se dispone de una base de datos H2 existente y se requiere la corrección de zona horaria, se debe migrar a una base de datos soportada, como PostgreSQL o MS SQL. Si la aplicación funciona sin corrección de zona horaria, se puede actualizar a la versión más reciente de ThingWorx en H2. Se debe tener en cuenta que se omitirá la sección Definición de la zona horaria del servidor de ThingWorx como se indica.
|
ThingWorx 9.1 solo se soporta en RHEL 8.2. |
Descargue y extraiga el contenido de ThingWorx en una carpeta para la que el usuario actual tenga permisos de escritura. Se requieren permisos de escritura porque los scripts de actualización crean algunos ficheros en el proceso. |
Si es necesario actualizar la versión de Java, realice la actualización de ThingWorx antes de actualizar Java. |
Si no lo hace, la actualización no se realizará correctamente y se tendrá que volver a implementar la versión anterior (si se han realizado actualizaciones del esquema, se debe revertir o restaurar la base de datos), añadir los valores de índice que faltan o quitar los índices personalizados de la tabla de datos y, a continuación, realizar la actualización. |
Los pasos de esta sección solo son necesarios si se actualiza ThingWorx con InfluxDB 1.7.x (para ThingWorx 8.5.x o 9.0.x) a InfluxDB 1.8.x (para ThingWorx 9.1.x o 9.2.x). |
El fichero validation.properties se crea al iniciar ThingWorx. Si desea conservar los cambios realizados, guarde el fichero fuera del directorio ThingworxStorage y, a continuación, elimine el directorio esapi. Al iniciar, ThingWorx volverá a crear el fichero y se podrán añadir los regex personalizados de nuevo al fichero validation.properties que se ha generado automáticamente. Consulte este tema para obtener información adicional. |
Solo se requiere el paso 1 de esta sección para todas las actualizaciones. Realice los pasos que se indican en el resto de esta sección si se está actualizando desde ThingWorx 8.4.x u 8.5.x --> 9.0.x, 9.1.x o 9.2.x. Omita los pasos del resto de esta sección si se está actualizando desde ThingWorx 9.0.x o 9.1.x --> 9.1.x o 9.2.x |
No es necesario ejecutar el script thingworxPostgresSchemaUpdate9.0-to-9.1.sh porque no hay actualizaciones de esquema en 9.1. Aunque el script se incluye en la carpeta update por integridad, se encuentra vacío y está destinado solo a usuarios con procesos de actualización automatizados. |
Los pasos del resto de esta sección solo se deben realizar si se actualiza desde ThingWorx 8.4.x u 8.5.x a 9.0.x, 9.1.x o 9.2.x. Omita los pasos del resto de esta sección si actualiza desde ThingWorx 9.0.x a 9.1.x o 9.2.x. |
Si ya se está ejecutando ThingWorx en UTC, sigue siendo necesario ejecutar la migración para los cambios de enteros grandes, pero se puede proporcionar a los parámetros sourceTZ y targetTZ (disponibles en algunos scripts de los pasos de más abajo) el valor de UTC. |
Al especificar las zonas horarias para los scripts de migración de datos siguientes, los nombres de zona horaria especificados deben coincidir exactamente con uno de los nombres formales que muestra el script pg_timezone_names(). |
Antes de ejecutar el script, ábralo en un editor de texto para asegurarse de que los valores de entorno por defecto (como el servidor, el puerto, las zonas horarias, etc.) sean correctos y suficientes para el entorno. Si los valores por defecto definidos en el script no parecen apropiados para el entorno, reemplace los valores por defecto al ejecutar el script especificando uno o más argumentos de línea de comandos. |
Uso: 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>] Ejemplo: thingworxPostgresModelTablesDataUpdate.sh -sourceTZ US/Eastern -targetTZ Etc/UTC |
Por motivos de rendimiento, estos scripts no crean realmente una copia de los datos originales en estas tablas. En su lugar, estos scripts cambiarán el nombre de las tablas existentes de "<nombre-tabla-original>" a "<nombre-tabla-original>_backup". Así se evita el proceso de copiar realmente los datos que puede tardar mucho tiempo. Una vez que se cambie el nombre de las tablas existentes (por lo tanto, se han convertido en tablas de copia de seguridad), se crearán nuevas tablas con los nombres originales. Estas tablas nuevas están vacías y sirven para el mismo propósito que las tablas originales (porque tienen los mismos nombres que las tablas originales). Estas nuevas tablas se rellenarán con datos migrados en pasos posteriores. |
Antes de ejecutar el script, ábralo en un editor de texto para asegurarse de que los valores de entorno por defecto (como el servidor, el puerto, las zonas horarias, etc.) sean correctos y suficientes para el entorno. Si los valores por defecto definidos en el script no parecen apropiados para el entorno, reemplace los valores por defecto al ejecutar el script especificando uno o más argumentos de línea de comandos. |
Uso: 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>] Ejemplo: thingworxPostgresDataTablesDataUpdate.sh -sourceTZ US/Eastern -targetTZ Etc/UTC |
Antes de ejecutar el script, ábralo en un editor de texto para asegurarse de que los valores de entorno por defecto (como el servidor, el puerto, las zonas horarias, etc.) sean correctos y suficientes para el entorno. Si los valores por defecto definidos en el script no parecen apropiados para el entorno, reemplace los valores por defecto al ejecutar el script especificando uno o más argumentos de línea de comandos. |
Usos: 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>] Ejemplos: thingworxPostgresStreamDataUpdate.sh -sourceTz US/Eastern -targetTZ Etc/UTC -chunkSize 5000 thingworxPostgresValueStreamDataUpdate.sh -sourceTz US/Eastern -targetTZ Etc/UTC -chunkSize 5000 |
Aunque este script realiza alguna limpieza de los objetos de base de datos temporales creados durante el proceso de actualización, este script *no* borra ninguna de las tablas de copia de seguridad creadas en los pasos anteriores, ni tampoco modifica los datos de las tablas de copia de seguridad. Esto es intencionado y garantiza que los datos no se puedan borrar accidentalmente. Si desea borrar estas tablas de copia de seguridad, debe hacerlo manualmente. |
Se deben ejecutar los siguientes comandos en la base de datos de ThingWorx. |
Solo se requiere el paso 1 de esta sección para todas las actualizaciones. Realice los pasos que se indican en el resto de esta sección si se está actualizando desde ThingWorx 8.4.x u 8.5.x --> 9.0.x, 9.1.x o 9.2.x. Omita los pasos del resto de esta sección si se está actualizando desde ThingWorx 9.0.x o 9.1.x --> 9.1.x o 9.2.x |
No es necesario ejecutar el script thingworxMssqlSchemaUpdate9.0-to-9.1.sh porque no se ha producido ningún cambio de esquema en 9.1. Aunque el script se incluye en la carpeta update por integridad, se encuentra vacío y está destinado solo a usuarios con procesos de actualización automatizados. |
Los pasos del resto de esta sección solo se deben realizar si se actualiza desde ThingWorx 8.4.x u 8.5.x a 9.0.x, 9.1.x o 9.2.x. Omita los pasos del resto de esta sección si actualiza desde ThingWorx 9.0.x a 9.1.x o 9.2.x. |
Si ya se está ejecutando ThingWorx en UTC, sigue siendo necesario ejecutar la migración para los cambios de enteros grandes, pero se puede proporcionar a los parámetros sourceTZ y targetTZ (disponibles en algunos scripts de los pasos de más abajo) el valor de UTC. |
Antes de ejecutar el script, ábralo en un editor de texto para asegurarse de que los valores de entorno por defecto (como el servidor, el puerto, las zonas horarias, etc.) sean correctos y suficientes para el entorno. Si los valores por defecto definidos en el script no parecen apropiados para el entorno, reemplace los valores por defecto al ejecutar el script especificando uno o más argumentos de línea de comandos. |
Uso: thingworxMssqlModelTablesDataUpdate.sh [-h <server>] [-i <server-instance>] [-p <port>] [-r <password>] [-l <login-name>] [-d <thingworx-database-name>] [-sourceTZ <source-timezone>] [-targetTZ <target-timezone>] Ejemplo: thingworxMssqlModelTablesDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC |
Por motivos de rendimiento, estos scripts no crean realmente una copia de los datos originales en estas tablas. En su lugar, estos scripts cambiarán el nombre de las tablas existentes de "<nombre-tabla-original>" a "<nombre-tabla-original>_backup". Así se evita el proceso de copiar realmente los datos que puede tardar mucho tiempo. Una vez que se cambie el nombre de las tablas existentes (por lo tanto, se han convertido en tablas de copia de seguridad), se crearán nuevas tablas con los nombres originales. Estas tablas nuevas están vacías y sirven para el mismo propósito que las tablas originales (porque tienen los mismos nombres que las tablas originales). Estas nuevas tablas se rellenarán con datos migrados en pasos posteriores. |
Antes de ejecutar el script, ábralo en un editor de texto para asegurarse de que los valores de entorno por defecto (como el servidor, el puerto, las zonas horarias, etc.) sean correctos y suficientes para el entorno. Si los valores por defecto definidos en el script no parecen apropiados para el entorno, reemplace los valores por defecto al ejecutar el script especificando uno o más argumentos de línea de comandos. |
Uso: 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>] Ejemplo: thingworxMssqlDataTableDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Antes de ejecutar el script, ábralo en un editor de texto para asegurarse de que los valores de entorno por defecto (como el servidor, el puerto, las zonas horarias, etc.) sean correctos y suficientes para el entorno. Si los valores por defecto definidos en el script no parecen apropiados para el entorno, reemplace los valores por defecto al ejecutar el script especificando uno o más argumentos de línea de comandos. |
Usos: 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>] Ejemplos: thingworxMssqlStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 thingworxMssqlValueStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Aunque este script realiza alguna limpieza de los objetos de base de datos temporales creados durante el proceso de actualización, este script *no* borra ninguna de las tablas de copia de seguridad creadas en los pasos anteriores, ni tampoco modifica los datos de las tablas de copia de seguridad. Esto es intencionado y garantiza que los datos no se puedan borrar accidentalmente. Si desea borrar estas tablas de copia de seguridad, debe hacerlo manualmente. |
Solo se requiere el paso 1 de esta sección para todas las actualizaciones. Realice los pasos que se indican en el resto de esta sección si se está actualizando desde ThingWorx 8.4.x u 8.5.x --> 9.0.x, 9.1.x o 9.2.x. Omita los pasos del resto de esta sección si se está actualizando desde ThingWorx 9.0.x o 9.1.x --> 9.1.x o 9.2.x |
El número de permisos que existen en la plataforma puede afectar al tiempo que la actualización tarda en completarse. Más permisos pueden aumentar el tiempo que tarda la actualización. |
No es necesario ejecutar el script thingworxAzureSchemaUpdate9.0-to-9.1.sh porque no hay actualizaciones de esquema en 9.1. Aunque el script se incluye en la carpeta update por integridad, se encuentra vacío y está destinado solo a usuarios con procesos de actualización automatizados. |
Uso: ./thingworxAzureSchemaUpdate8.4-to-8.5.sh -d ^database^ -h ^server^ -l ^username^ [-i ^serverInstance^] [-p ^port^] [-o ^option^] Ejemplo: ./thingworxAzureSchemaUpdate8.4-to-8.5.sh -d thingworx -h test.sqldatabase.net -l sqlAdmin |
Si ya se está ejecutando ThingWorx en UTC, sigue siendo necesario ejecutar la migración para los cambios de enteros grandes, pero se puede proporcionar a los parámetros sourceTZ y targetTZ (disponibles en algunos scripts de los pasos de más abajo) el valor de UTC. |
Antes de ejecutar el script, ábralo en un editor de texto para asegurarse de que los valores de entorno por defecto (como el servidor, el puerto, las zonas horarias, etc.) sean correctos y suficientes para el entorno. Si los valores por defecto definidos en el script no parecen apropiados para el entorno, reemplace los valores por defecto al ejecutar el script especificando uno o más argumentos de línea de comandos. |
Uso: thingworxAzureModelTablesDataUpdate.sh [-d database] [-h server] [-l loginname] [-i serverinstance] [-r password] [-p port] [-sourceTZ source-timezone] [-targetTZ target-timezone] [-chunkSize chunk-size] Ejemplo: thingworxAzureModelTablesDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Por motivos de rendimiento, estos scripts no crean realmente una copia de los datos originales en estas tablas. En su lugar, estos scripts cambiarán el nombre de las tablas existentes de "<nombre-tabla-original>" a "<nombre-tabla-original>_backup". Así se evita el proceso de copiar realmente los datos que puede tardar mucho tiempo. Una vez que se cambie el nombre de las tablas existentes (por lo tanto, se han convertido en tablas de copia de seguridad), se crearán nuevas tablas con los nombres originales. Estas tablas nuevas están vacías y sirven para el mismo propósito que las tablas originales (porque tienen los mismos nombres que las tablas originales). Estas nuevas tablas se rellenarán con datos migrados en pasos posteriores. |
Se muestra el siguiente aviso previsto al ejecutar el script: 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. |
Antes de ejecutar el script, ábralo en un editor de texto para asegurarse de que los valores de entorno por defecto (como el servidor, el puerto, las zonas horarias, etc.) sean correctos y suficientes para el entorno. Si los valores por defecto definidos en el script no parecen apropiados para el entorno, reemplace los valores por defecto al ejecutar el script especificando uno o más argumentos de línea de comandos. |
Uso: thingworxAzureDataTableDataUpdate.sh [-d database] [-h server] [-l loginname] [-i serverinstance] [-r password] [-p port] [-sourceTZ source-timezone] [-targetTZ target-timezone] [-chunkSize chunk-size] Ejemplo: thingworxAzureDataTableDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Antes de ejecutar el script, ábralo en un editor de texto para asegurarse de que los valores de entorno por defecto (como el servidor, el puerto, las zonas horarias, etc.) sean correctos y suficientes para el entorno. Si los valores por defecto definidos en el script no parecen apropiados para el entorno, reemplace los valores por defecto al ejecutar el script especificando uno o más argumentos de línea de comandos. |
Usos: 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] Ejemplos: thingworxAzureStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 thingworxAzureValueStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Aunque este script realiza alguna limpieza de los objetos de base de datos temporales creados durante el proceso de actualización, este script *no* borra ninguna de las tablas de copia de seguridad creadas en los pasos anteriores, ni tampoco modifica los datos de las tablas de copia de seguridad. Esto es intencionado y garantiza que los datos no se puedan borrar accidentalmente. Si desea borrar estas tablas de copia de seguridad, debe hacerlo manualmente. |
Se requiere Java 11 para ThingWorx 9.2.0 y versiones posteriores. Consulte los requisitos del sistema para obtener más información. |
Los pasos de esta sección solo son necesarios si se actualiza ThingWorx con InfluxDB 1.7.x (para ThingWorx 8.5.x o 9.0.x) a InfluxDB 1.8.x (para ThingWorx 9.1.x o 9.2.x). |
Error de registro de aplicación | Resolución |
---|---|
Error in copying permissions: Problems migrating database | Este error de migración aparece en las actualizaciones de MSSQL y se muestra si hay algún nombre de servicio, propiedad o evento migrado con permisos de tiempo de ejecución configurados que contiene más de 256 caracteres. Para corregir este error, limite todos los nombres de servicio, propiedad y evento a menos de 256 caracteres. |
[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. | Como parte de la función de presencia de cosa añadida a ThingWorx Platform 8.4, se han añadido las siguientes propiedades a la definición de cosa notificable y se utilizan como parte de la evaluación de la presencia en las cosas que implementan esta definición: • isReporting • reportingLastChange • reportingLastEvaluation Si uno de los nombres de propiedad anteriores existía anteriormente en una cosa, una plantilla de cosa o una definición de cosa, aparecerán los siguientes errores en el registro de aplicación cuando se inicie la plataforma. Para resolver este problema, se debe quitar la propiedad en conflicto en cada entidad afectada y se deben actualizar las entidades asociadas para ajustarse a este cambio (por ejemplo, mashups o servicios). Sin esta actualización, las cosas asociadas no pueden mostrar su estado de informe correctamente y no se pueden actualizar ni guardar. Una vez que estas entidades se hayan actualizado correctamente, las propiedades de informes específicas de la plataforma se mostrarán y se utilizarán para evaluar si un dispositivo está conectado y se está comunicando. |
[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. |