

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 更新時區檔案的策略
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies"></a>

升級資料庫引擎並將 `TIMEZONE_FILE_AUTOUPGRADE` 選項新增至選項群組是個別的操作。如果有更新的時區檔案可用，新增 `TIMEZONE_FILE_AUTOUPGRADE` 選項會初始化時區檔案的更新。您可以立即或在下一個維護時段執行下列命令 (僅顯示相關選項)：
+ 僅使用下列 RDS CLI 命令升級資料庫引擎：

  ```
  modify-db-instance --engine-version {{name}} ...
  ```
+ 僅使用下列 CLI 命令新增 `TIMEZONE_FILE_AUTOUPGRADE` 選項：

  ```
  add-option-to-option-group --option-group-name {{name}} --options OptionName=TIMEZONE_FILE_AUTOUPGRADE ...
  ```
+ 使用以下 CLI 命令升級資料庫引擎，並將新的選項群組新增至執行個體：

  ```
  modify-db-instance --engine-version {{name}} --option-group-name {{name}} ...
  ```

您的更新策略取決於您要一起升級資料庫和時區檔案，還是只執行其中一個操作。請注意，如果您更新選項群組，然後在不同的 API 操作中升級資料庫引擎，則升級資料庫引擎時，時區檔案更新可能正在進行中。

本節中的範例假設如下情況：
+ 您尚未將 `TIMEZONE_FILE_AUTOUPGRADE` 新增至目前與資料庫執行個體相關聯的選項群組。
+ 您的資料庫執行個體使用資料庫版本 19.0.0.0.ru-2019-07.rur-2019-07.r1 和時區檔案 DSTv33。
+ 您的資料庫執行個體檔案系統包含檔案 DSTv34。
+ 版本更新 19.0.0.0.ru-2022-10.rur-2022-10.r1 包含 DSTv35。

若要更新您的時區檔案，您可以使用下列策略。

**Topics**
+ [更新時區檔案，而不升級引擎](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.no-upgrade)
+ [升級時區檔案和資料庫引擎版本](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade)
+ [升級您的資料庫引擎版本，而不更新時區檔案](#Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade-only)

## 更新時區檔案，而不升級引擎
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.no-upgrade"></a>

在這個案例中，您的資料庫使用的是 DSTv33，但 DSTv34 可在資料庫執行個體檔案系統上使用。您想要將資料庫執行個體所使用的時區檔案從 DSTv33 更新為 DSTv34，但不想要將您的引擎升級至次要版本，其中包括 DSTv35。

在 `add-option-to-option-group` 命令中，將 `TIMEZONE_FILE_AUTOUPGRADE` 新增至資料庫執行個體所使用的選項群組。指定要立即新增選項還是將其延遲至維護時段。套用 `TIMEZONE_FILE_AUTOUPGRADE` 選項後，RDS 會執行下列操作：

1. 檢查是否有新的 DST 版本。

1. 判斷 DSTv34 是否可在檔案系統上使用。

1. 立即更新時區檔案。

## 升級時區檔案和資料庫引擎版本
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade"></a>

在這個案例中，您的資料庫使用的是 DSTv33，但 DSTv34 可在資料庫執行個體檔案系統上使用。您想要將資料庫引擎升級至次要版本 19.0.0.0.ru-2022-10.rur-2022-10.r1 (其中包括 DSTv35)，並在引擎升級期間將時區檔案更新為 DSTv35。因此，您的目標是跳過 DSTv34 並將您的時區檔案直接更新為 DSTv35。

若要一起升級引擎和時區檔案，請搭配 `--option-group-name` 和 `--engine-version` 選項執行 `modify-db-instance`。您可以立即執行命令，或將其延遲至維護時段。`In --option-group-name`，請指定包含 `TIMEZONE_FILE_AUTOUPGRADE` 選項的選項群組。例如：

```
aws rds modify-db-instance 
    --db-instance-identifier {{my-instance}} \
    --engine-version {{new-version}} \
    ----option-group-name {{og-with-timezone-file-autoupgrade}} \    
    --apply-immediately
```

RDS 開始將您的引擎升級至 19.0.0.0.ru-2022-10.rur-2022-10.r1。套用 `TIMEZONE_FILE_AUTOUPGRADE` 選項之後，RDS 會檢查是否有新的 DST 版本、查看 DSTv35 是否可在 19.0.0.0.ru-2022-10.rur-2022-10.r1 取得，並立即開始更新至 DSTv35。

若要立即升級您的引擎，然後升級時區檔案，請依序執行操作：

1. 僅使用下列 CLI 命令升級資料庫引擎：

   ```
   aws rds modify-db-instance \
       --db-instance-identifier {{my-instance}} \
       --engine-version {{new-version}} \
       --apply-immediately
   ```

1. 使用下列 CLI 命令，將 `TIMEZONE_FILE_AUTOUPGRADE` 選項新增到連接至執行個體的選項群組：

   ```
   aws rds add-option-to-option-group \
       --option-group-name {{og-in-use-by-your-instance}} \
       --options OptionName=TIMEZONE_FILE_AUTOUPGRADE \
       --apply-immediately
   ```

## 升級您的資料庫引擎版本，而不更新時區檔案
<a name="Appendix.Oracle.Options.Timezone-file-autoupgrade.strategies.upgrade-only"></a>

在這個案例中，您的資料庫使用的是 DSTv33，但 DSTv34 可在資料庫執行個體檔案系統上使用。您想要將資料庫引擎升級到版本 19.0.0.0.ru-2022-10.rur-2022-10.r1 (其中包括 DSTv35)，但保留時區檔案 DSTv33。您可能會因下列原因選擇此策略：
+ 您的資料不使用 `TIMESTAMP WITH TIME ZONE` 資料類型。
+ 您的資料會使用 `TIMESTAMP WITH TIME ZONE` 資料類型，但您的資料不會受到時區變更的影響。
+ 您想要延遲更新時區檔案，因為您無法容忍額外的停機時間。

您的策略取決於下列哪個可能性是真的：
+ 您的資料庫執行個體並未與包含 `TIMEZONE_FILE_AUTOUPGRADE` 的選項群組相關聯。在您的 `modify-db-instance` 命令中，請勿指定新的選項群組，這樣 RDS 就不會更新您的時區檔案。
+ 您的資料庫執行個體目前與包含 `TIMEZONE_FILE_AUTOUPGRADE` 的選項群組相關聯。在單一 `modify-db-instance` 命令中，將您的資料庫執行個體與未包含 `TIMEZONE_FILE_AUTOUPGRADE` 的選項群組建立關聯，然後將您的資料庫引擎升級至 19.0.0.0.ru-2022-10.rur-2022-10.r1。