RDS for Db2용 데이터베이스에 대해 저장된 프로시저
다음 저장 프로시저는 Amazon RDS for Db2의 데이터베이스를 관리합니다. 이 프로시저를 실행하려면 마스터 사용자가 먼저 rdsadmin
데이터베이스에 연결되어야 합니다.
주제
- rdsadmin.create_database
- rdsadmin.drop_database
- rdsadmin.update_db_param
- rdsadmin.set_configuration
- rdsadmin.show_configuration
- rdsadmin.restore_database
- rdsadmin.rollforward_database
- rdsadmin.complete_rollforward
- rdsadmin.db2pd_command
- rdsadmin.force_application
- rdsadmin.set_archive_log_retention
- rdsadmin.show_archive_log_retention
rdsadmin.create_database
데이터베이스를 생성합니다.
구문
db2 "call rdsadmin.create_database('
database_name
')"
파라미터
참고
이 저장 프로시저는 필수 파라미터의 조합을 검증하지 않습니다. rdsadmin.get_task_status를 직접적으로 호출하면 database_codeset
, database_territory
, database_collation
의 유효하지 않은 조합으로 인해 사용자 정의 함수가 오류를 반환할 수 있습니다. 자세한 내용은 IBM Db2 설명서에서 데이터베이스의 코드 페이지, 지역 및 데이터 정렬 선택
다음 파라미터는 필수입니다.
database_name
-
생성할 데이터베이스의 이름입니다. 데이터 형식은
varchar
입니다.
다음 파라미터는 선택적입니다.
database_page_size
-
데이터베이스의 기본 페이지 크기입니다. 유효한 값:
4096
,8192
,16384
,32768
. 데이터 형식은integer
입니다. 기본값은8192
입니다.중요
Amazon RDS는 4KiB, 8KiB 및 16KiB 페이지에 대한 쓰기 원자성을 지원합니다. 반면 32KiB 페이지는 쓰기가 찢기거나 데스크에 데이터가 일부만 기록될 위험이 있습니다. 32KiB 페이지를 사용하는 경우 시점 복구와 자동 백업을 활성화하는 것이 좋습니다. 그렇지 않으면 찢긴 페이지를 복구하지 못할 위험이 있습니다. 자세한 내용은 백업 소개 및 Amazon RDS에서 DB 인스턴스를 지정된 시간으로 복원 단원을 참조하세요.
database_code_set
-
데이터베이스의 코드 집합입니다. 데이터 형식은
varchar
입니다. 기본값은UTF-8
입니다. database_territory
-
데이터베이스의 두 문자 국가 코드입니다. 데이터 형식은
varchar
입니다. 기본값은US
입니다. database_collation
-
데이터베이스에 저장된 문자열을 정렬하고 비교하는 방법을 결정하는 데이터 정렬 순서입니다. 데이터 형식은
varchar
입니다.유효한 값:
-
COMPATIBILITY
- IBM Db2 버전 2 데이터 정렬 시퀀스. -
EBCDIC_819_037
- ISO 라틴 코드 페이지, 데이터 정렬, CCSID 037(EBCDIC 미국 영어). -
EBCDIC_819_500
- ISO 라틴 코드 페이지, 데이터 정렬, CCSID 500(EBCDIC 인터내셔널). -
EBCDIC_850_037
- ASCII 라틴 코드 페이지, 데이터 정렬, CCSID 037(EBCDIC 미국 영어). -
EBCDIC_850_500
- ASCII 라틴 코드 페이지, 데이터 정렬, CCSID 500(EBCDIC 인터내셔널). -
EBCDIC_932_5026
- ASCII 일본어 코드 페이지, 데이터 정렬, CCSID 037(EBCDIC 미국 영어). -
EBCDIC_932_5035
- ASCII 일본어 코드 페이지, 데이터 정렬, CCSID 500(EBCDIC 인터내셔널). -
EBCDIC_1252_037
- Windows 라틴 코드 페이지, 데이터 정렬, CCSID 037(EBCDIC 미국 영어). -
EBCDIC_1252_500
- Windows 라틴 코드 페이지, 데이터 정렬, CCSID 500(EBCDIC 인터내셔널). -
IDENTITY
- 기본 데이터 정렬. 문자열은 바이트 단위로 비교됩니다. -
IDENTITY_16BIT
- UTF-16 호환성 인코딩 스키마: 8비트(CESU-8) 데이터 정렬 시퀀스. 자세한 내용은 유니코드 컨소시엄 웹 사이트의 유니코드 기술 보고서 #26을 참조하세요. -
NLSCHAR
- 태국 코드 페이지(CP874)에서만 사용할 수 있습니다. -
SYSTEM
-SYSTEM
을 사용하는 경우 데이터베이스는database_codeset
및database_territory
의 데이터 정렬 시퀀스를 자동으로 사용합니다.
기본값은
IDENTITY
입니다.또한 RDS for Db2는
language-aware-collation
및locale-sensitive-collation
데이터 정렬 그룹을 지원합니다. 자세한 내용은 IBM Db2 설명서의 유니코드 데이터베이스의 데이터 정렬 선택을 참조하세요. -
database_autoconfigure_str
-
AUTOCONFIGURE
명령 구문입니다(예:'AUTOCONFIGURE APPLY DB'
). 데이터 형식은varchar
입니다. 기본값은 빈 문자열 또는 null입니다.자세한 내용은 IBM Db2 설명서의 AUTOCONFIGURE 명령
을 참조하세요.
사용 노트
Amazon RDS 콘솔 또는 AWS CLI를 사용하여 RDS for Db2 DB 인스턴스를 만들 때 데이터베이스 이름을 지정하지 않은 경우 rdsadmin.create_database
를 호출하여 데이터베이스를 만들 수 있습니다 자세한 내용은 DB 인스턴스 생성 단원을 참조하십시오.
특별 고려 사항:
-
Db2 인스턴스로 전송된
CREATE DATABASE
명령은RESTRICTIVE
옵션을 사용합니다. -
RDS for Db2는
AUTOMATIC STORAGE
만 사용합니다. -
RDS for Db2는
NUMSEGS
및DFT_EXTENT_SZ
의 기본값을 사용합니다. -
RDS for Db2는 스토리지 암호화를 사용하며 데이터베이스 암호화를 지원하지 않습니다.
이러한 고려 사항에 대한 자세한 내용은 IBM Db2 설명서의 CREATE DATABASE 명령
rdsadmin.create_database
를 호출하기 전에 rdsadmin
데이터베이스에 연결해야 합니다. 다음 예제에서 master_username
및 master_password
를 RDS for Db2 DB 인스턴스의 정보로 대체합니다.
db2 connect to rdsadmin user
master_username
usingmaster_password
데이터베이스 생성 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예시
다음 예제에서는 일본에 대한 database_code_set
, database_territory
, database_collation
파라미터의 올바른 조합을 사용하여 TESTJP
라는 데이터베이스를 생성합니다.
db2 "call rdsadmin.create_database('TESTJP', 4096, 'IBM-437', 'JP', 'SYSTEM')"
rdsadmin.drop_database
데이터베이스를 삭제합니다.
구문
db2 "call rdsadmin.drop_database('
database_name
')"
파라미터
다음 파라미터는 필수입니다.
database_name
-
삭제할 데이터베이스의 이름입니다. 데이터 형식은
varchar
입니다.
사용 노트
다음 조건이 충족되면 rdsadmin.drop_database
만 직접 호출하여 데이터베이스를 삭제할 수 있습니다.
-
Amazon RDS 콘솔 또는 AWS CLI를 사용하여 RDS for Db2 DB 인스턴스를 만들 때 데이터베이스 이름을 지정하지 않았습니다. 자세한 내용은 DB 인스턴스 생성 단원을 참조하십시오.
-
rdsadmin.create_database 저장 프로시저를 호출하여 데이터베이스를 만들었습니다.
-
rdsadmin.restore_database 저장 프로시저를 호출하여 오프라인 또는 백업 이미지에서 데이터베이스를 복원했습니다.
rdsadmin.drop_database
를 호출하기 전에 rdsadmin
데이터베이스에 연결해야 합니다. 다음 예제에서 master_username
및 master_password
를 RDS for Db2 DB 인스턴스의 정보로 대체합니다.
db2 connect to rdsadmin user
master_username
usingmaster_password
데이터베이스 삭제 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
저장 프로시저를 호출할 때 반환되는 오류 메시지는 저장된 프로시저의 오류 해결 섹션을 참조하세요.
예시
다음 예제에서는 TESTDB
라는 데이터베이스를 삭제합니다.
db2 "call rdsadmin.drop_database('TESTDB')"
rdsadmin.update_db_param
데이터베이스 파라미터를 업데이트합니다.
구문
db2 "call rdsadmin.update_db_param( '
database_name
', 'parameter_to_modify
', 'changed_value
)"
파라미터
다음 파라미터는 필수 파라미터입니다.
database_name
-
작업을 실행할 데이터베이스의 이름입니다. 데이터 형식은
varchar
입니다. parameter_to_modify
-
수정할 파라미터의 이름입니다. 데이터 형식은
varchar
입니다. 자세한 내용은 Amazon RDS for Db2 파라미터 단원을 참조하십시오. changed_value
-
파라미터 값을 변경할 값입니다. 데이터 형식은
varchar
입니다.
사용 노트
데이터베이스 파라미터 업데이트 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
저장 프로시저를 호출할 때 반환되는 오류 메시지는 저장된 프로시저의 오류 해결 섹션을 참조하세요.
예시
다음 예제에서는 TESTDB
라는 데이터베이스의 archretrydelay
파라미터를 100
으로 업데이트합니다.
db2 "call rdsadmin.update_db_param( 'TESTDB', 'archretrydelay', '100')"
다음 예제에서는 종속성 검사를 피하기 위해 TESTDB
라는 데이터베이스에서 생성된 객체의 검증을 연기합니다.
db2 "call rdsadmin.update_db_param( 'TESTDB', 'auto_reval', 'deferred_force')"
rdsadmin.set_configuration
데이터베이스의 특정 설정을 구성합니다.
구문
db2 "call rdsadmin.set_configuration( '
name
', 'value
')"
파라미터
다음 파라미터는 필수 파라미터입니다.
이름
-
구성 설정의 이름입니다. 데이터 형식은
varchar
입니다. USD 상당
-
구성 설정 값입니다. 데이터 형식은
varchar
입니다.
사용 노트
다음 테이블에는 rdsadmin.set_configuration
으로 제어할 수 있는 구성 설정이 나와 있습니다.
명칭 | 설명 |
---|---|
|
복원 작업 중에 생성할 버퍼 개수입니다. 이 값은 DB 인스턴스 클래스의 총 메모리 크기보다 작아야 합니다. 이 설정이 구성되지 않은 경우 Db2는 복원 작업 중에 사용할 값을 결정합니다. 자세한 내용은 IBM Db2 설명서 |
|
복원 작업 중에 생성할 버퍼 조작기 개수입니다. 이 값은 DB 인스턴스의 vCPU 개수보다 두 배 미만이어야 합니다. 이 설정이 구성되지 않은 경우 Db2는 복원 작업 중에 사용할 값을 결정합니다. 자세한 내용은 IBM Db2 설명서 |
예시
다음 예제에서는 RESTORE_DATABASE_PARALLELISM
구성을 8
로 설정합니다.
db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_PARALLELISM', '8')"
다음 예제에서는 RESTORE_DATABASE_NUM_BUFFERS
구성을 150
으로 설정합니다.
db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_BUFFERS', '150')"
rdsadmin.show_configuration
저장 프로시저 rdsadmin.set_configuration
을 사용하여 설정할 수 있는 현재 설정을 반환합니다.
구문
db2 "call rdsadmin.show_configuration( '
name
')"
파라미터
다음 파라미터는 선택 사항입니다.
이름
-
정보를 반환할 구성 설정의 이름입니다. 데이터 형식은
varchar
입니다.유효한 구성 이름은 다음과 같습니다.
-
RESTORE_DATABASE_NUM_BUFFERS – 복원 작업 중에 생성할 버퍼의 개수입니다.
-
RESTORE_DATABASE_PARALLELISM – 복원 작업 중에 생성할 버퍼 조작기 개수입니다.
-
사용 노트
구성 설정의 이름을 지정하지 않으면 rdsadmin.show_configuration
이 저장 프로시저 rdsadmin.set_configuration
을 사용하여 설정할 수 있는 모든 구성 설정에 대한 정보를 반환합니다.
예시
다음 예제는 현재 RESTORE_DATABASE_PARALLELISM
구성에 관한 정보를 반환합니다.
db2 "call rdsadmin.show_configuration( 'RESTORE_DATABASE_PARALLELISM')"
rdsadmin.restore_database
데이터베이스를 복원합니다.
구문
db2 "call rdsadmin.restore_database( ?, '
database_name
', 's3_bucket_name
', 's3_prefix
',restore_timestamp
, 'backup_type
')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
오류 메시지를 출력하는 파라미터 표시자입니다. 이 파라미터는
?
만 허용합니다.
다음 입력 파라미터는 필수입니다.
database_name
-
복원할 데이터베이스의 이름입니다. 이 이름은 백업 이미지의 데이터베이스 이름과 일치해야 합니다. 데이터 형식은
varchar
입니다. s3_bucket_name
-
백업이 있는 Amazon S3 버킷의 이름입니다. 데이터 형식은
varchar
입니다. s3_prefix
-
다운로드 중 파일 일치 작업에 사용할 접두사입니다. 데이터 형식은
varchar
입니다.이 파라미터가 비어 있는 경우 Amazon S3 버킷의 모든 파일이 다운로드됩니다. 다음은 접두사의 예제입니다.
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
restore_timestamp
-
데이터베이스 백업 이미지의 타임스탬프입니다. 데이터 형식은
varchar
입니다.타임스탬프는 백업 파일 이름에 포함됩니다. 예를 들어,
20230615010101
은 파일 이름SAMPLE.0.rdsdb.DBPART000.20230615010101.001
의 타임스탬프입니다. backup_type
-
백업 유형입니다. 데이터 형식은
varchar
입니다. 유효한 값:OFFLINE
,ONLINE
.가동 중지 시간이 거의 없는 마이그레이션에는
ONLINE
을 사용합니다. 자세한 내용은 Linux에서 Amazon RDS for Db2의 가동 중지 시간이 거의 없는 Linux로 마이그레이션 단원을 참조하십시오.
사용 노트
저장된 프로시저를 직접적으로 호출하기 전에 다음 고려 사항을 검토하세요.
-
Amazon RDS 콘솔 또는 AWS CLI를 사용하여 RDS for Db2 DB 인스턴스를 만들 때 데이터베이스 이름을 지정하지 않은 경우에만
rdsadmin.restore_database
를 직접적으로 호출하여 데이터베이스를 복원할 수 있습니다. 자세한 내용은 DB 인스턴스 생성 단원을 참조하십시오. -
데이터베이스를 복원하기 전에 RDS for Db2 DB 인스턴스의 스토리지 공간을 백업 크기와 디스크의 원래 Db2 데이터베이스 크기를 합한 값 이상으로 프로비저닝해야 합니다. 자세한 내용은 Insufficient disk space 단원을 참조하십시오.
-
백업을 복원할 때 Amazon RDS는 RDS for Db2 DB 인스턴스에서 백업 파일을 추출합니다. 각 백업 파일은 5TB 이하여야 합니다. 백업 파일이 5TB를 초과하면 해당 백업 파일을 더 작은 크기의 파일들로 나누어야 합니다.
-
rdsadmin.restore_database
저장 프로시저를 사용해 모든 파일을 복원하도록 하려면 파일 이름의 타임스탬프 뒤에 파일 번호 접미사를 포함하지 않습니다. 예를 들어,s3_prefix
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
은 다음 파일을 복원합니다.SAMPLE.0.rdsdb.DBPART000.20230615010101.001 SAMPLE.0.rdsdb.DBPART000.20230615010101.002 SAMPLE.0.rdsdb.DBPART000.20230615010101.003 SAMPLE.0.rdsdb.DBPART000.20230615010101.004 SAMPLE.0.rdsdb.DBPART000.20230615010101.005
-
RDS for Db2는 비자동 스토리지를 지원하지 않습니다. 자세한 내용은 Tablespaces not restored 단원을 참조하십시오.
-
RDS for Db2는 격리되지 않은 루틴 생성을 지원하지 않습니다. 자세한 내용은 Non-fenced routines not allowed 단원을 참조하십시오.
-
데이터베이스 복원 작업의 성능을 향상시키기 위해 RDS에서 사용할 버퍼 및 버퍼 조작자의 개수를 구성할 수 있습니다. 현재 구성을 확인하려면 rdsadmin.show_configuration을 사용합니다. 구성을 변경하려면 rdsadmin.set_configuration을 사용합니다.
데이터베이스를 복원한 후 데이터베이스를 온라인 상태로 전환하고 추가 트랜잭션 로그를 적용하려면 rdsadmin.rollforward_database 섹션을 참조하세요.
데이터베이스 복원 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
저장 프로시저를 호출할 때 반환되는 오류 메시지는 저장된 프로시저의 오류 해결 섹션을 참조하세요.
예시
다음 예제에서는 s3_prefix
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
이 있는 단일 파일 또는 여러 파일을 사용하여 오프라인 백업을 복원합니다.
db2 "call rdsadmin.restore_database( ?, 'SAMPLE', '
amzn-s3-demo-bucket
', 'backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101', 20230615010101, 'OFFLINE')"
rdsadmin.rollforward_database
rdsadmin.restore_database를 호출하여 데이터베이스를 복원한 후 데이터베이스를 온라인 상태로 만들고 추가 트랜잭션 로그를 적용합니다.
구문
db2 "call rdsadmin.rollforward_database( ?, '
database_name
', 's3_bucket_name
',s3_prefix
, 'rollfoward_to_option
', 'complete_rollforward
')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
오류 메시지를 출력하는 파라미터 표시자입니다. 이 파라미터는
?
만 허용합니다.
다음 입력 파라미터는 필수입니다.
database_name
-
작업을 수행할 데이터베이스의 이름입니다. 데이터 형식은
varchar
입니다. s3_bucket_name
-
백업이 있는 Amazon S3 버킷의 이름입니다. 데이터 형식은
varchar
입니다. s3_prefix
-
다운로드 중 파일 일치 작업에 사용할 접두사입니다. 데이터 형식은
varchar
입니다.이 파라미터가 비어 있는 경우 S3 버킷의 모든 파일이 다운로드됩니다. 다음은 접두사 예제입니다.
backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
입력 다음 파라미터는 선택적입니다.
rollforward_to_option
-
롤포워드하려는 지점입니다. 데이터 형식은
varchar
입니다. 유효한 값:END_OF_LOGS
,END_OF_BACKUP
. 기본값은END OF LOGS
입니다. complete_rollforward
-
롤포워드 프로세스를 완료할지 여부를 지정합니다. 데이터 형식은
varchar
입니다. 기본값은TRUE
입니다.TRUE
인 경우 완료 후 데이터베이스가 온라인 상태이고 액세스할 수 있습니다.FALSE
인 경우 데이터베이스는ROLL-FORWARD PENDING
상태가 유지됩니다.
사용 노트
rdsadmin.restore_database를 호출한 후에는 rollforward_database
를 호출하여 S3 버킷의 아카이브 로그를 적용해야 합니다. 이 저장 프로시저를 사용하여 rdsadmin.restore_database
호출 후 추가 트랜잭션 로그를 복원할 수도 있습니다.
complete_rollforward
를 FALSE
로 설정하면 데이터베이스가 ROLL-FORWARD PENDING
상태이고 오프라인 상태입니다. 데이터베이스를 온라인 상태로 만들려면 rdsadmin.complete_rollforward를 직접 호출해야 합니다.
데이터베이스의 롤포워드 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예시
다음 예제에서는 트랜잭션 로그가 있는 데이터베이스의 온라인 백업으로 롤포워드한 다음 데이터베이스를 온라인 상태로 만듭니다.
db2 "call rdsadmin.rollforward_database( ?, null, null, 'END_OF_LOGS', 'TRUE')"
다음 예제에서는 트랜잭션 로그가 없는 데이터베이스의 온라인 백업으로 롤포워드한 다음 데이터베이스를 온라인 상태로 만듭니다.
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', '
amzn-s3-demo-bucket
', 'logsfolder/, 'END_OF_BACKUP', 'TRUE')"
다음 예제에서는 트랜잭션 로그가 있는 데이터베이스의 온라인 백업으로 롤포워드한 다음 데이터베이스를 온라인 상태로 만들지 않습니다.
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', null, 'onlinebackup/TESTDB', 'END_OF_LOGS', 'FALSE')"
다음 예제에서는 추가 트랜잭션 로그가 있는 데이터베이스의 온라인 백업으로 롤포워드한 다음 데이터베이스를 온라인 상태로 만들지 않습니다.
db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', '
amzn-s3-demo-bucket
', 'logsfolder/S0000155.LOG', 'END_OF_LOGS', 'FALSE')"
rdsadmin.complete_rollforward
데이터베이스를 ROLL-FORWARD PENDING
상태에서 온라인 상태로 만듭니다.
구문
db2 "call rdsadmin.complete_rollforward( ?, '
database_name
')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
오류 메시지를 출력하는 파라미터 표시자입니다. 이 파라미터는
?
만 허용합니다.
다음 입력 파라미터는 필수입니다.
database_name
-
온라인으로 가져올 데이터베이스의 이름입니다. 데이터 형식은
varchar
입니다.
사용 노트
complete_rollforward
가 FALSE
로 설정된 상태로 rdsadmin.rollforward_database를 호출한 경우 데이터베이스는 ROLL-FORWARD PENDING
상태이며 오프라인 상태입니다. 롤포워드 프로세스를 완료하고 데이터베이스를 온라인 상태로 전환하려면 rdsadmin.complete_rollforward
를 호출하세요.
롤포워드 프로세스 완료 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예시
다음 예제에서는 TESTDB 데이터베이스를 온라인 상태로 전환합니다.
db2 "call rdsadmin.complete_rollfoward( ?, 'TESTDB')"
rdsadmin.db2pd_command
RDS for Db2 데이터베이스 정보를 수집합니다.
구문
db2 "call rdsadmin.db2pd_command('
db2pd_cmd
')"
파라미터
다음 입력 파라미터는 필수입니다.
db2pd_cmd
-
실행하려는
db2pd
명령의 이름입니다. 데이터 형식은varchar
입니다.파라미터는 하이픈으로 시작되어야 합니다. 파라미터 목록을 알아보려면 IBM Db2 설명서의 db2pd - Db2 데이터베이스 명령 모니터링 및 문제 해결
을 참조하세요. 다음 옵션은 JSON에서 지원되지 않습니다.
-
-addnode
-
-alldatabases
-
-alldbp
-
-alldbs
-
-allmembers
-
-alm_in_memory
-
-cfinfo
-
-cfpool
-
-command
-
-dbpartitionnum
-
-debug
-
-dump
-
-everything
-
-file | -o
-
-ha
-
-interactive
-
-member
-
-pages
참고
-pages summary
을(를) 지원합니다. -
-pdcollection
-
-repeat
-
-stack
-
-totalmem
file
하위 옵션은 지원되지 않습니다(예:db2pd -db testdb -tcbstats file=tcbstat.out
).stacks
의 사용은 지원되지 않습니다(예:db2pd -edus interval=5 top=10 stacks
). -
사용 노트
이 저장 프로시저는 RDS for Db2 데이터베이스를 모니터링하고 문제를 해결하는 데 도움이 되는 정보를 수집합니다.
저장 프로시저는 IBM db2pd
유틸리티를 사용하여 다양한 명령을 실행합니다. db2pd
유틸리티를 사용하려면 RDS for Db2 마스터 사용자에게는 없는 SYSADM
인증이 필요합니다. 하지만 Amazon RDS 저장 프로시저를 사용하면 마스터 사용자가 유틸리티를 사용하여 다양한 명령을 실행할 수 있습니다. 유틸리티에 대한 자세한 내용은 IBM Db2 설명서의 db2pd - Db2 데이터베이스 명령 모니터링 및 문제 해결
출력은 최대 2GB로 제한됩니다.
데이터베이스의 정보 수집 상태 점검에 대해 알아보려면 rdsadmin.get_task_status 섹션을 참조하세요.
예시
다음 예제는 RDS for Db2 DB 인스턴스의 가동 시간을 반환합니다.
db2 "call rdsadmin.db2pd_command('-')"
다음 예제는 TESTDB
라는 데이터베이스의 가동 시간을 반환합니다.
db2 "call rdsadmin.db2pd_command('-db TESTDB -')"
다음 예제는 RDS for Db2 DB 인스턴스의 메모리 사용량을 반환합니다.
db2 "call rdsadmin.db2pd_command('-dbptnmem')"
다음 예제는 RDS for Db2 DB 인스턴스 및 TESTDB
라는 데이터베이스의 메모리 집합을 반환합니다.
db2 "call rdsadmin.db2pd_command('-inst -db TESTDB -memsets')"
rdsadmin.force_application
RDS for Db2 데이터베이스의 애플리케이션을 강제 종료합니다.
구문
db2 "call rdsadmin.force_application( ?, '
applications
')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
오류 메시지를 출력하는 파라미터 표시자입니다. 이 파라미터는
?
만 허용합니다.
다음 입력 파라미터는 필수입니다.
애플리케이션
-
RDS for Db2 데이터베이스를 강제 종료하려는 애플리케이션입니다. 데이터 형식은
varchar
입니다. 유효한 값:ALL
또는application_handle
.여러 애플리케이션의 이름을 쉼표로 구분합니다. 예제: ‘
application_handle_1
,application_handle_2
’
사용 노트
이 저장 프로시저는 데이터베이스에서 모든 애플리케이션을 강제로 종료하므로 유지 관리를 수행할 수 있습니다.
저장 프로시저는 IBM FORCE APPLICATION
명령을 사용합니다. FORCE APPLICATION
명령을 사용하려면 RDS for Db2 마스터 사용자에게는 없는 SYSADM
, SYSMAINT
, SYSCTRL
인증이 필요합니다. 하지만 Amazon RDS 저장 프로시저를 사용하면 마스터 사용자가 명령을 사용할 수 있습니다. 자세한 내용은 IBM Db2 설명서의 FORCE APPLICATION 명령
데이터베이스의 애플리케이션 종료 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.
예시
다음 예제에서는 RDS for Db2 데이터베이스의 모든 애플리케이션을 강제 종료합니다.
db2 "call rdsadmin.force_application( ?, 'ALL')"
다음 예제에서는 RDS for Db2 데이터베이스의 9991
, 8891
, 1192
애플리케이션 핸들을 강제 종료합니다.
db2 "call rdsadmin.force_application( ?, '9991, 8891, 1192')"
rdsadmin.set_archive_log_retention
일부 RDS for Db2 데이터베이스의 아카이브 로그 파일을 보관하는 시간(시간 기준)을 구성합니다.
구문
db2 "call rdsadmin.set_archive_log_retention( ?, '
database_name
', 'archive_log_retention_hours
')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
오류 메시지를 출력하는 파라미터 표시자입니다. 이 파라미터는
?
만 허용합니다.
다음 입력 파라미터는 필수입니다.
database_name
-
아카이브 로그 보존을 구성할 데이터베이스의 이름입니다. 데이터 형식은
varchar
입니다. archive_log_retention_hours
-
아카이브 로그 파일을 유지하는 데 걸리는 시간입니다. 데이터 형식은
smallint
입니다. 기본값은0
이고 최댓값은168
(7일)입니다.값이
0
인 경우 Amazon RDS는 아카이브 로그 파일을 유지하지 않습니다.
사용 노트
기본적으로 RDS for Db2는 로그를 5분 동안 보존합니다. 변경 데이터 캡처(CDC) 또는 IBM Q Replication에 AWS DMS 등의 복제 도구를 사용하는 경우 도구에 로그 보존을 5분 이상으로 설정하는 것이 좋습니다.
rdsadmin.show_archive_log_retention을 직접적으로 호출하여 현재 아카이브 로그 보존 설정을 볼 수 있습니다.
rdsadmin
데이터베이스에서는 아카이브 로그 보존 설정을 구성할 수 없습니다.
예시
다음 예제에서는 TESTDB
라는 데이터베이스의 아카이브 로그 보존 시간을 24시간으로 설정합니다.
db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '24')"
다음 예제에서는 TESTDB
라는 데이터베이스의 아카이브 로그 보존을 비활성화합니다.
db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '0')"
rdsadmin.show_archive_log_retention
일부 데이터베이스의 현재 아카이브 로그 보존 설정을 반환합니다.
구문
db2 "call rdsadmin.show_archive_log_retention( ?, '
database_name
')"
파라미터
다음 출력 파라미터는 필수입니다.
- ?
-
오류 메시지를 출력하는 파라미터 표시자입니다. 이 파라미터는
?
만 허용합니다.
다음 입력 파라미터는 필수입니다.
database_name
-
아카이브 로그 보존 설정을 보여주는 데이터베이스의 이름입니다. 데이터 형식은
varchar
입니다.
예시
다음 예제에서는 TESTDB
라는 데이터베이스의 아카이브 로그 보존 설정을 보여줍니다.
db2 "call rdsadmin.show_archive_log_retention( ? 'TESTDB')"