

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

# Amazon RDS for Db2 的已知問題和限制
<a name="db2-known-issues-limitations"></a>

下列項目為使用 Amazon RDS for Db2 的已知問題和限制：

**Topics**
+ [身分驗證限制](#db2-known-issues-limitations-authentication-limit)
+ [非連接常式](#db2-known-issues-limitations-non-fenced-routines)
+ [遷移期間的非自動儲存資料表空間](#db2-known-issues-limitations-non-automatic-storage-tablespaces)
+ [設定 db2\$1compatibility\$1vector 參數](#db2-known-issues-limitations-db2-compatibility-vector)
+ [遷移包含 INVALID 套件的資料庫](#db2-known-issues-limitations-invalid-packages-migrating)

## 身分驗證限制
<a name="db2-known-issues-limitations-authentication-limit"></a>

Amazon RDS 預設會將 `JCC_ENFORCE_SECMEC` 設定為 `db2auth`。不過，如果您不想透過線路強制執行 userid 和密碼加密，可透過將參數群組中的 `db2auth` 參數變更為 `CLEAR_TEXT` 來覆寫此設定。如需詳細資訊，請參閱[修改 Amazon RDS 中的資料庫參數群組中的參數](USER_WorkingWithParamGroups.Modifying.md)。

## 非連接常式
<a name="db2-known-issues-limitations-non-fenced-routines"></a>

RDS for Db2 不支援透過備份及還原資料來建立非連接常式和遷移這些常式。若要檢查您的資料庫是否包含任何非連接常式，請執行下列 SQL 命令：

```
SELECT 'COUNT:' || count(*) FROM SYSCAT.ROUTINES where fenced='N' and routineschema not in ('SQLJ','SYSCAT','SYSFUN','SYSIBM','SYSIBMADM','SYSPROC','SYSTOOLS')
```

## 遷移期間的非自動儲存資料表空間
<a name="db2-known-issues-limitations-non-automatic-storage-tablespaces"></a>

RDS for Db2 不支援建立新的非自動儲存資料表空間。當您使用原生還原進行資料庫的一次性遷移時，RDS for Db2 會自動將您的非自動儲存資料表空間轉換為自動儲存資料表空間，然後將資料庫還原為 RDS for Db2。如需一次性遷移的相關資訊，請參閱 [從 Amazon RDS for Db2 的 Linux 遷移至 Linux](db2-one-time-migration-linux.md) 和 [從 Amazon RDS for Db2 的 AIX 或 Windows 遷移至 Linux](db2-one-time-migration-aix-windows-linux.md)。

## 設定 db2\$1compatibility\$1vector 參數
<a name="db2-known-issues-limitations-db2-compatibility-vector"></a>

您可以使用 Amazon RDS，在建立資料庫執行個體時建立初始資料庫，然後修改相關聯參數群組中的參數。不過，對於 Db2，如果您想要在參數群組中設定 `db2_compatibility_vector` 參數，則必須先修改自訂參數群組中的參數、在沒有資料庫的情況下建立資料庫執行個體，然後使用 `rdsadmin.create_database` 預存程序建立資料庫。

**設定 `db2_compatibility_vector` 參數**

1. [建立自訂參數群組](USER_WorkingWithParamGroups.Creating.md)。(您無法修改預設參數群組中的參數。)

1. [修改參數](USER_WorkingWithParamGroups.Modifying.md)。

1. [建立資料庫執行個體](USER_CreateDBInstance.md)。

1. 使用 `rdsadmin.create_database` 預存程序[建立資料庫](db2-managing-databases.md#db2-creating-database)。

1. [將參數群組與包含資料庫的資料庫執行個體建立關聯](USER_WorkingWithParamGroups.Associating.md)。

## 遷移包含 INVALID 套件的資料庫
<a name="db2-known-issues-limitations-invalid-packages-migrating"></a>

如果您使用 `RESTORE` 命令將包含 `INVALID` 套件的 Db2 資料庫遷移至 RDS for Db2，可能會在開始使用資料庫時遇到問題。`INVALID` 套件可能會因為資料庫執行個體使用者 `rdsdb` 的授權設定和從 `PUBLIC` 移除授權而引發問題。`INVALID` 套件會導致下列命令失敗：
+ `db2updv115`
+ `db2 "call SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"`

使用 `RESTORE` 命令遷移資料庫之前，請先執行下列命令，確保您的資料庫不包含 `INVALID` 套件：

```
db2 "SELECT 'COUNT:' || count(*) FROM SYSCAT.INVALIDOBJECTS"
```

如果命令傳回大於零的計數，則呼叫下列命令：

```
db2 "call SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"
```

之後，請呼叫先前的命令，確認您的資料庫不再包含 `INVALID` 套件。

```
db2 "SELECT 'COUNT:' || count(*) FROM SYSCAT.INVALIDOBJECTS"
```

現在您已準備好備份資料庫，並將其還原為 RDS for Db2 資料庫執行個體。