Amazon RDS for Db2 DB 인스턴스에 대한 공통 데이터베이스 작업 수행 - Amazon Relational Database Service

Amazon RDS for Db2 DB 인스턴스에 대한 공통 데이터베이스 작업 수행

Amazon RDS for Db2 DB 인스턴스에서 데이터베이스와 관련된 일반적인 DBA 작업을 수행할 수 있습니다. 관리형 서비스 환경을 제공하기 위해 Amazon RDS는 DB 인스턴스에 대해 shell 액세스를 제공하지 않습니다. 또한 마스터 사용자는 SYSADM, SYSMAINT 또는 SYSCTRL 권한을 요구하는 명령이나 유틸리티를 실행할 수 없습니다.

버퍼 풀 관리

RDS for Db2 데이터베이스의 버퍼 풀을 생성, 변경 또는 삭제할 수 있습니다. 버퍼 풀을 생성, 변경 또는 삭제하려면 마스터 사용자가 사용할 수 없는 더 높은 수준의 SYSADM 또는 SYSCTRL 권한이 필요합니다. 대신 Amazon RDS 저장 프로시저를 사용하세요.

버퍼 풀을 플러시할 수도 있습니다.

버퍼 풀 생성

RDS for Db2 데이터베이스용 버퍼 풀을 만들려면 rdsadmin.create_bufferpool 저장 프로시저를 호출합니다. 자세한 내용은 IBM Db2 설명서의 CREATE BUFFERPOOL 문을 참조하세요.

버퍼 풀을 생성하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_user using master_password"
  2. rdsadmin.create_bufferpool을 호출하여 버퍼 풀을 생성합니다. 자세한 내용은 rdsadmin.create_bufferpool 단원을 참조하십시오.

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

버퍼 풀 변경

RDS for Db2 데이터베이스용 버퍼 풀을 변경하려면 rdsadmin.alter_bufferpool 저장 프로시저를 호출합니다. 자세한 내용은 IBM Db2 설명서의 ALTER BUFFERPOOL 문을 참조하세요.

버퍼 풀을 변경하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_username using master_password"
  2. rdsadmin.alter_bufferpool을 호출하여 버퍼 풀을 변경합니다. 자세한 내용은 rdsadmin.alter_bufferpool 단원을 참조하십시오.

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

버퍼 풀 삭제

RDS for Db2 데이터베이스용 버퍼 풀을 삭제하려면 rdsadmin.drop_bufferpool 저장 프로시저를 호출합니다. 자세한 내용은 IBM Db2 설명서의 버퍼 풀 삭제를 참조하세요.

중요

삭제하려는 버퍼 풀에 테이블스페이스가 할당되어 있지 않은지 확인합니다.

버퍼 풀을 삭제하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_user using master_password"
  2. rdsadmin.drop_bufferpool을 호출하여 버퍼 풀을 삭제합니다. 자세한 내용은 rdsadmin.drop_bufferpool 단원을 참조하십시오.

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

버퍼 풀 플러시

RDS for Db2가 메모리의 페이지를 스토리지에 기록하도록 버퍼 풀을 플러시하여 체크포인트를 강제 적용할 수 있습니다.

참고

버퍼 풀을 플러시할 필요는 없습니다. Db2는 트랜잭션을 커밋하기 전에 로그를 동기적으로 기록합니다. 더티 페이지가 여전히 버퍼 풀에 있을 수 있지만, Db2는 이러한 페이지를 스토리지에 비동기적으로 작성합니다. 시스템이 예기치 않게 종료되더라도 데이터베이스를 다시 시작하면 Db2가 자동으로 충돌 복구를 수행합니다. 충돌 복구 중에 Db2는 커밋된 변경 내용을 데이터베이스에 쓰거나 커밋되지 않은 트랜잭션의 변경 내용을 롤백합니다.

버퍼 풀을 플러시하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 Db2 데이터베이스에 연결합니다. 다음 예제에서 rds_database_alias, master_username, master_password를 사용자 자체 정보로 바꿉니다.

    db2 connect to rds_database_alias user master_username using master_password
  2. 버퍼 풀을 플러시합니다.

    db2 flush bufferpools all

데이터베이스 관리

RDS for Db2 DB 인스턴스에서 데이터베이스를 생성, 삭제 또는 복원할 수 있습니다. 데이터베이스를 생성, 삭제 또는 복원하려면 더 높은 수준의 SYSADM 권한이 필요하며, 이 권한은 마스터 사용자가 사용할 수 없습니다. 대신 Amazon RDS 저장 프로시저를 사용하세요.

또한 모니터링, 유지 관리, 데이터베이스 정보 수집과 같은 일반적인 관리 작업을 수행할 수 있습니다.

데이터베이스 생성

RDS for Db2 DB 인스턴스에서 데이터베이스를 만들려면 rdsadmin.create_database 저장 프로시저를 직접 호출합니다. 자세한 내용은 IBM Db2 설명서의 CREATE DATABASE 명령을 참조하세요.

참고

Amazon RDS 콘솔 또는 AWS CLI를 사용하여 RDS for Db2 DB 인스턴스를 만들 때 데이터베이스의 이름을 지정하지 않은 경우 저장 프로시저를 직접 호출하여 데이터베이스를 만들 수 있습니다. 자세한 내용은 사용 노트rdsadmin.create_database용 를 참조하십시오.

데이터베이스를 생성하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_user using master_password"
  2. rdsadmin.create_database를 직접 호출하여 데이터베이스를 생성합니다. 자세한 내용은 rdsadmin.create_database 단원을 참조하십시오.

    db2 "call rdsadmin.create_database('database_name')"

데이터베이스 설정 구성

RDS for Db2 DB 인스턴스에서 데이터베이스용 설정을 구성하려면 rdsadmin.set_configuration 저장 프로시저를 직접 호출합니다. 예를 들어, 복원 작업 중에 생성할 버퍼나 버퍼 조작기 개수를 구성할 수 있습니다.

데이터베이스 설정을 구성하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_user using master_password"
  2. (선택 사항) rdsadmin.show_configuration을 직접 호출하여 현재 구성 설정을 확인합니다. 자세한 내용은 rdsadmin.show_configuration 단원을 참조하십시오.

    db2 "call rdsadmin.show_configuration('name')"
  3. rdsadmin.set_configuration을 직접 호출하여 데이터베이스 설정을 구성합니다. 자세한 내용은 rdsadmin.set_configuration 단원을 참조하십시오.

    db2 "call rdsadmin.set_configuration( 'name', 'value')"

데이터베이스 파라미터 수정

Amazon RDS for Db2는 데이터베이스 관리자 구성 파라미터, 레지스트리 변수, 데이터베이스 구성 파라미터 등 세 가지 유형의 파라미터를 사용합니다. 처음 두 유형은 파라미터 그룹을 통해 업데이트하고 마지막 유형은 rdsadmin.update_db_param 저장 프로시저를 통해 업데이트할 수 있습니다.

참고

기존 파라미터 값만 수정할 수 있습니다. RDS for Db2는 지원하지 않는 파라미터 새로 추가할 수 없습니다.

이러한 파라미터 및 파라미터 값 수정 방법에 대한 자세한 내용은 Amazon RDS for Db2 파라미터 섹션을 참조하세요.

로그 보존 구성

Amazon RDS에서 RDS for Db2 데이터베이스용 로그 파일을 보관하는 기간을 구성하려면 rdsadmin.set_archive_log_retention 저장 프로시저를 직접 호출합니다.

데이터베이스의 로그 보존을 구성하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_user using master_password"
  2. (선택 사항) rdsadmin.show_archive_log_retention을 직접 호출하여 현재 로그 보존 구성을 확인합니다. 자세한 내용은 rdsadmin.show_archive_log_retention 단원을 참조하십시오.

    db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"
  3. rdsadmin.set_archive_log_retention을 직접 호출하여 데이터베이스의 로그 보존을 구성합니다. 자세한 내용은 rdsadmin.set_archive_log_retention 단원을 참조하십시오.

    db2 "call rdsadmin.set_archive_log_retention( ?, 'database_name', 'archive_log_retention_hours')"

데이터베이스 삭제

RDS for Db2 DB 인스턴스에서 데이터베이스를 삭제하려면 rdsadmin.drop_database 저장 프로시저를 직접 호출합니다. 자세한 내용은 IBM Db2 설명서의 데이터베이스 삭제를 참조하세요.

참고

특정 조건이 충족되는 경우에만 저장 프로시저를 직접 호출하여 데이터베이스를 삭제할 수 있습니다. 자세한 내용은 사용 노트rdsadmin.drop_database용 를 참조하십시오.

데이터베이스를 삭제하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_user using master_password"
  2. rdsadmin.drop_database를 직접 호출하여 데이터베이스를 삭제합니다. 자세한 내용은 rdsadmin.drop_database 단원을 참조하십시오.

    db2 "call rdsadmin.drop_database('database_name')"

데이터베이스 복원

RDS for Db2 DB 인스턴스에서 데이터베이스를 복원하려면 rdsadmin.restore_database 저장 프로시저를 직접 호출합니다. 자세한 내용은 IBM Db2 설명서의 RESTORE DATABASE 명령을 참조하세요.

참고

Amazon RDS 콘솔 또는 AWS CLI를 사용하여 RDS for Db2 DB 인스턴스를 만들 때 데이터베이스의 이름을 지정하지 않은 경우 저장 프로시저를 직접 호출하여 데이터베이스를 복원할 수 있습니다. 자세한 내용은 사용 노트rdsadmin.restore_database용 를 참조하십시오.

데이터베이스를 복원하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_user using master_password"
  2. (선택 사항) rdsadmin.show_configuration을 직접 호출하고 현재 구성 설정을 확인하여 복원 작업을 최적화합니다. 자세한 내용은 rdsadmin.show_configuration 단원을 참조하십시오.

    db2 "call rdsadmin.show_configuration('name')"
  3. rdsadmin.set_configuration을 직접 호출하여 복원 작업을 최적화하도록 설정을 구성합니다. 이러한 값을 명시적으로 설정하면 대량 데이터가 있는 데이터베이스를 복원할 때 성능이 향상될 수 있습니다. 자세한 내용은 rdsadmin.set_configuration 단원을 참조하십시오.

    db2 "call rdsadmin.set_configuration( 'name', 'value')"
  4. rdsadmin.restore_database를 호출하여 데이터베이스를 복원합니다. 자세한 내용은 rdsadmin.restore_database 단원을 참조하십시오.

    db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', restore_timestamp, 'backup_type')"
  5. rdsadmin.rollforward_database를 직접 호출하여 데이터베이스를 다시 온라인 상태로 만들고 추가 트랜잭션 로그를 적용합니다. 자세한 내용은 rdsadmin.rollforward_database 단원을 참조하십시오.

    db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name', s3_prefix, 'rollfoward_to_option', 'complete_rollforward')"
  6. 이전 단계에서 complete_rollforwardFALSE로 설정한 경우에는 rdsadmin.complete_rollforward를 직접 호출하여 데이터베이스를 다시 온라인 상태로 전환하는 작업을 완료해야 합니다. 자세한 내용은 rdsadmin.complete_rollforward 단원을 참조하십시오.

    db2 "call rdsadmin.complete_rollforward( ?, 'database_name')"

데이터베이스에 대한 정보 수집

데이터베이스에 대한 정보를 수집하려면 rdsadmin.db2pd_command 저장 프로시저를 직접 호출합니다. 이 정보를 사용하면 데이터베이스를 모니터링하거나 문제를 해결할 수 있습니다.

데이터베이스에 대한 정보를 수집하려면 다음과 같이 하세요.
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_username using master_password"
  2. rdsadmin.db2pd_command를 직접 호출하여 데이터베이스에 대한 정보를 수집합니다. 자세한 내용은 rdsadmin.db2pd_command 단원을 참조하십시오.

    db2 "call rdsadmin.db2pd_command('db2pd_cmd')"

데이터베이스의 애플리케이션 강제 종료

RDS for Db2 데이터베이스에서 애플리케이션을 강제 종료하려면 rdsadmin.force_application 저장 프로시저를 직접 호출합니다. 데이터베이스 유지 관리를 수행하기 전에 데이터베이스에서 애플리케이션을 강제로 제거해야 합니다.

데이터베이스의 애플리케이션을 강제 종료하려면 다음과 같이 하세요.
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_username using master_password"
  2. rdsadmin.force_application을 직접적으로 호출하여 데이터베이스의 애플리케이션을 강제 종료합니다. 자세한 내용은 rdsadmin.force_application 단원을 참조하십시오.

    db2 "call rdsadmin.force_application( ?, 'applications')"

성능 보고서 생성

프로시저 또는 스크립트를 사용하여 성능 보고서를 생성할 수 있습니다. 프로시저 사용에 대한 자세한 내용은 IBM Db2 설명서의 DBSUMMARY 프로시저 - 시스템 및 애플리케이션 성능 지표에 대한 요약 보고서 생성을 참조하세요.

Db2는 ~sqllib/sample/perf 디렉터리에 db2mon.sh 파일을 포함합니다. 스크립트를 실행하면 합리적인 비용으로 광범위한 SQL 지표 보고서를 생성할 수 있습니다. db2mon.sh 파일 및 관련 스크립트 파일을 다운로드하려면 IBM db2-samples GitHub 리포지토리의 perf 디렉터리를 참조하세요.

스크립트를 사용하여 성능 보고서를 생성하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 Db2 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 connect to rdsadmin user master_username using master_password
  2. rdsadmin.create_bufferpool을 호출하여 페이지 크기가 4096인 버퍼 풀 db2monbp를 생성합니다. 자세한 내용은 rdsadmin.create_bufferpool 단원을 참조하십시오.

    db2 "call rdsadmin.create_bufferpool('database_name','db2monbp',4096)"
  3. rdsadmin.create_tablespace을 호출하여 db2monbp 버퍼 풀을 사용하는 임시 테이블스페이스 db2montmptbsp를 생성합니다. 자세한 내용은 rdsadmin.create_tablespace 단원을 참조하십시오.

    db2 "call rdsadmin.create_tablespace('database_name',\ 'db2montmptbsp','db2monbp',4096,1000,100,'T')"
  4. db2mon.sh 스크립트를 열고 데이터베이스 연결에 대한 줄을 수정합니다.

    1. 다음과 같은 줄을 제거합니다.

      db2 -v connect to $dbName
    2. 이전 단계의 줄을 다음 줄로 바꿉니다. 다음 예제에서 master_usernamemaster_password를 RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호로 대체합니다.

      db2 -v connect to $dbName user master_username using master_password
    3. 다음과 같은 줄을 제거합니다.

      db2 -v create bufferpool db2monbp db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp db2 -v drop tablespace db2montmptbsp db2 -v drop bufferpool db2monbp
  5. db2mon.sh 스크립트를 실행하여 지정된 간격으로 보고서를 출력합니다. 다음 예제에서 absolute_path는 스크립트 파일의 전체 경로로, rds_database_alias는 데이터베이스 이름으로, seconds는 보고서 생성 사이의 시간(0~3,600초)으로 바꿉니다.

    absolute_path/db2mon.sh rds_database_alias seconds | tee -a db2mon.out

    예시

    다음 예제는 스크립트 파일이 home 디렉터리 아래의 perf 디렉터리에 있음을 보여줍니다.

    /home/db2inst1/sqllib/samples/perf/db2mon.sh rds_database_alias seconds | tee -a db2mon.out
  6. 버퍼 풀과 db2mon.sh 파일용으로 생성된 테이블스페이스를 삭제합니다. 다음 예제에서 master_usernamemaster_password를 RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호로 대체합니다. database_name을 데이터베이스의 이름으로 바꿉니다.

    db2 connect to rdsadmin user master_username using master_password db2 "call rdsadmin.drop_tablespace('database_name','db2montmptbsp')" db2 "call rdsadmin.drop_bufferpool('database_name','db2monbp')"

스토리지 관리

Db2는 자동 스토리지를 사용하여 표, 인덱스, 임시 파일과 같은 데이터베이스 객체의 물리적 스토리지를 관리합니다. 스토리지 공간을 수동으로 할당하고 사용 중인 스토리지 경로를 추적하는 대신, 자동 스토리지를 통해 Db2 시스템은 필요에 따라 스토리지 경로를 생성하고 관리할 수 있습니다. 이를 통해 Db2 데이터베이스 관리를 단순화하고 사람의 실수로 인한 오류 가능성을 줄일 수 있습니다. 자세한 내용은 IBM Db2 설명서의 자동 스토리지를 참조하세요.

RDS for Db2를 사용하면 논리적 볼륨과 파일 시스템을 자동으로 확장하여 스토리지 크기를 동적으로 늘릴 수 있습니다. 자세한 내용은 Amazon RDS DB 인스턴스 스토리지 작업 단원을 참조하십시오.

테이블스페이스 관리

RDS for Db2 데이터베이스의 테이블스페이스를 생성, 변경, 삭제 또는 이름을 변경할 수 있습니다. 테이블스페이스를 생성, 변경, 삭제 또는 이름을 변경하려면 마스터 사용자가 사용할 수 없는 더 높은 수준의 SYSADM 권한이 필요합니다. 대신 Amazon RDS 저장 프로시저를 사용하세요.

테이블스페이스 생성

RDS for Db2 데이터베이스용 테이블스페이스를 만들려면 rdsadmin.create_tablespace 저장 프로시저를 호출합니다. 자세한 내용은 IBM Db2 설명서의 CREATE TABLESPACE 문을 참조하세요.

중요

테이블스페이스를 만들려면 테이블스페이스와 연결할 페이지 크기가 같은 버퍼 풀이 있어야 합니다. 자세한 내용은 버퍼 풀 관리 단원을 참조하십시오.

테이블스페이스를 생성하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_username using master_password"
  2. rdsadmin.create_tablespace를 호출하여 테이블스페이스를 생성합니다. 자세한 내용은 rdsadmin.create_tablespace 단원을 참조하십시오.

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

테이블스페이스 변경

RDS for Db2 데이터베이스용 테이블스페이스를 변경하려면 rdsadmin.alter_tablespace 저장 프로시저를 호출합니다. 이 저장 프로시저를 사용하여 테이블스페이스의 버퍼 풀을 변경하거나, 하이 워터 마크를 낮추거나, 테이블스페이스를 온라인으로 전환할 수 있습니다. 자세한 내용은 IBM Db2 설명서의 ALTER TABLESPACE 문을 참조하세요.

테이블스페이스를 변경하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_username using master_password"
  2. rdsadmin.alter_tablespace를 호출하여 테이블스페이스를 변경합니다. 자세한 내용은 rdsadmin.alter_tablespace 단원을 참조하십시오.

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

테이블스페이스 이름 변경

RDS for Db2 데이터베이스용 테이블스페이스의 이름을 변경하려면 rdsadmin.rename_tablespace 저장 프로시저를 호출합니다. 자세한 내용은 IBM Db2 설명서의 RENAME TABLESPACE 문을 참조하세요.

테이블스페이스 이름을 변경하는 방법
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_username using master_password"
  2. rdsadmin.rename_tablespace를 직접 호출하여 테이블스페이스의 이름을 변경합니다. 테이블스페이스의 이름으로 지정할 수 있는 것에 대한 제한 사항을 비롯한 자세한 내용은 rdsadmin.rename_tablespace 섹션을 참조하세요.

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

테이블스페이스 삭제

RDS for Db2 데이터베이스용 테이블스페이스를 삭제하려면 rdsadmin.drop_tablespace 저장 프로시저를 호출합니다. 테이블스페이스를 삭제하기 전에 먼저 표, 인덱스 또는 대형 객체(LOB)와 같은 테이블스페이스의 모든 객체를 삭제해야 합니다. 자세한 내용은 IBM Db2 설명서의 테이블스페이스 삭제를 참조하세요.

테이블스페이스를 삭제하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 rdsadmin 데이터베이스에 연결합니다. 다음 예제에서 master_usernamemaster_password를 사용자 자체 정보로 대체합니다.

    db2 "connect to rdsadmin user master_username using master_password"
  2. rdsadmin.drop_tablespace를 호출하여 테이블스페이스를 삭제합니다. 자세한 내용은 rdsadmin.drop_tablespace 단원을 참조하십시오.

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

테이블스페이스의 상태 확인

cast 함수를 사용하여 테이블스페이스의 상태를 확인할 수 있습니다.

테이블스페이스의 상태를 확인하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 Db2 데이터베이스에 연결합니다. 다음 예제에서 rds_database_alias, master_username, master_password를 사용자 자체 정보로 바꿉니다.

    db2 connect to rds_database_alias user master_username using master_password
  2. 요약 출력을 반환합니다.

    요약 출력은 다음과 같습니다.

    db2 "select cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents from table(mon_get_tablespace(null,-1)) order by tbsp_id"

테이블스페이스에 관한 세부 정보 반환

cast 함수를 사용하여 한 구성원 또는 모든 구성원의 테이블스페이스 정보를 반환할 수 있습니다.

테이블스페이스에 관한 세부 정보를 반환하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 Db2 데이터베이스에 연결합니다. 다음 예제에서 rds_database_alias, master_username, master_password를 사용자 자체 정보로 바꿉니다.

    db2 connect to rds_database_alias user master_username using master_password
  2. 한 멤버 또는 모든 멤버의 데이터베이스에 있는 모든 테이블스페이스에 대한 세부 정보를 반환합니다.

    한 멤버의 경우에는 다음과 같습니다.

    db2 "select cast(member as smallint) as member, cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents, cast(tbsp_total_pages as integer) as total_pages, cast(tbsp_used_pages as integer) as used_pages, cast(tbsp_free_pages as integer) as free_pages, cast(tbsp_page_top as integer) as page_hwm, cast(tbsp_page_size as integer) as page_sz, cast(tbsp_extent_size as smallint) as extent_sz, cast(tbsp_prefetch_size as smallint) as prefetch_sz, cast(tbsp_initial_size as integer) as initial_size, cast(tbsp_increase_size_percent as smallint) as increase_pct, cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-1)) order by member, tbsp_id "

    모든 멤버의 경우에는 다음과 같습니다.

    db2 "select cast(member as smallint) as member cast(tbsp_id as smallint) as tbsp_id, cast(tbsp_name as varchar(35)) as tbsp_name, cast(tbsp_type as varchar(3)) as tbsp_type, cast(tbsp_state as varchar(10)) as state, cast(tbsp_content_type as varchar(8)) as contents, cast(tbsp_total_pages as integer) as total_pages, cast(tbsp_used_pages as integer) as used_pages, cast(tbsp_free_pages as integer) as free_pages, cast(tbsp_page_top as integer) as page_hwm, cast(tbsp_page_size as integer) as page_sz, cast(tbsp_extent_size as smallint) as extent_sz, cast(tbsp_prefetch_size as smallint) as prefetch_sz, cast(tbsp_initial_size as integer) as initial_size, cast(tbsp_increase_size_percent as smallint) as increase_pct, cast(storage_group_name as varchar(12)) as stogroup from table(mon_get_tablespace(null,-2)) order by member, tbsp_id "

테이블스페이스의 상태 및 스토리지 그룹 나열

SQL 문을 실행하여 테이블스페이스의 상태 및 스토리지 그룹을 나열할 수 있습니다.

테이블스페이스의 상태 및 스토리지 그룹을 나열하려면 다음 SQL 문을 실행합니다.

db2 "SELECT varchar(tbsp_name, 30) as tbsp_name, varchar(TBSP_STATE, 30) state, tbsp_type, varchar(storage_group_name,30) storage_group FROM TABLE(MON_GET_TABLESPACE('',-2)) AS t"

표의 테이블스페이스 나열

SQL 문을 실행하여 표의 테이블스페이스를 나열할 수 있습니다.

표의 테이블스페이스를 나열하려면 다음 SQL 문을 실행합니다. 다음 예제에서 SCHEMA_NAMETABLE_NAME을 다음과 같이 스키마 및 테이블 이름으로 바꿉니다.

db2 "SELECT VARCHAR(SD.TBSPACE,30) AS DATA_SPACE, VARCHAR(SL.TBSPACE,30) AS LONG_SPACE, VARCHAR(SI.TBSPACE,30) AS INDEX_SPACE FROM SYSCAT.DATAPARTITIONS P JOIN SYSCAT.TABLESPACES SD ON SD.TBSPACEID = P.TBSPACEID LEFT JOIN SYSCAT.TABLESPACES SL ON SL.TBSPACEID = P.LONG_TBSPACEID LEFT JOIN SYSCAT.TABLESPACES SI ON SI.TBSPACEID = P.INDEX_TBSPACEID WHERE TABSCHEMA = 'SCHEMA_NAME' AND TABNAME = 'TABLE_NAME'"

테이블스페이스 컨테이너 나열

cast 명령을 사용하여 모든 테이블스페이스 컨테이너 또는 특정 테이블스페이스 컨테이너를 나열할 수 있습니다.

테이블스페이스의 테이블스페이스 컨테이너를 나열하려면
  1. RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 Db2 데이터베이스에 연결합니다. 다음 예제에서 rds_database_alias, master_username, master_password를 자체 정보로 바꿉니다.

    db2 connect to rds_database_alias user master_username using master_password
  2. 데이터베이스 또는 특정 테이블스페이스 컨테이너의 모든 테이블스페이스 컨테이너 목록을 반환합니다.

    모든 테이블스페이스 컨테이너의 경우에는 다음과 같습니다.

    db2 "select cast(member as smallint) as member, cast(tbsp_name as varchar(35)) as tbsp_name, cast(container_id as smallint) as id, cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container(null,-2)) order by member,tbsp_id,container_id"

    특정 테이블스페이스 컨테이너의 경우에는 다음과 같습니다.

    db2 "select cast(member as smallint) as member, cast(tbsp_name as varchar(35)) as tbsp_name, cast(container_id as smallint) as id, cast(container_name as varchar(60)) as container_path, container_type as type from table(mon_get_container('TBSP_1',-2)) order by member, tbsp_id,container_id"