本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Oracle 時區檔案的概觀
Oracle Database 時區檔案存放下列資訊:
-
與國際標準時間 (UTC) 的偏移
-
日光節約時間 (DST) 的轉換時間
-
標準時間和 DST 的縮寫
Oracle Database 提供多個版本的時區檔案。當您在內部部署環境中建立 Oracle 資料庫時,請選擇時區檔案版本。如需詳細資訊,請參閱《Oracle Database 全球化支援指南》中的選擇時區檔案
如果 DST 的規則變更,Oracle 會發佈新的時區檔案。Oracle 會獨立於每季版本更新 (RU) 和版本更新修訂版 (RUR) 的排程,發行這些新的時區檔案。時區檔案位於資料庫主機上的目錄 $ORACLE_HOME/oracore/zoneinfo/ 中。時區檔案名稱使用格式 DSTvversion,如 DSTv35 中所示。
時區檔案如何影響資料傳輸
在 Oracle 資料庫中,TIMESTAMP WITH TIME ZONE 資料類型儲存時間戳記和時區資料。具 TIMESTAMP WITH TIME ZONE 資料類型的資料會使用相關聯時區檔案版本中的規則。因此,當您更新時區檔案時,現有的 TIMESTAMP WITH TIME ZONE 資料會受到影響。
當您在使用不同版本時區檔案的資料庫之間傳輸資料時,可能會發生問題。例如,若您從具有較目標資料庫更高之時區檔案版本的來源資料庫匯入資料,資料庫會發出 ORA-39405 錯誤。在以前,您必須使用下列任一技術來解決此錯誤:
-
利用所需的時區檔案建立一個 RDS for Oracle 資料庫執行個體,從來源資料庫匯出資料,接著將其匯入新的資料庫。
-
使用 AWS DMS 或邏輯複寫來遷移您的資料。
使用 TIMEZONE_FILE_AUTOUPGRADE 選項自動更新
當連接至 RDS for Oracle 資料庫執行個體的選項群組包含 TIMEZONE_FILE_AUTOUPGRADE 選項時,RDS 會自動更新您的時區檔案。藉由確保 Oracle 資料庫使用相同的時區檔案版本,您可以在不同環境之間移動資料時避免耗費時間的手動技術。容器資料庫 (CDB) 和非 CDB 都支援 TIMEZONE_FILE_AUTOUPGRADE 選項。
將 TIMEZONE_FILE_AUTOUPGRADE 選項新增至選項群組時,您可以選擇立即新增選項還是在維護時段新增選項。在資料庫執行個體套用新選項之後,RDS 會檢查是否可以安裝較新的 DSTvversion 檔案。目標 DSTvversion 取決於下列項目:
-
您的資料庫執行個體目前正在執行的次要引擎版本
-
您要將資料庫執行個體升級至其中的次要引擎版本
例如,您目前的時區檔案版本可能是 DSTv33。當 RDS 將更新套用至您的選項群組時,可能會判斷 DSTv34 目前可在您的資料庫執行個體檔案系統上使用。然後,RDS 會自動將您的時區檔案更新為 DSTv34。
若要在支援的 RDS 版本更新中尋找可用的 DST 版本,請查看適用於 Oracle 的 Amazon Relational Database Service (Amazon RDS) 版本備註中的修補程式。例如,版本 19.0.0.0.ru-2022-10.rur-2022-10.r1 列出修補程式 34533061: RDBMS - DSTV39 UPDATE - TZDATA2022C。