

# RDS for Db2의 테이블스페이스에 대해 저장된 프로시저
<a name="db2-sp-managing-tablespaces"></a>

이 주제에서 설명하는 기본 제공 저장 프로시저는 Amazon RDS for Db2 데이터베이스의 테이블스페이스를 관리합니다. 이 프로시저를 실행하려면 마스터 사용자가 먼저 `rdsadmin` 데이터베이스에 연결되어야 합니다.

이러한 저장 프로시저는 다양한 작업에 사용됩니다. 단, 이 목록이 전부는 아닙니다.
+ [테이블스페이스의 일반적인 작업](db2-managing-tablespaces.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\$1tablespace](#db2-sp-create-tablespace)
+ [rdsadmin.alter\$1tablespace](#db2-sp-alter-tablespace)
+ [rdsadmin.rename\$1tablespace](#db2-sp-rename-tablespace)
+ [rdsadmin.drop\$1tablespace](#db2-sp-drop-tablespace)

## rdsadmin.create\$1tablespace
<a name="db2-sp-create-tablespace"></a>

테이블스페이스를 생성합니다.

### 구문
<a name="db2-sp-create-tablespace-syntax"></a>

```
db2 "call rdsadmin.create_tablespace(
    'database_name', 
    'tablespace_name',
    'buffer_pool_name', 
    tablespace_page_size,
    tablespace_initial_size, 
    tablespace_increase_size, 
    'tablespace_type',
    'tablespace_prefetch_size')"
```

### 파라미터
<a name="db2-sp-create-tablespace.parameters"></a>

다음 파라미터는 필수 파라미터입니다.

*database\$1name*  
테이블스페이스를 만들 데이터베이스의 이름입니다. 데이터 형식은 `varchar`입니다.

*tablespace\$1name*  
생성할 테이블 이름입니다. 데이터 형식은 `varchar`입니다.  
테이블스페이스 이름에는 다음과 같은 제한 사항이 있습니다.  
+ 이 데이터베이스에 있는 기존 테이블스페이스의 이름과 같으면 안 됩니다.
+ `_$#@a-zA-Z0-9`만 포함할 수 있습니다.
+ `_` 또는 `$` 기호로 시작할 수 없습니다.
+ `SYS`로 시작할 수 없습니다.

다음 파라미터는 선택적입니다.

*buffer\$1pool\$1name*  
테이블스페이스를 할당할 버퍼 풀의 이름입니다. 데이터 형식은 `varchar`입니다. 기본값은 빈 문자열입니다.  
테이블스페이스와 연결하려면 페이지 크기가 같은 버퍼 풀이 이미 있어야 합니다.

*tablespace\$1page\$1size*  
테이블스페이스의 페이지 크기(바이트)입니다. 데이터 형식은 `integer`입니다. 유효한 값: `4096`, `8192`, `16384`, `32768`. 기본값은 [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database)를 직접 호출하여 데이터베이스를 만들 때 사용된 페이지 크기입니다.  
Amazon RDS는 4KiB, 8KiB 및 16KiB 페이지에 대한 쓰기 원자성을 지원합니다. 반면 32KiB 페이지는 쓰기가 찢기거나 데스크에 데이터가 일부만 기록될 위험이 있습니다. 32KiB 페이지를 사용하는 경우 시점 복구와 자동 백업을 활성화하는 것이 좋습니다. 그렇지 않으면 찢긴 페이지를 복구하지 못할 위험이 있습니다. 자세한 내용은 [백업 소개](USER_WorkingWithAutomatedBackups.md) 및 [Amazon RDS에서 DB 인스턴스를 지정된 시간으로 복원](USER_PIT.md)(을)를 참조하세요.

*tablespace\$1initial\$1size*  
테이블스페이스의 초기 크기로, 킬로바이트 단위(KB)입니다. 데이터 형식은 `integer`입니다. 유효한 값: `48` 이상. 기본값은 null입니다.  
값을 설정하지 않으면 Db2가 적절한 값을 설정합니다.  
임시 테이블스페이스는 시스템에서 관리되므로, 이 파라미터는 임시 테이블스페이스에 적용할 수 없습니다.

*tablespace\$1increase\$1size*  
테이블스페이스가 가득 찼을 때 테이블스페이스를 늘릴 비율입니다. 데이터 형식은 `integer`입니다. 유효한 값은 `1`\$1`100`입니다. 기본값은 null입니다.  
값을 설정하지 않으면 Db2가 적절한 값을 설정합니다.  
임시 테이블스페이스는 시스템에서 관리되므로, 이 파라미터는 임시 테이블스페이스에 적용할 수 없습니다.

*tablespace\$1type*  
테이블스페이스의 유형입니다. 데이터 형식은 `char`입니다. 유효한 값: `U`(사용자 데이터용), `T`(사용자 임시 데이터용) 또는 `S`(시스템 임시 데이터용) 기본값은 `U`입니다.

*tablespace\$1prefetch\$1size*  
테이블스페이스의 프리페치 페이지 크기입니다. 데이터 형식은 `char`입니다. 유효한 값: `AUTOMATIC`(대소문자를 구분하지 않음) 또는 0이 아닌 32,767 이하의 양의 정수

### 사용 노트
<a name="db2-sp-create-tablespace-usage-notes"></a>

RDS for Db2는 항상 데이터를 위한 대규모 데이터베이스를 만듭니다.

테이블스페이스 생성 상태 점검에 대한 자세한 내용은 [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status) 섹션을 참조하세요.

### 예제
<a name="db2-sp-create-tablespace-examples"></a>

**예시 1: 테이블스페이스 만들기 및 버퍼 풀 할당**

다음 예제에서는 `SP8`이라는 테이블스페이스를 생성하고 `TESTDB`라는 데이터베이스에 `BP8`이라는 버퍼 풀을 할당합니다. 테이블스페이스의 초기 테이블스페이스 페이지 크기는 4,096바이트이고 초기 테이블스페이스가 1,000KB이며 테이블 크기 증가가 50%로 설정되어 있습니다.

```
db2 "call rdsadmin.create_tablespace(
    'TESTDB',
    'SP8',
    'BP8',
    4096,
    1000,
    50)"
```

**예시 2: 임시 테이블스페이스 만들기 및 버퍼 풀 할당**

다음은 `SP8`이라는 이름의 임시 테이블스페이스를 생성하는 예시입니다. `TESTDB`라는 데이터베이스에 크기가 8KiB인 `BP8` 버퍼 풀을 할당합니다.

```
db2 "call rdsadmin.create_tablespace(
    'TESTDB',
    'SP8',
    'BP8', 
    8192, 
    NULL, 
    NULL, 
    'T')"
```

**예시 3: 테이블스페이스 생성 및 프리페치 페이지 크기 할당**

다음 예시에서는 `TESTDB`라는 데이터베이스에 대해 `SP8`이라는 테이블스페이스를 생성합니다. 테이블스페이스의 초기 테이블스페이스 증가 크기는 `50`이고 프리페치 페이지 크기는 `800`입니다.

```
db2 "call rdsadmin.create_tablespace(
    'TESTDB',
    'SP8',
    NULL,
    NULL,
    NULL,
    50,
    NULL,
    '800')"
```

## rdsadmin.alter\$1tablespace
<a name="db2-sp-alter-tablespace"></a>

테이블스페이스를 변경합니다.

### 구문
<a name="db2-sp-alter-tablespace-syntax"></a>

```
db2 "call rdsadmin.alter_tablespace(
    'database_name', 
    'tablespace_name', 
    'buffer_pool_name', 
    tablespace_increase_size, 
    'max_size', 
    'reduce_max', 
    'reduce_stop', 
    'reduce_value', 
    'lower_high_water', 
    'lower_high_water_stop', 
    'switch_online',
    'tablespace_prefetch_size')"
```

### 파라미터
<a name="db2-sp-alter-tablespace-parameters"></a>

다음 파라미터는 필수 파라미터입니다.

*database\$1name*  
테이블스페이스를 사용하는 데이터베이스의 이름입니다. 데이터 형식은 `varchar`입니다.

*tablespace\$1name*  
수정할 테이블스페이스의 이름입니다. 데이터 형식은 `varchar`입니다.

다음 파라미터는 선택적입니다.

*buffer\$1pool\$1name*   
테이블스페이스를 할당할 버퍼 풀의 이름입니다. 데이터 형식은 `varchar`입니다. 기본값은 빈 문자열입니다.  
테이블스페이스와 연결하려면 페이지 크기가 같은 버퍼 풀이 이미 있어야 합니다.

*tablespace\$1increase\$1size*  
테이블스페이스가 가득 찼을 때 테이블스페이스를 늘릴 비율입니다. 데이터 형식은 `integer`입니다. 유효한 값은 `1`\$1`100`입니다. 기본값은 `0`입니다.

*max\$1size*  
테이블스페이스의 최대 크기입니다. 데이터 형식은 `varchar`입니다. 유효한 값은 *정수* `K` \$1 `M` \$1 `G` 또는 `NONE`입니다. 기본값은 `NONE`입니다.

*reduce\$1max*  
하이 워터 마크를 최대 한도까지 줄일지 여부를 지정합니다. 데이터 형식은 `char`입니다. 기본값은 `N`입니다.

*reduce\$1stop*  
이전 `reduce_max` 또는 `reduce_value` 명령을 중단할지 여부를 지정합니다. 데이터 형식은 `char`입니다. 기본값은 `N`입니다.

*reduce\$1value*  
테이블스페이스 하이 워터 마크를 줄이는 데 사용할 백분율 값입니다. 데이터 형식은 `varchar`입니다. 유효한 값은 *정수* `K` \$1 `M` \$1 `G` 또는 `1`\$1`100`입니다. 기본값은 `N`입니다.

*lower\$1high\$1water*  
`ALTER TABLESPACE LOWER HIGH WATER MARK` 명령을 실행할지 여부를 지정합니다. 데이터 형식은 `char`입니다. 기본값은 `N`입니다.

*lower\$1high\$1water\$1stop*  
`ALTER TABLESPACE LOWER HIGH WATER MARK STOP` 명령을 실행할지 여부를 지정합니다. 데이터 형식은 `char`입니다. 기본값은 `N`입니다.

*switch\$1online*  
`ALTER TABLESPACE SWITCH ONLINE` 명령을 실행할지 여부를 지정합니다. 데이터 형식은 `char`입니다. 기본값은 `N`입니다.

*tablespace\$1prefetch\$1size*  
테이블스페이스의 프리페치 페이지 크기입니다. 데이터 형식은 `char`입니다. 유효한 값: `AUTOMATIC`(대소문자를 구분하지 않음) 또는 0이 아닌 32,767 이하의 양의 정수  
이 파라미터는 `buffer_pool_name`, `table_increase_size`, `max_size`, `switch_online`과 함께만 작동합니다. `reduce_max`, `reduce_stop`, `reduce_value`, `lower_high_water`, `lower_high_water_stop`과 함께는 작동하지 않습니다.

### 사용 노트
<a name="db2-sp-alter-tablespace-usage-notes"></a>

저장된 프로시저를 직접적으로 호출하기 전에 다음 고려 사항을 검토하세요.
+ `rdsadmin.alter_tablespace` 저장 프로시저는 사용자 임시 데이터의 `tablespace_type`이 `T`로 설정된 테이블스페이스에서는 작동하지 않습니다.
+ 선택적 파라미터인 `reduce_max`, `reduce_stop`, `reduce_value`, `lower_high_water`, `lower_high_water_stop`, `switch_online` 파라미터는 함께 사용할 수 없습니다. `rdsadmin.alter_tablespace` 명령에서 다른 선택적 파라미터(예: `buffer_pool_name`)와 조합할 수 없습니다. 자세한 내용은 [Statement not valid](db2-troubleshooting.md#alter-tablespace-sp-statement-not-valid) 섹션을 참조하세요.

테이블스페이스 변경 상태 점검에 대한 자세한 내용은 [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status) 섹션을 참조하세요.

저장 프로시저를 호출할 때 반환되는 오류 메시지는 [저장된 프로시저 오류](db2-troubleshooting.md#db2-troubleshooting-stored-procedures) 섹션을 참조하세요.

### 예제
<a name="db2-sp-alter-tablespace-examples"></a>

**예시 1: 높은 워터마크 낮추기**

다음 예제에서는 `SP8`이라는 테이블스페이스를 변경하고 `TESTDB`라는 데이터베이스에 `BP8`이라는 버퍼 풀을 할당하여 하이 워터 마크를 낮춥니다.

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'SP8',
    'BP8', 
    NULL, 
    NULL, 
    'Y')"
```

**예시 2: 높은 워터마크 줄이기**

다음 예시는 `TESTDB` 데이터베이스의 `TBSP_TEST`라는 테이블스페이스에서 `REDUCE MAX` 명령을 실행합니다.

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'TBSP_TEST',
    NULL,
    NULL,
    NULL,
    'Y')"
```

**예시 3: 높은 워터마크를 줄이기 위한 명령 중단**

다음 예시는 `TESTDB` 데이터베이스의 `TBSP_TEST`라는 테이블스페이스에서 `REDUCE STOP` 명령을 실행합니다.

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'TBSP_TEST',
    NULL,
    NULL,
    NULL,
    NULL,
    'Y')"
```

**예시 4: 기존 프리페치 페이지 크기 변경**

다음 예시에서는 `TSBP_TEST`라는 테이블스페이스에서 `ALTER TABLESPACE SWITCH ONLINE` 명령을 실행하고 기존 프리페치 페이지 크기를 `64`로 변경합니다.

```
db2 "call rdsadmin.alter_tablespace(
    'TESTDB',
    'TBSP_TEST',
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    ‘Y’,
    ‘64’)"
```

## rdsadmin.rename\$1tablespace
<a name="db2-sp-rename-tablespace"></a>

테이블스페이스 이름을 변경합니다.

### 구문
<a name="db2-sp-rename-tablespace-syntax"></a>

```
db2 "call rdsadmin.rename_tablespace(
    ?,
    'database_name', 
    'source_tablespace_name',
    'target_tablespace_name')"
```

### 파라미터
<a name="db2-sp-rename-tablespace-parameters"></a>

다음 파라미터는 필수 파라미터입니다.

?  
오류 메시지를 출력하는 파라미터 표시자입니다. 이 파라미터는 ?만 허용합니다.

*database\$1name*  
테이블스페이스가 속한 데이터베이스의 이름입니다. 데이터 형식은 `varchar`입니다.

*source\$1tablespace\$1name*  
이름을 변경할 테이블스페이스의 이름입니다. 데이터 형식은 `varchar`입니다.

*target\$1tablespace\$1name*  
테이블스페이스의 새로운 이름입니다. 데이터 형식은 `varchar`입니다.  
새로운 이름에는 다음과 같은 제한 사항이 있습니다.  
+ 기존 테이블스페이스의 이름과 같으면 안 됩니다.
+ `_$#@a-zA-Z0-9`만 포함할 수 있습니다.
+ `_` 또는 `$` 기호로 시작할 수 없습니다.
+ `SYS`로 시작할 수 없습니다.

### 사용 노트
<a name="db2-sp-rename-tablespace-usage-notes"></a>

테이블스페이스 이름 변경 상태 확인에 대한 자세한 내용은 [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status) 섹션을 참조하세요.

`rdsadmin` 데이터베이스에 속하는 테이블스페이스의 이름은 변경할 수 없습니다.

### 예제
<a name="db2-sp-rename-tablespace-examples"></a>

다음 예시에서는 `TESTDB`라는 데이터베이스에서 `SP8`이라는 테이블스페이스를 `SP9`로 변경합니다.

```
db2 "call rdsadmin.rename_tablespace(
    ?,
    'TESTDB',
    'SP8',
    'SP9')"
```

## rdsadmin.drop\$1tablespace
<a name="db2-sp-drop-tablespace"></a>

테이블스페이스를 삭제합니다.

### 구문
<a name="db2-sp-drop-tablespace-syntax"></a>

```
db2 "call rdsadmin.drop_tablespace(
    'database_name', 
    'tablespace_name')"
```

### 파라미터
<a name="db2-sp-drop-tablespace-parameters"></a>

다음 파라미터는 필수 파라미터입니다.

*database\$1name*  
테이블스페이스가 속한 데이터베이스의 이름입니다. 데이터 형식은 `varchar`입니다.

*tablespace\$1name*  
삭제할 테이블스페이스의 이름입니다. 데이터 형식은 `varchar`입니다.

### 사용 노트
<a name="db2-sp-drop-tablespace-usage-notes"></a>

테이블스페이스 삭제 상태 점검에 대한 자세한 내용은 [rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status) 섹션을 참조하세요.

### 예제
<a name="db2-sp-drop-tablespace-examples"></a>

다음 예시에서는 `TESTDB`라는 데이터베이스에서 `SP8`이라는 테이블스페이스를 삭제합니다.

```
db2 "call rdsadmin.drop_tablespace(
    'TESTDB',
    'SP8')"
```