

# RDS for Oracle 的限制
<a name="Oracle.Concepts.limitations"></a>

在以下各节中，您可以找到有关使用 RDS for Oracle 的重要限制。有关 CDB 的特定限制，请参阅 [RDS for Oracle CDB 的限制](Oracle.Concepts.CDBs.md#Oracle.Concepts.single-tenant-limitations)。

**注意**  
此列表并不详尽。

**Topics**
+ [Amazon RDS 中的 Oracle 文件大小限制](#Oracle.Concepts.file-size-limits)
+ [RDS for Oracle 中的块大小限制](#Oracle.Concepts.block-size-limits)
+ [Oracle 提供的架构的公共同义词](#Oracle.Concepts.PublicSynonyms)
+ [RDS for Oracle 中不受支持的功能的架构](#Oracle.Concepts.unsupported-features)
+ [RDS for Oracle 中 DBA 权限的限制](#Oracle.Concepts.dba-limitations)
+ [RDS for Oracle 中弃用 TLS 1.0 和 1.1 传输层安全性](#Oracle.Concepts.tls)

## Amazon RDS 中的 Oracle 文件大小限制
<a name="Oracle.Concepts.file-size-limits"></a>

RDS for Oracle 数据库实例上单个文件的最大大小为 16TiB。此限制由实例使用的 ext4 文件系统施加。因此，Oracle 大文件数据文件限制为 16TiB。如果您尝试将大文件表空间中的数据文件大小调整为超过限制的值，您会收到类似以下错误。

```
ORA-01237: cannot extend datafile 6
ORA-01110: data file 6: '/rdsdbdata/db/mydir/datafile/myfile.dbf'
ORA-27059: could not reduce file size
Linux-x86_64 Error: 27: File too large
Additional information: 2
```

## RDS for Oracle 中的块大小限制
<a name="Oracle.Concepts.block-size-limits"></a>

创建 RDS for Oracle 数据库实例时，默认数据库块大小 (`DB_BLOCK_SIZE`) 为 8 KB。默认数据库块大小是在创建数据库时设置的，无法更改。`SYSTEM` 和临时表空间始终使用默认数据库块大小。您可以通过配置相应的 `DB_nK_CACHE_SIZE` 参数（例如 `DB_16K_CACHE_SIZE`）来为非默认块大小分配缓冲区缓存，然后在 `CREATE TABLESPACE` 语句中指定 `BLOCKSIZE` 子句，从而创建具有该块大小的其它表空间。

## Oracle 提供的架构的公共同义词
<a name="Oracle.Concepts.PublicSynonyms"></a>

请勿为 Oracle 提供的架构（包括 `SYS`、`SYSTEM` 和 `RDSADMIN`）创建或修改公共同义词。这样做可能会导致核心数据库组件失效并影响数据库实例的可用性。

您可以在自己的架构中创建公共同义词引用对象。

## RDS for Oracle 中不受支持的功能的架构
<a name="Oracle.Concepts.unsupported-features"></a>

通常，Amazon RDS 不会阻止您为不受支持的功能创建架构。但是，如果您为需要 SYS 权限的 Oracle 功能和组件创建架构，可能会损坏数据字典并影响实例的可用性。仅使用 [向 Oracle 数据库实例添加选项](Appendix.Oracle.Options.md) 中可用的受支持的功能和架构。

## RDS for Oracle 中 DBA 权限的限制
<a name="Oracle.Concepts.dba-limitations"></a>

在数据库中，角色是可授予用户或从用户撤消的特权的集合。Oracle 数据库使用角色来提供安全性。

预定义角色 `DBA` 通常拥有对 Oracle 数据库的所有管理权限。创建数据库实例时，您的主用户账户将获得 DBA 权限（但有一些限制）。为了提供托管体验，RDS for Oracle 数据库不为 `DBA` 角色提供以下权限：
+ `ALTER DATABASE`
+ `ALTER SYSTEM`
+ `CREATE ANY DIRECTORY`
+ `DROP ANY DIRECTORY`
+ `GRANT ANY PRIVILEGE`
+ `GRANT ANY ROLE`

使用主用户账户执行管理任务，例如，在数据库中创建其他用户账户。您不能使用 `SYS`、`SYSTEM` 和 Oracle 提供的其他管理账户。

## RDS for Oracle 中弃用 TLS 1.0 和 1.1 传输层安全性
<a name="Oracle.Concepts.tls"></a>

不建议使用传输层安全性协议 1.0 和 1.1 版（TLS 1.0 和 TLS 1.1）。根据安全最佳实践，Oracle 不再建议使用 TLS 1.0 和 TLS 1.1。为了满足您的安全要求，我们强烈建议您改用 TLS 1.2。