

# 在 RDS for Oracle 中调整表空间、数据文件和临时文件的大小
<a name="Appendix.Oracle.CommonDBATasks.ResizeTempSpaceReadReplica"></a>

原定设置情况下，在开启自动扩展的情况下创建 Oracle 表空间，并且没有最大大小。由于这些原定设置，表空间有时可能会变得过大。建议您在永久表空间和临时表空间上指定适当的最大大小，并仔细监视空间使用率。

## 调整永久表空间大小
<a name="resizing-perm-tbs"></a>

要调整 RDS for Oracle 数据库实例中永久表空间的大小，请使用以下任何 Amazon RDS 过程：
+ `rdsadmin.rdsadmin_util.resize_datafile`
+ `rdsadmin.rdsadmin_util.autoextend_datafile`

`resize_datafile` 过程具有以下参数。


****  

| 参数名称 | 数据类型 | 默认值 | 必需 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_data_file_id`  |  number  |  —  |  是  |  要调整大小的数据文件的标识符。  | 
|  `p_size`  |  varchar2  |  —  |  是  |  数据文件的大小。以字节数（原定设置）、KB（K）、MB（M）或 GB（G）为单位指定大小。  | 

`autoextend_datafile` 过程具有以下参数。


****  

| 参数名称 | 数据类型 | 默认值 | 必需 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_data_file_id`  |  number  |  —  |  是  |  要调整大小的数据文件的标识符。  | 
|  `p_autoextend_state`  |  varchar2  |  —  |  是  |  自动扩展功能的状态。指定 `ON` 可自动扩展数据文件，指定 `OFF` 可关闭自动扩展功能。  | 
|  `p_next`  |  varchar2  |  —  |  否  |  下一个数据文件增量的大小。以字节数（原定设置）、KB（K）、MB（M）或 GB（G）为单位指定大小。  | 
|  `p_maxsize`  |  varchar2  |  —  |  否  |  允许自动扩展的最大磁盘空间。以字节数（原定设置）、KB（K）、MB（M）或 GB（G）为单位指定大小。您可以指定 `UNLIMITED` 以删除文件大小限制。  | 

以下示例将数据文件 4 的大小调整为 500MB。

```
EXEC rdsadmin.rdsadmin_util.resize_datafile(4,'500M');
```

以下示例对于数据文件 4 关闭自动扩展功能。该示例还为数据文件 5 开启自动扩展功能，增量为 128MB，且没有最大大小。

```
EXEC rdsadmin.rdsadmin_util.autoextend_datafile(4,'OFF');
EXEC rdsadmin.rdsadmin_util.autoextend_datafile(5,'ON','128M','UNLIMITED');
```

## 调整临时表空间大小
<a name="resizing-temp-tbs"></a>

要调整 RDS for Oracle 数据库实例中临时表空间（包括只读副本）的大小，请使用以下任何 Amazon RDS 过程：
+ `rdsadmin.rdsadmin_util.resize_temp_tablespace`
+ `rdsadmin.rdsadmin_util.resize_tempfile`
+ `rdsadmin.rdsadmin_util.autoextend_tempfile`

`resize_temp_tablespace` 过程具有以下参数。


****  

| 参数名称 | 数据类型 | 默认值 | 必需 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_temp_tablespace_name`  |  varchar2  |  —  |  是  |  要调整大小的临时表空间的名称。  | 
|  `p_size`  |  varchar2  |  —  |  是  |  表空间的大小。以字节数（原定设置）、KB（K）、MB（M）或 GB（G）为单位指定大小。  | 

`resize_tempfile` 过程具有以下参数。


****  

| 参数名称 | 数据类型 | 默认值 | 必需 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_temp_file_id`  |  number  |  —  |  是  |  要调整大小的临时文件的标识符。  | 
|  `p_size`  |  varchar2  |  —  |  是  |  临时文件的大小。以字节数（原定设置）、KB（K）、MB（M）或 GB（G）为单位指定大小。  | 

`autoextend_tempfile` 过程具有以下参数。


****  

| 参数名称 | 数据类型 | 默认值 | 必需 | 描述 | 
| --- | --- | --- | --- | --- | 
|  `p_temp_file_id`  |  number  |  —  |  是  |  要调整大小的临时文件的标识符。  | 
|  `p_autoextend_state`  |  varchar2  |  —  |  是  |  自动扩展功能的状态。指定 `ON` 可自动扩展临时文件，指定 `OFF` 可关闭自动扩展功能。  | 
|  `p_next`  |  varchar2  |  —  |  否  |  下一个临时文件增量的大小。以字节数（原定设置）、KB（K）、MB（M）或 GB（G）为单位指定大小。  | 
|  `p_maxsize`  |  varchar2  |  —  |  否  |  允许自动扩展的最大磁盘空间。以字节数（原定设置）、KB（K）、MB（M）或 GB（G）为单位指定大小。您可以指定 `UNLIMITED` 以删除文件大小限制。  | 

以下示例将名为 `TEMP` 的临时表空间的大小调整为 4GB。

```
EXEC rdsadmin.rdsadmin_util.resize_temp_tablespace('TEMP','4G');
```

```
EXEC rdsadmin.rdsadmin_util.resize_temp_tablespace('TEMP','4096000000');
```

以下示例将基于临时文件（文件标识符为 `1`）的临时表空间大小调整为 2MB。

```
EXEC rdsadmin.rdsadmin_util.resize_tempfile(1,'2M');
```

以下示例对于临时文件 1 关闭自动扩展功能。该示例还将临时文件 2 的最大自动扩展大小设置为 10GB，增量为 100MB。

```
EXEC rdsadmin.rdsadmin_util.autoextend_tempfile(1,'OFF');
EXEC rdsadmin.rdsadmin_util.autoextend_tempfile(2,'ON','100M','10G');
```

有关 Oracle 数据库实例的只读副本的更多信息，请参阅[使用 Amazon RDS for Oracle 的只读副本](oracle-read-replicas.md)。