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 문
버퍼 풀을 생성하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
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 문
버퍼 풀을 변경하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
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 설명서의 버퍼 풀 삭제
중요
삭제하려는 버퍼 풀에 테이블스페이스가 할당되어 있지 않은지 확인합니다.
버퍼 풀을 삭제하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
rdsadmin.drop_bufferpool
을 호출하여 버퍼 풀을 삭제합니다. 자세한 내용은 rdsadmin.drop_bufferpool 단원을 참조하십시오.db2 "call rdsadmin.drop_bufferpool( '
database_name
', 'buffer_pool_name
')"
버퍼 풀 플러시
RDS for Db2가 메모리의 페이지를 스토리지에 기록하도록 버퍼 풀을 플러시하여 체크포인트를 강제 적용할 수 있습니다.
참고
버퍼 풀을 플러시할 필요는 없습니다. Db2는 트랜잭션을 커밋하기 전에 로그를 동기적으로 기록합니다. 더티 페이지가 여전히 버퍼 풀에 있을 수 있지만, Db2는 이러한 페이지를 스토리지에 비동기적으로 작성합니다. 시스템이 예기치 않게 종료되더라도 데이터베이스를 다시 시작하면 Db2가 자동으로 충돌 복구를 수행합니다. 충돌 복구 중에 Db2는 커밋된 변경 내용을 데이터베이스에 쓰거나 커밋되지 않은 트랜잭션의 변경 내용을 롤백합니다.
버퍼 풀을 플러시하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 Db2 데이터베이스에 연결합니다. 다음 예제에서
rds_database_alias
,master_username
,master_password
를 사용자 자체 정보로 바꿉니다.db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
버퍼 풀을 플러시합니다.
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
용 를 참조하십시오.
데이터베이스를 생성하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
rdsadmin.create_database
를 직접 호출하여 데이터베이스를 생성합니다. 자세한 내용은 rdsadmin.create_database 단원을 참조하십시오.db2 "call rdsadmin.create_database('
database_name
')"
데이터베이스 설정 구성
RDS for Db2 DB 인스턴스에서 데이터베이스용 설정을 구성하려면 rdsadmin.set_configuration
저장 프로시저를 직접 호출합니다. 예를 들어, 복원 작업 중에 생성할 버퍼나 버퍼 조작기 개수를 구성할 수 있습니다.
데이터베이스 설정을 구성하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
(선택 사항)
rdsadmin.show_configuration
을 직접 호출하여 현재 구성 설정을 확인합니다. 자세한 내용은 rdsadmin.show_configuration 단원을 참조하십시오.db2 "call rdsadmin.show_configuration('
name
')" -
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
저장 프로시저를 직접 호출합니다.
데이터베이스의 로그 보존을 구성하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
(선택 사항)
rdsadmin.show_archive_log_retention
을 직접 호출하여 현재 로그 보존 구성을 확인합니다. 자세한 내용은 rdsadmin.show_archive_log_retention 단원을 참조하십시오.db2 "call rdsadmin.show_archive_log_retention( ?, '
database_name
')" -
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
용 를 참조하십시오.
데이터베이스를 삭제하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
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
용 를 참조하십시오.
데이터베이스를 복원하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_user
usingmaster_password
" -
(선택 사항)
rdsadmin.show_configuration
을 직접 호출하고 현재 구성 설정을 확인하여 복원 작업을 최적화합니다. 자세한 내용은 rdsadmin.show_configuration 단원을 참조하십시오.db2 "call rdsadmin.show_configuration('
name
')" -
rdsadmin.set_configuration
을 직접 호출하여 복원 작업을 최적화하도록 설정을 구성합니다. 이러한 값을 명시적으로 설정하면 대량 데이터가 있는 데이터베이스를 복원할 때 성능이 향상될 수 있습니다. 자세한 내용은 rdsadmin.set_configuration 단원을 참조하십시오.db2 "call rdsadmin.set_configuration( '
name
', 'value
')" -
rdsadmin.restore_database
를 호출하여 데이터베이스를 복원합니다. 자세한 내용은 rdsadmin.restore_database 단원을 참조하십시오.db2 "call rdsadmin.restore_database( ?, '
database_name
', 's3_bucket_name
', 's3_prefix
',restore_timestamp
, 'backup_type
')" -
rdsadmin.rollforward_database
를 직접 호출하여 데이터베이스를 다시 온라인 상태로 만들고 추가 트랜잭션 로그를 적용합니다. 자세한 내용은 rdsadmin.rollforward_database 단원을 참조하십시오.db2 "call rdsadmin.rollforward_database( ?, '
database_name
', 's3_bucket_name
',s3_prefix
, 'rollfoward_to_option
', 'complete_rollforward
')" -
이전 단계에서
complete_rollforward
를FALSE
로 설정한 경우에는rdsadmin.complete_rollforward
를 직접 호출하여 데이터베이스를 다시 온라인 상태로 전환하는 작업을 완료해야 합니다. 자세한 내용은 rdsadmin.complete_rollforward 단원을 참조하십시오.db2 "call rdsadmin.complete_rollforward( ?, '
database_name
')"
데이터베이스에 대한 정보 수집
데이터베이스에 대한 정보를 수집하려면 rdsadmin.db2pd_command
저장 프로시저를 직접 호출합니다. 이 정보를 사용하면 데이터베이스를 모니터링하거나 문제를 해결할 수 있습니다.
데이터베이스에 대한 정보를 수집하려면 다음과 같이 하세요.
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
rdsadmin.db2pd_command
를 직접 호출하여 데이터베이스에 대한 정보를 수집합니다. 자세한 내용은 rdsadmin.db2pd_command 단원을 참조하십시오.db2 "call rdsadmin.db2pd_command('
db2pd_cmd
')"
데이터베이스의 애플리케이션 강제 종료
RDS for Db2 데이터베이스에서 애플리케이션을 강제 종료하려면 rdsadmin.force_application
저장 프로시저를 직접 호출합니다. 데이터베이스 유지 관리를 수행하기 전에 데이터베이스에서 애플리케이션을 강제로 제거해야 합니다.
데이터베이스의 애플리케이션을 강제 종료하려면 다음과 같이 하세요.
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
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
스크립트를 사용하여 성능 보고서를 생성하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 Db2 데이터베이스에 연결합니다. 다음 예제에서
master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 connect to rdsadmin
master_username
usingmaster_password
-
rdsadmin.create_bufferpool
을 호출하여 페이지 크기가 4096인 버퍼 풀db2monbp
를 생성합니다. 자세한 내용은 rdsadmin.create_bufferpool 단원을 참조하십시오.db2 "call rdsadmin.create_bufferpool('
database_name
','db2monbp',4096)" -
rdsadmin.create_tablespace
을 호출하여db2monbp
버퍼 풀을 사용하는 임시 테이블스페이스db2montmptbsp
를 생성합니다. 자세한 내용은 rdsadmin.create_tablespace 단원을 참조하십시오.db2 "call rdsadmin.create_tablespace('database_name',\ 'db2montmptbsp','db2monbp',4096,1000,100,'T')"
-
db2mon.sh
스크립트를 열고 데이터베이스 연결에 대한 줄을 수정합니다.-
다음과 같은 줄을 제거합니다.
db2 -v connect to $dbName
-
이전 단계의 줄을 다음 줄로 바꿉니다. 다음 예제에서
master_username
및master_password
를 RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호로 대체합니다.db2 -v connect to $dbName user
master_username
usingmaster_password
-
다음과 같은 줄을 제거합니다.
db2 -v create bufferpool db2monbp db2 -v create user temporary tablespace db2montmptbsp bufferpool db2monbp db2 -v drop tablespace db2montmptbsp db2 -v drop bufferpool db2monbp
-
-
db2mon.sh
스크립트를 실행하여 지정된 간격으로 보고서를 출력합니다. 다음 예제에서absolute_path
는 스크립트 파일의 전체 경로로,rds_database_alias
는 데이터베이스 이름으로,seconds
는 보고서 생성 사이의 시간(0~3,600초)으로 바꿉니다.absolute_path
/db2mon.shrds_database_alias
seconds
| tee -a db2mon.out예시
다음 예제는 스크립트 파일이
home
디렉터리 아래의perf
디렉터리에 있음을 보여줍니다./home/db2inst1/sqllib/samples/perf/db2mon.sh
rds_database_alias
seconds
| tee -a db2mon.out -
버퍼 풀과
db2mon.sh
파일용으로 생성된 테이블스페이스를 삭제합니다. 다음 예제에서master_username
및master_password
를 RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호로 대체합니다.database_name
을 데이터베이스의 이름으로 바꿉니다.db2 connect to rdsadmin user
master_username
usingmaster_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 문
중요
테이블스페이스를 만들려면 테이블스페이스와 연결할 페이지 크기가 같은 버퍼 풀이 있어야 합니다. 자세한 내용은 버퍼 풀 관리 단원을 참조하십시오.
테이블스페이스를 생성하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
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 문
테이블스페이스를 변경하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
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 문
테이블스페이스 이름을 변경하는 방법
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
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 설명서의 테이블스페이스 삭제
테이블스페이스를 삭제하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여
rdsadmin
데이터베이스에 연결합니다. 다음 예제에서master_username
및master_password
를 사용자 자체 정보로 대체합니다.db2 "connect to rdsadmin user
master_username
usingmaster_password
" -
rdsadmin.drop_tablespace
를 호출하여 테이블스페이스를 삭제합니다. 자세한 내용은 rdsadmin.drop_tablespace 단원을 참조하십시오.db2 "call rdsadmin.drop_tablespace( '
database_name
', 'tablespace_name
')"
테이블스페이스의 상태 확인
cast
함수를 사용하여 테이블스페이스의 상태를 확인할 수 있습니다.
테이블스페이스의 상태를 확인하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 Db2 데이터베이스에 연결합니다. 다음 예제에서
rds_database_alias
,master_username
,master_password
를 사용자 자체 정보로 바꿉니다.db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
요약 출력을 반환합니다.
요약 출력은 다음과 같습니다.
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
함수를 사용하여 한 구성원 또는 모든 구성원의 테이블스페이스 정보를 반환할 수 있습니다.
테이블스페이스에 관한 세부 정보를 반환하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 Db2 데이터베이스에 연결합니다. 다음 예제에서
rds_database_alias
,master_username
,master_password
를 사용자 자체 정보로 바꿉니다.db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
한 멤버 또는 모든 멤버의 데이터베이스에 있는 모든 테이블스페이스에 대한 세부 정보를 반환합니다.
한 멤버의 경우에는 다음과 같습니다.
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_NAME
및 TABLE_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
명령을 사용하여 모든 테이블스페이스 컨테이너 또는 특정 테이블스페이스 컨테이너를 나열할 수 있습니다.
테이블스페이스의 테이블스페이스 컨테이너를 나열하려면
-
RDS for Db2 DB 인스턴스의 마스터 사용자 이름과 마스터 암호를 사용하여 Db2 데이터베이스에 연결합니다. 다음 예제에서
rds_database_alias
,master_username
,master_password
를 자체 정보로 바꿉니다.db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
-
데이터베이스 또는 특정 테이블스페이스 컨테이너의 모든 테이블스페이스 컨테이너 목록을 반환합니다.
모든 테이블스페이스 컨테이너의 경우에는 다음과 같습니다.
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"