

# 用于管理 RDS for Db2 缓冲池的存储过程
缓冲池

本主题中介绍的内置存储过程可管理 Amazon RDS for Db2 数据库的缓冲池。要运行这些过程，主用户必须先连接到 `rdsadmin` 数据库。

这些存储过程可用于执行各种任务。此列表并不详尽。
+ [缓冲池的常见任务](db2-managing-buffer-pools.md)
+ [生成性能报告](db2-managing-databases.md#db2-generating-performance-reports)
+ [使用 db2look 复制数据库元数据](db2-native-db2-tools-db2look.md)
+ [为 IBM Db2 Data Management Console 创建存储库数据库](db2-connecting-with-ibm-data-management-console.md#db2-creating-repo-db-monitoring-dmc)

请参阅以下内置存储过程，了解其语法、参数、用法说明和示例。

**Topics**
+ [

## rdsadmin.create\$1bufferpool
](#db2-sp-create-buffer-pool)
+ [

## rdsadmin.alter\$1bufferpool
](#db2-sp-alter-buffer-pool)
+ [

## rdsadmin.drop\$1bufferpool
](#db2-sp-drop-buffer-pool)

## rdsadmin.create\$1bufferpool


创建缓冲池。

### 语法


```
db2 "call rdsadmin.create_bufferpool(
    'database_name', 
    'buffer_pool_name', 
    buffer_pool_size, 
    'immediate', 
    'automatic', 
    page_size, 
    number_block_pages, 
    block_size)"
```

### 参数


以下参数为必需参数：

*database\$1name*  
要在其上运行命令的数据库的名称。数据类型为 `varchar`。

*buffer\$1pool\$1name*  
要创建的缓冲池的名称。数据类型为 `varchar`。

以下参数可选：

*buffer\$1pool\$1size*  
缓冲池的大小，以页数表示。数据类型为 `integer`。默认值为 `-1`。

*immediate*  
指定命令是否立即运行。数据类型为 `char`。默认值为 `Y`。

*automatic*  
指定是否将缓冲池设置为自动。数据类型为 `char`。默认值为 `Y`。

*page\$1size*  
缓冲池的页面大小。数据类型为 `integer`。有效值：`4096`、`8192`、`16384`、`32768`。默认值为 `8192`。

*number\$1block\$1pages*  
缓冲池中的块页面数。数据类型为 `integer`。默认值为 `0`。

*block\$1size*  
块页面的块大小。数据类型为 `integer`。有效值：`2` 到 `256`。默认值为 `32`。

### 使用说明


有关检查创建缓冲池的状态的信息，请参阅[rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status)。

### 示例


**示例 1：使用默认参数创建缓冲池**

以下示例使用默认参数为名为 `TESTDB` 的数据库创建名为 `BP8` 的缓冲池，因此该缓冲池使用 8KB 的页面大小。

```
db2 "call rdsadmin.create_bufferpool(
    'TESTDB', 
    'BP8')"
```

**示例 2：创建缓冲池以便通过自动分配立即运行**

以下示例为名为 `TESTDB` 的数据库创建一个名为 `BP16` 的缓冲池，该缓冲池使用 16KB 的页面大小，初始页面计数为 1000，并且设置为自动。Db2 会立即运行该命令。如果您使用的初始页面计数为 -1，则 Db2 将使用自动分配页面。

```
db2 "call rdsadmin.create_bufferpool(
    'TESTDB', 
    'BP16', 
    1000, 
    'Y', 
    'Y', 
    16384)"
```

**示例 3：使用块页面创建缓冲池以立即运行**

以下示例为名为 `TESTDB` 的数据库创建名为 `BP16` 的缓冲池。此缓冲池的页面大小为 16KB，初始页面计数为 10000。Db2 使用 500 个块页面立即运行该命令，块大小为 512。

```
db2 "call rdsadmin.create_bufferpool(
    'TESTDB', 
    'BP16',
    10000, 
    'Y', 
    'Y', 
    16384, 
    500, 
    512)"
```

## rdsadmin.alter\$1bufferpool


更改缓冲池。

### 语法


```
db2 "call rdsadmin.alter_bufferpool(
    'database_name', 
    'buffer_pool_name', 
    buffer_pool_size, 
    'immediate', 
    'automatic', 
    change_number_blocks, 
    number_block_pages, 
    block_size)"
```

### 参数


以下参数为必需参数：

*database\$1name*  
要在其上运行命令的数据库的名称。数据类型为 `varchar`。

*buffer\$1pool\$1name*  
要更改的缓冲池的名称。数据类型为 `varchar`。

*buffer\$1pool\$1size*  
缓冲池的大小，以页数表示。数据类型为 `integer`。

以下参数可选：

*immediate*  
指定命令是否立即运行。数据类型为 `char`。默认值为 `Y`。

*automatic*  
指定是否将缓冲池设置为自动。数据类型为 `char`。默认值为 `N`。

*change\$1number\$1blocks*  
指定缓冲池中的块页面数是否发生更改。数据类型为 `char`。默认值为 `N`。

*number\$1block\$1pages*  
缓冲池中的块页面数。数据类型为 `integer`。默认值为 `0`。

*block\$1size*  
块页面的块大小。数据类型为 `integer`。有效值：`2` 到 `256`。默认值为 `32`。

### 使用说明


有关检查更改缓冲池的状态的信息，请参阅[rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status)。

### 示例


以下示例将名为 `TESTDB` 的数据库的缓冲池（名为 `BP16`）更改为非自动，并将大小更改为 10000 页。Db2 会立即运行此命令。

```
db2 "call rdsadmin.alter_bufferpool(
    'TESTDB',
    'BP16', 
    10000, 
    'Y', 
    'N')"
```

## rdsadmin.drop\$1bufferpool


删除缓冲池。

### 语法


```
db2 "call rdsadmin.drop_bufferpool(
    'database_name', 
    'buffer_pool_name'"
```

### 参数


以下参数为必需参数：

*database\$1name*  
缓冲池所属的数据库的名称。数据类型为 `varchar`。

*buffer\$1pool\$1name*  
要删除的缓冲池的名称。数据类型为 `varchar`。

### 使用说明


有关检查删除缓冲池的状态的信息，请参阅[rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status)。

### 示例


以下示例删除名为 `TESTDB` 的数据库的名为 `BP16` 的缓冲池。

```
db2 "call rdsadmin.drop_bufferpool(
    'TESTDB',
    'BP16')"
```