|
В настоящее время отсутствует поддержка сценариев миграции больших баз данных целых чисел/часовых поясов для H2. Эти сценарии переноса подробно описаны для других поддерживаемых баз данных. При наличии существующей базы данных H2 и необходимости коррекции часового пояса необходимо выполнить миграцию в поддерживаемую базу данных, например PostgreSQL или MS SQL. Если приложение будет работать без коррекции часового пояса, можно выполнить обновление до последней версии ThingWorx с H2. Обратите внимание, что, как отмечено, будет пропущен раздел Задание часового пояса сервера ThingWorx.
|
ThingWorx 9.1 поддерживается только в версии RHEL 8.2. |
Загрузите содержимое ThingWorx и извлеките его в папку, в которой текущий пользователь имеет разрешения на запись. Разрешения на запись требуются, поскольку сценарии обновления создают в процессе некоторые файлы. |
Если необходимо обновить версию Java, выполните обновление ThingWorx перед обновлением Java. |
Без этого обновление завершится неудачно, и потребуется снова развернуть старую версию (если были сделаны обновления схемы, необходимо откатить и восстановить базу данных) и добавить недостающие значения индекса или удалить пользовательские индексы из таблицы данных и затем выполнить обновление. |
Шаги, описанные в этом разделе, требуются только при обновлении ThingWorx с InfluxDB 1.7.x (для ThingWorx 8.5.x или 9.0.x) до InfluxDB 1.8.x (для ThingWorx 9.1.x или 9.2.x). |
Файл validation.properties создается при запуске ThingWorx. Если нужно сохранить все внесенные изменения, сохраните файл вне каталога ThingworxStorage, а затем продолжайте удаление каталога esapi. При запуске ThingWorx повторно создаст файл, и можно будет добавить пользовательские регулярные выражения в файл validation.properties, который был создан автоматически. Дополнительные сведения см. в этом разделе. |
Только шаг 1 в этом разделе требуется для всех обновлений. Выполните шаги, приведенные в остальной части этого раздела, при обновлении ThingWorx 8.4.x или 8.5.x --> 9.0.x, 9.1.x или 9.2.x. Пропустите шаги, приведенные в остальной части этого раздела, при обновлении ThingWorx 9.0.x --> 9.1.x или 9.1.x --> 9.2.x. |
Не требуется запускать сценарий thingworxPostgresSchemaUpdate9.0-to-9.1.sh, поскольку в выпуске 9.1 схема не обновляется. Хотя сценарий включается в папку update для полноты, он пуст и предназначен только для пользователей с автоматизированными процессами обновления. |
Шаги, описанные в остальной части этого раздела, следует выполнять только при обновлении от ThingWorx 8.4.x или 8.5.x до 9.0.x, 9.1.x или 9.2.x. Пропустите шаги, приведенные в остальной части этого раздела, если обновление выполняется от ThingWorx 9.0.x до 9.1.x или 9.2.x. |
Если ThingWorx уже выполняется с форматом UTC, необходимо выполнить перенос для изменений значений "длинное целое", но параметры sourceTZ и targetTZ (доступные в некоторых сценариях в шагах ниже) могут быть предоставлены как значение UTC. |
При указании часовых поясов для сценариев переноса данных имена часовых поясов должны точно соответствовать одному из формальных имен, отображаемых сценарием pg_timezone_names(). |
Перед выполнением сценария откройте сценарий в текстовом редакторе, чтобы убедиться, что его значения среды по умолчанию (такие как сервер, порт, часовой пояс и т. д.) являются правильными и достаточными для вашей среды. Если какие-то значения по умолчанию, определенные в сценарии, не подходят для вашей среды, переопределите значения по умолчанию при выполнении сценария, указав один или несколько аргументов командной строки. |
Использование: 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>] Пример: thingworxPostgresModelTablesDataUpdate.sh -sourceTZ US/Eastern -targetTZ Etc/UTC |
В целях повышения производительности эти сценарии фактически не создают копии исходных данных в этих таблицах. Эти сценарии заменяют для существующих таблиц <имя-исходной-таблицы> на <имя-исходной-таблицы>_backup. Это позволяет не тратить много времени на фактическое копирование данных. После переименования существующих таблиц (которые становятся резервными копиями таблиц) создаются новые таблицы с исходными именами. Эти новые таблицы являются пустыми и служат той же цели, что и исходные таблицы (поскольку они имеют те же имена, что и исходные таблицы). Эти новые таблицы заполняются перенесенными данными на последующих шагах. |
Перед выполнением сценария откройте сценарий в текстовом редакторе, чтобы убедиться, что его значения среды по умолчанию (такие как сервер, порт, часовой пояс и т. д.) являются правильными и достаточными для вашей среды. Если какие-то значения по умолчанию, определенные в сценарии, не подходят для вашей среды, переопределите значения по умолчанию при выполнении сценария, указав один или несколько аргументов командной строки. |
Использование: 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>] Пример: thingworxPostgresDataTablesDataUpdate.sh -sourceTZ US/Eastern -targetTZ Etc/UTC |
Перед выполнением сценария откройте сценарий в текстовом редакторе, чтобы убедиться, что его значения среды по умолчанию (такие как сервер, порт, часовой пояс и т. д.) являются правильными и достаточными для вашей среды. Если какие-то значения по умолчанию, определенные в сценарии, не подходят для вашей среды, переопределите значения по умолчанию при выполнении сценария, указав один или несколько аргументов командной строки. |
Использование: 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>] Примеры: thingworxPostgresStreamDataUpdate.sh -sourceTz US/Eastern -targetTZ Etc/UTC -chunkSize 5000 thingworxPostgresValueStreamDataUpdate.sh -sourceTz US/Eastern -targetTZ Etc/UTC -chunkSize 5000 |
Хотя этот сценарий выполняет некоторую очистку данных временных объектов базы данных, созданных в процессе обновления, этот сценарий *не* удаляет все резервные копии таблиц, созданные на предыдущих шагах, а также не изменяет данные в этих резервных копиях таблиц. Это сделано преднамеренно и гарантирует, что данные не могут быть случайно удалены. Если нужно удалить эти резервные копии таблиц, их следует удалить вручную. |
Следующие команды должны выполняться для базы данных ThingWorx. |
Только шаг 1 в этом разделе требуется для всех обновлений. Выполните шаги, приведенные в оставшейся части этого раздела, если вы обновляете ThingWorx 8.4.x или 8.5.x --> 9.0.x, 9.1.x или 9.2.x. Пропустите шаги, приведенные в остальной части этого раздела, при обновлении от ThingWorx 9.0.x или 9.1.x --> 9.1.x или 9.2.x |
Не нужно запускать сценарий thingworxMssqlSchemaUpdate9.0-to-9.1.sh, поскольку в выпуске 9.1 нет изменений схемы. Хотя сценарий включен в папку update для полноты, он пуст и предназначен только для пользователей с автоматизированными процессами обновления. |
Шаги, описанные в остальной части этого раздела, следует выполнять только при обновлении от ThingWorx 8.4.x или 8.5.x до 9.0.x, 9.1.x или 9.2.x. Пропустите шаги, приведенные в остальной части этого раздела, если обновление выполняется от ThingWorx 9.0.x до 9.1.x или 9.2.x. |
Если ThingWorx уже выполняется с форматом UTC, необходимо выполнить перенос для изменений значений "длинное целое", но параметры sourceTZ и targetTZ (доступные в некоторых сценариях в шагах ниже) могут быть предоставлены как значение UTC. |
Перед выполнением сценария откройте сценарий в текстовом редакторе, чтобы убедиться, что его значения среды по умолчанию (такие как сервер, порт, часовой пояс и т. д.) являются правильными и достаточными для вашей среды. Если какие-то значения по умолчанию, определенные в сценарии, не подходят для вашей среды, переопределите значения по умолчанию при выполнении сценария, указав один или несколько аргументов командной строки. |
Использование: thingworxMssqlModelTablesDataUpdate.sh [-h <server>] [-i <server-instance>] [-p <port>] [-r <password>] [-l <login-name>] [-d <thingworx-database-name>] [-sourceTZ <source-timezone>] [-targetTZ <target-timezone>] Пример: thingworxMssqlModelTablesDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC |
В целях повышения производительности эти сценарии фактически не создают копии исходных данных в этих таблицах. Эти сценарии заменяют для существующих таблиц <имя-исходной-таблицы> на <имя-исходной-таблицы>_backup. Это позволяет не тратить много времени на фактическое копирование данных. После переименования существующих таблиц (которые становятся резервными копиями таблиц) создаются новые таблицы с исходными именами. Эти новые таблицы являются пустыми и служат той же цели, что и исходные таблицы (поскольку они имеют те же имена, что и исходные таблицы). Эти новые таблицы заполняются перенесенными данными на последующих шагах. |
Перед выполнением сценария откройте сценарий в текстовом редакторе, чтобы убедиться, что его значения среды по умолчанию (такие как сервер, порт, часовой пояс и т. д.) являются правильными и достаточными для вашей среды. Если какие-то значения по умолчанию, определенные в сценарии, не подходят для вашей среды, переопределите значения по умолчанию при выполнении сценария, указав один или несколько аргументов командной строки. |
Использование: 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>] Пример: thingworxMssqlDataTableDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Перед выполнением сценария откройте сценарий в текстовом редакторе, чтобы убедиться, что его значения среды по умолчанию (такие как сервер, порт, часовой пояс и т. д.) являются правильными и достаточными для вашей среды. Если какие-то значения по умолчанию, определенные в сценарии, не подходят для вашей среды, переопределите значения по умолчанию при выполнении сценария, указав один или несколько аргументов командной строки. |
Использование: 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>] Примеры: thingworxMssqlStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 thingworxMssqlValueStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Хотя этот сценарий выполняет некоторую очистку данных временных объектов базы данных, созданных в процессе обновления, этот сценарий *не* удаляет все резервные копии таблиц, созданные на предыдущих шагах, а также не изменяет данные в этих резервных копиях таблиц. Это сделано преднамеренно и гарантирует, что данные не могут быть случайно удалены. Если нужно удалить эти резервные копии таблиц, их следует удалить вручную. |
Только шаг 1 в этом разделе требуется для всех обновлений. Выполните шаги, приведенные в оставшейся части этого раздела, если вы обновляете ThingWorx 8.4.x или 8.5.x --> 9.0.x, 9.1.x или 9.2.x. Пропустите шаги, приведенные в остальной части этого раздела, при обновлении от ThingWorx 9.0.x или 9.1.x --> 9.1.x или 9.2.x |
Количество разрешений, существующих в платформе, может повлиять на время выполнения обновления. Дополнительные разрешения могут увеличить время завершения обновления. |
Не требуется запускать сценарий thingworxAzureSchemaUpdate9.0-to-9.1.sh, поскольку в 9.1 схема не обновляется. Хотя сценарий включается в папку update для полноты, он пуст и предназначен только для пользователей с автоматизированными процессами обновления. |
Использование: ./thingworxAzureSchemaUpdate8.4-to-8.5.sh -d ^database^ -h ^server^ -l ^username^ [-i ^serverInstance^] [-p ^port^] [-o ^option^] Пример: ./thingworxAzureSchemaUpdate8.4-to-8.5.sh -d thingworx -h test.sqldatabase.net -l sqlAdmin |
Если ThingWorx уже выполняется с форматом UTC, необходимо выполнить перенос для изменений значений "длинное целое", но параметры sourceTZ и targetTZ (доступные в некоторых сценариях в шагах ниже) могут быть предоставлены как значение UTC. |
Перед выполнением сценария откройте сценарий в текстовом редакторе, чтобы убедиться, что его значения среды по умолчанию (такие как сервер, порт, часовой пояс и т. д.) являются правильными и достаточными для вашей среды. Если какие-то значения по умолчанию, определенные в сценарии, не подходят для вашей среды, переопределите значения по умолчанию при выполнении сценария, указав один или несколько аргументов командной строки. |
Использование: thingworxAzureModelTablesDataUpdate.sh [-d database] [-h server] [-l loginname] [-i serverinstance] [-r password] [-p port] [-sourceTZ source-timezone] [-targetTZ target-timezone] [-chunkSize chunk-size] Пример: thingworxAzureModelTablesDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
В целях повышения производительности эти сценарии фактически не создают копии исходных данных в этих таблицах. Эти сценарии заменяют для существующих таблиц <имя-исходной-таблицы> на <имя-исходной-таблицы>_backup. Это позволяет не тратить много времени на фактическое копирование данных. После переименования существующих таблиц (которые становятся резервными копиями таблиц) создаются новые таблицы с исходными именами. Эти новые таблицы являются пустыми и служат той же цели, что и исходные таблицы (поскольку они имеют те же имена, что и исходные таблицы). Эти новые таблицы заполняются перенесенными данными на последующих шагах. |
При выполнении сценария таблицы данных отображается следующее ожидаемое предупреждение: 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. |
Перед выполнением сценария откройте сценарий в текстовом редакторе, чтобы убедиться, что его значения среды по умолчанию (такие как сервер, порт, часовой пояс и т. д.) являются правильными и достаточными для вашей среды. Если какие-то значения по умолчанию, определенные в сценарии, не подходят для вашей среды, переопределите значения по умолчанию при выполнении сценария, указав один или несколько аргументов командной строки. |
Использование: thingworxAzureDataTableDataUpdate.sh [-d database] [-h server] [-l loginname] [-i serverinstance] [-r password] [-p port] [-sourceTZ source-timezone] [-targetTZ target-timezone] [-chunkSize chunk-size] Пример: thingworxAzureDataTableDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Перед выполнением сценария откройте сценарий в текстовом редакторе, чтобы убедиться, что его значения среды по умолчанию (такие как сервер, порт, часовой пояс и т. д.) являются правильными и достаточными для вашей среды. Если какие-то значения по умолчанию, определенные в сценарии, не подходят для вашей среды, переопределите значения по умолчанию при выполнении сценария, указав один или несколько аргументов командной строки. |
Использование: 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] Примеры: thingworxAzureStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 thingworxAzureValueStreamDataUpdate.sh -sourceTZ "Eastern Standard Time" -targetTZ UTC -chunkSize 5000 |
Хотя этот сценарий выполняет некоторую очистку данных временных объектов базы данных, созданных в процессе обновления, этот сценарий *не* удаляет все резервные копии таблиц, созданные на предыдущих шагах, а также не изменяет данные в этих резервных копиях таблиц. Это сделано преднамеренно и гарантирует, что данные не могут быть случайно удалены. Если нужно удалить эти резервные копии таблиц, их следует удалить вручную. |
Для ThingWorx 9.2.0 и более поздних версий требуется Java 11. Дополнительные сведения см. в разделе Требования к системе. |
Шаги, описанные в этом разделе, требуются только при обновлении ThingWorx с InfluxDB 1.7.x (для ThingWorx 8.5.x или 9.0.x) до InfluxDB 1.8.x (для ThingWorx 9.1.x или 9.2.x). |
Ошибка журнала приложения | Разрешение |
---|---|
Error in copying permissions: Problems migrating database | Эта ошибка переноса отображается для обновлений MSSQL и показывает, существуют ли перенесенные сервисы, свойства или события с настроенными разрешениями времени выполнения, имена которых содержат более 256 символов. Чтобы исправить эту ошибку, сократите все имена сервисов, свойств и событий до 256 символов и менее. |
[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. | Как часть констр. элемента "Присутствие" вещи, добавленного в ThingWorx Platform 8.4, следующие свойства были добавлены в отчет о профиле вещи и используются как часть оценки присутствия для вещей, которые реализуют этот профиль: • isReporting • reportingLastChange • reportingLastEvaluation Если одно из имен свойств, перечисленных выше, ранее существовало для вещи, шаблона вещи или профиля вещи, при запуске платформы появятся следующие ошибки в журнале приложений: Чтобы решить эту проблему, необходимо удалить свойство, конфликтующее с каждой изменяемой сущностью, а также любые связанные сущности, обновляемые в соответствии с этим изменением (например, мэшапы или сервисы). Без этого обновления связанные вещи не могут правильно отображать свой статус отчетности и не могут быть обновлены или сохранены. После обновления этих сущностей специфичные для платформы свойства отчетности будут отображаться и использоваться при оценке того, является ли устройство присоединенным и взаимодействующим. |
[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. |