安裝與升級 > 升級 ThingWorx > 手動升級 > Linux 手動升級 > 手動移轉至 ThingWorx 9.x:Linux
手動移轉至 ThingWorx 9.x:Linux
請參閱升級表來決定您的升級途徑。以下步驟僅適用於移轉。如需就地升級,請參閱手動就地升級:Linux
A.) 升級之前 
1. 如果您的 OS 是 RHEL,請在執行 ThingWorx 升級之前,核對是否已升級至支援的版本。如需詳細資訊,請參閱 系統需求
* 
ThingWorx 9.1 僅在 RHEL 8.2 上受支援。
2. 在開始升級之前,建議您先執行下列操作:
資料庫傾印
備份 ThingworxStorageThingworxPlatform 資料夾中的所有資料。
備份 Tomcat_home 資料夾。這包括 binconflibtempwebappswork 資料夾。
3. 如果您使用除 ThingWorx 平台之外的 ThingWorx 應用程式:
a. 確認 ThingWorx 應用程式版本支援您要升級至的 ThingWorx 版本。請參閱 ThingWorx 應用程式升級支援一覽表
b. 您必須先執行一些步驟,然後才能升級平台。請先參閱升級 ThingWorx 應用程式,再繼續進行下一步。
4. 如果您也已安裝 Navigate,請於 ThingWorx Navigate 相容性一覽表中驗證相容性。
5. PTC 軟體下載中取得最新版本的 ThingWorx。
* 
在目前使用者擁有寫入權限的資料夾中下載並解壓縮 ThingWorx 內容。當更新指令集在流程中建立某些檔案時,需要寫入權限。
6. 核對您是否執行所需版本的 Tomcat 與 Java。請參閱適用於版本需求的系統需求文件。
* 
如果您必須升級 Java 版本,請在升級 Java 之前先執行 ThingWorx 升級。
7. 對於不同版本而言,Tomcat Java 選項設定需求可能有所變更。請參閱 Apache Tomcat Java 選項設定,核對您的設定是否正確。
8. 如果您升級 MSSQL、Azure SQL 或 H2,且資料表格中遺失任何自訂索引欄位值,升級將會失敗。在開始升級流程之前,核對所有自訂索引欄位都有值。
* 
如果您無法執行此操作,升級將會失敗,且您必須再次部署較舊版本 (如果進行了結構描述更新,您必須回復/還原資料庫),並新增遺失的索引值,或從資料表中移除自訂索引,然後再執行升級。
9. 將下列項目新增至 Apache Tomcat Java 選項
-Dlog4j2.formatMsgNoLookups=true
B.) 匯出資料與實體 
1. 停止 Tomcat:在 Tomcat Properties 中,按一下 Stop。等待 Tomcat 停止。
2. 強烈建議您先備份下列資料夾再繼續:
Apache Software Foundation/Tomcat x.x/webapps/Thingworx
<Tomcat 安裝位置>://ThingworxStorage
3. 啟動 Tomcat:在 Tomcat Properties 中,按一下 Start。重新啟動 Tomcat 可確保資料庫在匯出之前已清空。
4. 匯出實體與資料:
a. 在 Composer 中,按一下「匯入/匯出」>「匯出」>「匯出選項」
* 
如需有關匯出選項的詳細資訊,請參閱匯入與匯出資料、實體及延伸功能
b. 如有必要,按一下「包括資料」
資料與實體將匯出到 ThingworxStorage\exports
* 
您可以在「應用程式記錄檔」中監視資料匯出進度。
5. 複製資料與實體匯出檔案並將其移到安全的位置。您將在稍後的步驟中匯入這些檔案。
C.) 備份與配置 
1. 備份並刪除 /ThingworxStorage/esapi 目錄中的 validation.properties 檔案。
* 
validation.properties 檔案會在啟動 ThingWorx 時建立。如果您要保留所做的任何變更,請將檔案儲存在 ThingworxStorage 目錄外,然後繼續移除 esapi 目錄。在啟動時,ThingWorx 會重新建立該檔案,而且您可以將自訂 regex 新增回自動產生的 validation.properties 檔案中。
如需其他資訊,請參考此主題
2. ThingworxStorage 資料夾中找到 keystore.jks 檔案,然後將其移至安全位置。移轉後,您還需要將此檔案新增回 ThingworxStorage 資料夾。
3. ThingworxPlatform 資料夾中找到 keystore-password 檔案,然後將其移至安全位置。移轉後,您還需要將此檔案新增回 ThingworxPlatform 資料夾。
4. 請注意正在使用的任何延伸功能 (位於 ThingworxStorage/extensions 中)。它們會在稍後的步驟中重新匯入。
5. 停止 Tomcat。
6. 刪除 ThingworxStorageThingworxBackupStorage 資料夾的內容。
7. 刪除 ThingworxPlatform 資料夾中的 keystore-password 檔案。
8. 轉至 /Apache Software Foundation/Tomcat x.x/webapps 中的 Tomcat 安裝,然後刪除 Thingworx.war 檔案。
9. 刪除 Apache Software Foundation/Tomcat x.x/webapps 中的 Thingworx 資料夾。
10. 針對此版本複製 Thingworx.war 檔案,然後將其置於 Tomcat 安裝的下列位置:/Apache Software Foundation/Tomcat x.x/webapps
11. 啟用延伸功能匯入。依預設,延伸功能匯入針對所有使用者皆為禁用。將下列內容新增到 platform-settings.json 檔案中。新增下列 ExtensionPackageImportPolicy 參數或將其更新為 true 以允許匯入延伸功能。
"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. 如果您使用 H2 作為 ThingWorx 的資料庫,必須將使用者名稱與密碼新增至 platform-settings.json 檔案。
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<changeme>",
"username": "twadmin"
}
},
13. 啟動 Tomcat。
14. 如果您重複使用舊的 keystore.jks 檔案,請找出您之前從 ThingworxStorageThingworxPlatform 資料夾中移動的 keystore.jkskeystore-password 檔案,然後貼上到各自的資料夾中。
15. 欲啟動 ThingWorx,請在 web 瀏覽器中轉至 <伺服器名稱>/Thingworx。使用下列登入資訊:
登入名稱:Administrator
密碼:<來源伺服器管理員密碼>
D.) 升級至 Java 11 
* 
ThingWorx 9.2.0 及更新版本需要 Java 11。如需詳細資訊,請參閱 系統需求
1. 如果您要升級至 Java 11,需要執行下列步驟:如果已安裝 Java 11,請跳過此部份。
a. 下載 OpenJDKJava 11
b. 在 Linux 中安裝 jEnv:
i. 對 jEnv 存放庫執行 Git clone:
git clone https://github.com/jenv/jenv.git ~/.jenv
ii. 將 jEnv 新增至您的 $PATH:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
iii. 初始化 jEnv:
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
iv. 更新在 ~/.bash_profile 中進行的變更:
source ~/.bash_profile
v. 設定 JAVA_HOME 環境變數:
jenv enable-plugin export
vi. 重新啟動目前 shell 工作階段:
exec $SHELL -l
vii. 執行下列指令,jEnv 即會根據目前的使用中 Java 環境,自動設定 JAVA_HOME 變數:
jenv doctor
c. 新增 Java 環境:
i. 新增任何環境。所有 Java 安裝都位於 /usr/lib/jvm/。使用 jenv add 指令。範例如下:
jenv add /usr/lib/jvm/java-11-amazon-corretto
jenv add /usr/lib/jvm/jdk-11.0.7
ii. 檢查 jenv 的所有可用 Java 版本:
jenv versions
iii. 設定全域 Java 環境:
jenv global <version>
iv. 設定 shell 特定 Java 環境:
jenv shell <version>
v. 確認 jenv 所設定的目前版本:
jenv versions
vi. 更新 Tomcat Java 設定中的路徑。
vii. 重新啟動 Tomcat。
E.) 匯入資料與實體 
1. 將匯出檔案移回至 ThingworxStorage\exports
2. 如有必要,請取得並匯入最新版本的延伸功能。您必須匯入 9.x 版的延伸功能。您可從 ThingWorx Foundation 下載頁取得 PTC 支援的延伸功能。
3. 如果您是從 8.x 升級到 9.x,且有 Java 延伸功能,請參閱將 Java 延伸功能從 8.x 移轉至 9.x
4. 匯入實體與資料。
* 
如果您要升級至 ThingWorx 9.2 或更新版本,必須先匯入 Principals.xml,然後才能匯入 Entities.xml。若不執行此操作,會導致遺失所有權限。如需詳細資訊,請參閱在 9.2 及更新版本中匯入實體
a. 在 Composer 中,按一下「匯入/匯出」>「從檔案」
b. 選取要匯入的資料與/或實體。
* 
如果您要包括所匯入實體的「子系統」設定 (例如,如果您從測試環境轉到生產),請選取「包括子系統」核取方塊。
* 
在 MSSQL 升級的應用程式記錄檔中可以看見下列錯誤,並會顯示是否有配置了執行時間權限的任何已移轉服務、內容或事件名稱,且其名稱是否包含超過 256 個字元。欲修正此錯誤,請將所有服務、內容和事件名稱限制為少於 256 個字元。
Error occurred while accessing the data provider
c. 審核應用程式記錄檔,以驗證記錄檔中沒有「遺失主參與者」警告訊息。如果有,請參閱在 9.2 及更新版本中匯入實體以進行疑難排解。
F.) 升級其他元件 
如果您使用「整合連接器」,必須取得並安裝最新版本的 Integration Runtime。如需詳細資訊,請參閱整合連接器的 Integration Runtime 服務的初始設定
如果您要使用 ThingWorx Analytics 作為解決方案的一部份,則可以使用兩個安裝程式來處理元件升級:
Analytics Server - 安裝或升級 Analytics Server 與 Analytics Extension
Platform Analytics - 安裝或升級 Descriptive Analytics 與 Property Tranforms
如需有關升級程序的詳細資訊,請參閱 ThingWorx Analytics 升級、修改、修復
這是否有幫助?