RDS for Db2용 데이터베이스에 대해 저장된 프로시저 - Amazon Relational Database Service

RDS for Db2용 데이터베이스에 대해 저장된 프로시저

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

이러한 저장 프로시저는 다양한 작업에 사용됩니다. 단, 이 목록이 전부는 아닙니다.

구문, 파라미터, 사용 정보 및 예시에 대한 자세한 내용은 다음 기본 제공 저장 프로시저를 참조하세요.

rdsadmin.create_database

데이터베이스를 생성합니다.

구문

db2 "call rdsadmin.create_database( 'database_name', 'database_page_size', 'database_code_set', 'database_territory', 'database_collation', 'database_autoconfigure_str', 'database_non-restrictive')"

파라미터

참고

이 저장 프로시저는 필수 파라미터의 조합을 검증하지 않습니다. 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 5026(EBCDIC 미국 영어).

  • EBCDIC_932_5035 - ASCII 일본어 코드 페이지, 데이터 정렬, CCSID 5035(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_codesetdatabase_territory의 데이터 정렬 시퀀스를 자동으로 사용합니다.

기본값은 IDENTITY입니다.

또한 RDS for Db2는 language-aware-collationlocale-sensitive-collation 데이터 정렬 그룹을 지원합니다. 자세한 내용은 IBM Db2 설명서의 유니코드 데이터베이스의 데이터 정렬 선택을 참조하세요.

database_autoconfigure_str

AUTOCONFIGURE 명령 구문입니다(예: 'AUTOCONFIGURE APPLY DB'). 데이터 형식은 varchar입니다. 기본값은 빈 문자열 또는 null입니다.

자세한 내용은 IBM Db2 설명서의 AUTOCONFIGURE 명령을 참조하세요.

database_non-restrictive

데이터베이스 내에서 기본 권한 및 권한 부여. 데이터 형식은 varchar입니다. 기본값은 N입니다.

유효한 값:

  • N - 생성된 데이터베이스는 제한적이며 권한 또는 권한을 부여하지 않습니다.

  • Y - 생성된 데이터베이스는 비제한적이며 특수 그룹 PUBLIC에 일련의 권한을 부여합니다. 자세한 내용은 IBM Db2 설명서의 데이터베이스 생성 시 부여된 기본 권한을 참조하세요.

사용 노트

db2_compatibility_vector 파라미터를 수정하려는 경우 데이터베이스를 만들기 전에 파라미터를 수정합니다. 자세한 내용은 db2_compatibility_vector 파라미터 설정 섹션을 참조하세요.

특별 고려 사항:

  • Db2 인스턴스로 전송된 CREATE DATABASE 명령은 RESTRICTIVE 옵션을 사용합니다.

  • RDS for Db2는 AUTOMATIC STORAGE 테이블스페이스만 사용합니다.

  • RDS for Db2는 NUMSEGSDFT_EXTENT_SZ의 기본값을 사용합니다.

  • RDS for Db2는 스토리지 암호화를 사용하며 데이터베이스 암호화를 지원하지 않습니다.

이러한 고려 사항에 대한 자세한 내용은 IBM Db2 설명서의 CREATE DATABASE 명령을 참조하세요.

rdsadmin.create_database를 호출하기 전에 rdsadmin 데이터베이스에 연결해야 합니다. 다음 예제에서 master_usernamemaster_password를 RDS for Db2 DB 인스턴스의 정보로 대체합니다.

db2 connect to rdsadmin user master_username using master_password

데이터베이스 생성 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.

rdsadmin.create_database를 직접 호출할 때 반환되는 오류 메시지는 저장된 프로시저 오류 섹션을 참조하세요.

예시

다음 예제에서는 일본에 대한 database_code_set, database_territory, database_collation 파라미터의 올바른 조합을 사용하여 TESTJP라는 데이터베이스를 생성합니다.

db2 "call rdsadmin.create_database('TESTJP', 4096, 'IBM-437', 'JP', 'SYSTEM')"

rdsadmin.deactivate_database

데이터베이스를 비활성화합니다.

구문

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

파라미터

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

?

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

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

database_name

비활성화할 데이터베이스의 이름입니다. 데이터 형식은 varchar입니다.

사용 노트

데이터베이스를 비활성화하여 메모리 리소스를 절약하거나 다른 데이터베이스 구성을 변경할 수 있습니다. 비활성화된 데이터베이스를 다시 온라인 상태로 전환하려면 rdsadmin.activate_database 저장 프로시저를 직접적으로 호출합니다.

복제 중에 rdsadmin.deactivate_database 저장 프로시저를 직접적으로 호출하여 소스 DB 인스턴스에서 데이터베이스를 비활성화할 수 없습니다.

데이터베이스 비활성화 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.

rdsadmin.deactivate_database를 직접 호출할 때 반환되는 오류 메시지는 저장된 프로시저 오류 섹션을 참조하세요.

예시

다음 예시에서는 TESTDB라는 데이터베이스를 비활성화합니다.

db2 "call rdsadmin.deactivate_database(?, 'TESTDB')"

rdsadmin.activate_database

데이터베이스를 활성화합니다.

rdsadmin.reactivate_databaserdsadmin.activate_database의 차이에 대한 자세한 내용은 사용 노트 섹션을 참조하세요.

구문

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

파라미터

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

?

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

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

database_name

활성화할 데이터베이스의 이름입니다. 데이터 형식은 varchar입니다.

사용 노트

모든 데이터베이스는 만들어질 때 기본적으로 활성화됩니다. 독립형 DB 인스턴스에서 데이터베이스를 비활성화하여 메모리 리소스를 절약하거나, 다른 데이터베이스 구성을 변경하려는 경우 rdsadmin.activate_database 저장 프로시저를 직접적으로 호출하여 데이터베이스를 다시 활성화합니다.

이 저장 프로시저는 독립형 DB 인스턴스에 있고 rdsadmin.deactivate_database 저장 프로시저를 직접적으로 호출하여 비활성화된 데이터베이스만 활성화합니다. 복제본 소스 DB 인스턴스에서 데이터베이스를 활성화하려면 rdsadmin.reactivate_database 저장 프로시저를 직접적으로 호출해야 합니다.

데이터베이스 활성화 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.

rdsadmin.activate_database를 직접 호출할 때 반환되는 오류 메시지는 저장된 프로시저 오류 섹션을 참조하세요.

예시

다음 예시에서는 TESTDB라는 데이터베이스를 활성화합니다.

db2 "call rdsadmin.activate_database(?, 'TESTDB')"

rdsadmin.reactivate_database

데이터베이스를 재활성화합니다.

rdsadmin.activate_databaserdsadmin.reactivate_database의 차이에 대한 자세한 내용은 사용 노트 섹션을 참조하세요.

구문

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

파라미터

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

?

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

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

database_name

재활성화할 데이터베이스의 이름입니다. 데이터 형식은 varchar입니다.

사용 노트

rdsadmin.reactivate_database 저장 프로시저를 직접적으로 호출하면 저장 프로시저가 먼저 rdsadmin.deactivate_database 저장 프로시저를 직접적으로 호출하여 데이터베이스를 비활성화한 다음 rdsadmin.activate_database 저장 프로시저를 직접적으로 호출하여 데이터베이스를 활성화합니다.

데이터베이스 구성을 변경한 후 RDS for Db2 DB 인스턴스에서 데이터베이스를 재활성화해야 할 수 있습니다. 데이터베이스를 재활성화해야 하는지 확인하려면 데이터베이스에 연결하고 db2 get db cfg show detail을 실행합니다.

독립형 DB 인스턴스에 있는 데이터베이스의 경우 rdsadmin.reactivate_database 저장 프로시저를 사용하여 데이터베이스를 재활성화할 수 있습니다. 또는 rdsadmin.deactivate_database 저장 프로시저를 이미 직접적으로 호출한 경우 rdsadmin.activate_database 저장 프로시저를 대신 호출할 수 있습니다.

복제본 소스 DB 인스턴스에 있는 데이터베이스의 경우 rdsadmin.reactivate_database 저장 프로시저를 사용하여 데이터베이스를 재활성화해야 합니다.

데이터베이스 활성화 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.

rdsadmin.reactivate_database를 직접 호출할 때 반환되는 오류 메시지는 저장된 프로시저 오류 섹션을 참조하세요.

예시

다음 예시에서는 TESTDB라는 데이터베이스를 재활성화합니다.

db2 "call rdsadmin.reactivate_database(?, 'TESTDB')"

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_usernamemaster_password를 RDS for Db2 DB 인스턴스의 정보로 대체합니다.

db2 connect to rdsadmin user master_username using master_password

데이터베이스 삭제 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.

rdsadmin.drop_database를 직접 호출할 때 반환되는 오류 메시지는 저장된 프로시저 오류 섹션을 참조하세요.

예시

다음 예제에서는 TESTDB라는 데이터베이스를 삭제합니다.

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

rdsadmin.update_db_param

데이터베이스 파라미터를 업데이트합니다.

구문

db2 "call rdsadmin.update_db_param( 'database_name', 'parameter_to_modify', 'changed_value', 'restart_database')"

파라미터

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

database_name

작업을 실행할 데이터베이스의 이름입니다. 데이터 형식은 varchar입니다.

parameter_to_modify

수정할 파라미터의 이름입니다. 데이터 형식은 varchar입니다. 자세한 내용은 Amazon RDS for Db2 파라미터 섹션을 참조하세요.

changed_value

파라미터 값을 변경할 값입니다. 데이터 형식은 varchar입니다.

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

restart_database

재시작이 필요한 경우 RDS가 데이터베이스를 재시작할지 여부를 지정합니다. 데이터 형식은 varchar입니다. logprimarylogfilsiz를 수정하려면 이 파라미터를 'YES'로 설정합니다.

사용 노트

데이터베이스 파라미터 업데이트 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.

rdsadmin.update_db_param를 직접 호출할 때 반환되는 오류 메시지는 저장된 프로시저 오류 섹션을 참조하세요.

예시

예시 1: 파라미터 업데이트

다음 예제에서는 TESTDB라는 데이터베이스의 archretrydelay 파라미터를 100으로 업데이트합니다.

db2 "call rdsadmin.update_db_param( 'TESTDB', 'archretrydelay', '100')"

예시 2: 객체 검증 연기

다음 예제에서는 종속성 검사를 피하기 위해 TESTDB라는 데이터베이스에서 생성된 객체의 검증을 연기합니다.

db2 "call rdsadmin.update_db_param( 'TESTDB', 'auto_reval', 'deferred_force')"

rdsadmin.set_configuration

데이터베이스의 특정 설정을 구성합니다.

구문

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

파라미터

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

.name

구성 설정의 이름입니다. 데이터 형식은 varchar입니다.

구성 설정 값입니다. 데이터 형식은 varchar입니다.

사용 노트

다음 테이블에는 rdsadmin.set_configuration으로 제어할 수 있는 구성 설정이 나와 있습니다.

명칭 설명

RESTORE_DATABASE_NUM_BUFFERS

복원 작업 중에 생성할 버퍼 개수입니다. 이 값은 DB 인스턴스 클래스의 총 메모리 크기보다 작아야 합니다. 이 설정이 구성되지 않은 경우 Db2는 복원 작업 중에 사용할 값을 결정합니다. 자세한 내용은 IBM Db2 설명서의 RESTORE DATABASE 명령을 참조하세요.

RESTORE_DATABASE_PARALLELISM

복원 작업 중에 생성할 버퍼 조작기 개수입니다. 이 값은 DB 인스턴스의 vCPU 개수보다 두 배 미만이어야 합니다. 이 설정이 구성되지 않은 경우 Db2는 복원 작업 중에 사용할 값을 결정합니다. 자세한 내용은 IBM Db2 설명서의 RESTORE DATABASE 명령을 참조하세요.

RESTORE_DATABASE_NUM_MULTI_PATHS

Amazon S3 작업에서 복원하는 동안 사용할 경로(또는 I/O 스트림) 수입니다. 이 구성 설정을 사용하려면 백업 파일이 여러 개 있어야 합니다. 이 값은 여러 데이터베이스 백업 파일을 병렬로 복원하므로 대용량 데이터로 데이터베이스를 복원할 때 성능을 향상시킬 수 있습니다. 데이터베이스 백업 파일 수와 일치하도록이 값을 설정하는 것이 좋습니다. 자세한 내용은 IBM Db2 설명서의 BACKUP DATABASE 명령을 참조하세요.

USE_STREAMING_RESTORE

먼저 전체 백업을 RDS for Db2 DB 인스턴스에 다운로드한 다음 추출하는 대신 복원 중에 백업 데이터를 직접 스트리밍할지 여부를 지정합니다. USE_STREAMING_RESTORETRUE로 설정하면 스토리지 요구 사항이 크게 줄어들고 복원 성능이 향상될 수 있습니다. 이 설정을 사용하려면 IBM Db2 엔진 버전 11.5.9.0.sb00063198.r1 이상과 데이터베이스의 탄력적 네트워크 인터페이스(ENI)를 통한 Amazon S3 연결이 필요합니다. 자세한 내용을 알아보려면 IBM Db2 설명서의 원격 스토리지를 참조하세요.

예시

예시 1: 만들 버퍼 수 지정

다음 예제에서는 RESTORE_DATABASE_NUM_BUFFERS 구성을 150으로 설정합니다.

db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_BUFFERS', '150')"

예시 2: 만들 버퍼 조작기 수 지정

다음 예제에서는 RESTORE_DATABASE_PARALLELISM 구성을 8로 설정합니다.

db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_PARALLELISM', '8')"

예제 3: 복원 중에 사용할 경로 또는 I/O 스트림 수 지정

다음 예제에서는 RESTORE_DATABASE_NUM_MULTI_PATHS 구성을 5로 설정합니다.

db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_MULTI_PATHS', '5')"

예제 4: 백업 데이터를 스트리밍하도록 복원 설정

다음 예제에서는 USE_STREAMING_RESTORE 구성을 TRUE으로 설정합니다.

db2 "call rdsadmin.set_configuration( 'USE_STREAMING_RESTORE', 'TRUE')"

rdsadmin.show_configuration

저장 프로시저 rdsadmin.set_configuration을 사용하여 설정할 수 있는 현재 설정을 반환합니다.

구문

db2 "call rdsadmin.show_configuration( 'name')"

파라미터

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

.name

정보를 반환할 구성 설정의 이름입니다. 데이터 형식은 varchar입니다.

유효한 구성 이름은 다음과 같습니다.

  • RESTORE_DATABASE_NUM_BUFFERS – 복원 작업 중에 생성할 버퍼 개수입니다.

  • RESTORE_DATABASE_PARALLELISM – 복원 작업 중에 생성할 버퍼 조작기 개수입니다.

  • RESTORE_DATABASE_NUM_MULTI_PATHS - Amazon S3 작업에서 복원하는 동안 사용할 경로(또는 I/O 스트림) 수입니다.

  • USE_STREAMING_RESTORE - 먼저 전체 백업 데이터를 RDS for Db2 DB 인스턴스에 다운로드한 다음 추출하는 대신 복원 중에 백업 데이터를 직접 스트리밍할지 여부를 지정합니다.

사용 노트

구성 설정의 이름을 지정하지 않으면 rdsadmin.show_configuration이 저장 프로시저 rdsadmin.set_configuration을 사용하여 설정할 수 있는 모든 구성 설정에 대한 정보를 반환합니다.

예시

다음 예제는 현재 RESTORE_DATABASE_PARALLELISM 구성에 관한 정보를 반환합니다.

db2 "call rdsadmin.show_configuration( 'RESTORE_DATABASE_PARALLELISM')"

rdsadmin.backup_database

RDS for Db2 DB 인스턴스에서 Amazon S3 버킷으로 데이터베이스를 백업합니다.

구문

db2 "call rdsadmin.backup_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', 'backup_type', 'compression_option', 'util_impact_priority', 'num_files', 'parallelism', 'num_buffers')"

파라미터

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

?

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

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

database_name

백업할 RDS for Db2 DB 인스턴스의 대상 데이터베이스 이름입니다. 데이터 형식은 varchar입니다.

데이터베이스는 DB 인스턴스에 있어야 합니다. rdsadmin 데이터베이스를 백업할 수 없습니다.

s3_bucket_name

백업이 상주할 Amazon S3 버킷의 이름입니다. 데이터 형식은 varchar입니다.

rdsadmin.backup_database를 직접적으로 호출하기 전에 S3 버킷이 존재하고, 백업하려는 RDS for Db2 DB 인스턴스의 대상 데이터베이스와 동일한 AWS 리전에 있어야 하며, DB 인스턴스에 연결된 IAM 역할을 통해 액세스할 수 있어야 합니다.

s3_prefix

RDS for Db2가 백업 파일을 업로드하는 Amazon S3 경로의 접두사입니다. 데이터 형식은 varchar입니다.

접두사는 1,024자로 제한됩니다. 선행 또는 후행 슬래시(/)를 포함하면 안 됩니다. Amazon S3로의 IBM 스트리밍 제한으로 인해 접두사에 하위 디렉터리가 포함되는 것이 좋습니다.

파일 관리를 개선하기 위해 RDS for Db2는 s3_prefix 이후에 추가 디렉터리를 생성합니다. RDS for Db2는 모든 백업 파일을 s3_prefix/dbi_resource_id/db_name에 업로드합니다. num_files1보다 높게 설정하면 db_name 디렉터리에 백업 파일이 두 개 이상 포함됩니다.

다음은 백업 파일의 Amazon S3 위치 예입니다. 이 예제에서 backups/dailys3_prefix 파라미터에 설정된 값입니다.

backups/daily/db-5N7FXOY4GDP7RG2NSH2ZTAI2W4/SAMPLEDB
backup_type

백업 중에 데이터베이스를 계속 사용할 수 있는지 여부를 결정하는 백업 유형입니다. 데이터 형식은 varchar입니다.

유효한 값:

  • OFFLINE - 백업 중에는 데이터베이스를 사용할 수 없습니다. 이 유형은 더 빠르지만 가동 중지 시간이 발생합니다.

  • ONLINE - 백업 중에 데이터베이스를 계속 사용할 수 있습니다. 기본적으로 ONLINEINCLUDE LOGS로 설정됩니다.

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

compression_option

백업 시간, CPU 사용량 및 스토리지 비용에 영향을 미치는 사용되는 압축 알고리즘의 유형입니다. 데이터 형식은 varchar입니다. 기본값은 NONE입니다.

유효한 값:

  • NONE - 파일 크기가 가장 크고 CPU 사용량이 가장 적으며 스토리지 비용이 가장 저렴합니다.

  • STANDARD - 표준 Db2 압축입니다. libdb2compr.so를 사용합니다.

  • ZLIB – 향상된 Db2 압축입니다. libdb2zcompr.so를 사용하지만 CPU 집약적이고 가장 비용이 많이 드는 스토리지 비용입니다.

util_impact_priority

백업이 시스템 리소스에 미치는 영향을 제어하는 설정입니다. 데이터 형식은 integer입니다. 유효한 값: 1~100(낮음에서 높음 순) 기본값은 50입니다.

값이 낮을수록 백업이 시스템 리소스에 미치는 영향이 줄어들지만, 데이터베이스를 백업하는 데 걸리는 시간이 늘어날 수 있습니다. 값이 높을수록 데이터베이스 백업이 더 빨리 완료될 수 있지만, 다른 작업에 영향을 미칠 수 있습니다. 실제 영향은 전체 시스템 사용률 및 util_impact_lim 설정에 따라 달라집니다. 파라미터 그룹에서 util_impact_lim 설정을 보고 수정할 수 있습니다. 자세한 내용은 Amazon RDS for Db2 파라미터 섹션을 참조하세요.

num_files

Amazon S3에 대한 병렬 업로드 스트림 수입니다. 데이터 형식은 integer입니다. 유효한 값은 1~256입니다.

Amazon RDS가 자동으로 계산하는 기본값으로, 백업 성능을 관찰한 후에만 이 파라미터를 설정하는 것이 좋습니다. 값이 높을수록 대규모 백업, 특히 고대역폭 연결의 성능이 향상될 수 있지만, 특정 시점에서 값이 높을수록 성능이 저하됩니다. 또한 사용 가능한 시스템 리소스와 네트워크 용량을 고려해야 합니다.

parallelism

백업 유틸리티가 병렬로 읽을 수 있는 테이블스페이스 수입니다. 데이터 형식은 integer입니다. 유효한 값은 1~256입니다.

Db2 엔진이 자동으로 최적의 값으로 계산하는 기본값으로, 백업 성능을 관찰한 후에만이 파라미터를 설정하는 것이 좋습니다. 이 파라미터를 설정하면 Amazon RDS는 사용 가능한 프로세서에 대해 검증하고, 처리 능력이 충분하지 않은 경우 백업 요청을 실행하지 않습니다.

num_buffers

사용할 버퍼 수입니다. 데이터 형식은 integer입니다. 유효한 값은 1~268435456입니다.

Amazon RDS가 메모리를 기반으로 자동으로 계산하는 기본값으로, 백업 성능을 관찰한 후에만이 파라미터를 설정하는 것이 좋습니다. 이 파라미터를 설정하면 Amazon RDS는 사용 가능한 메모리에 대해 검증하고 사용 가능한 메모리가 충분하지 않은 경우 백업 요청을 실행하지 않습니다. 여러 위치로 백업하는 경우(num_files1 이상으로 설정됨) 버퍼 수가 많을수록 성능이 향상될 수 있습니다. compression_optionNONE으로 설정하지 않으면 num_buffersparallelism을 늘려 성능을 개선할 수 있습니다.

사용 노트

이 저장 프로시저는 Amazon S3 통합을 사용하여 데이터베이스 백업을 Amazon S3 버킷으로 직접 스트리밍하는 비동기 백업 작업을 생성합니다. 로컬 서버나 RDS for Db2 DB 인스턴스에서 백업을 만들고, 이를 Amazon S3로 스트리밍한 다음 원하는 곳 어디에서나 복원할 수 있습니다. RDS for Db2 DB 인스턴스로 데이터베이스를 복원하는 것에 대한 자세한 내용은 rdsadmin.restore_database 섹션을 참조하세요.

저장된 프로시저를 직접적으로 호출하기 전에 다음 고려 사항을 검토하세요.

rdsadmin.backup_database를 호출하기 전에 rdsadmin 데이터베이스에 연결해야 합니다. 다음 예제에서 master_usernamemaster_password를 RDS for Db2 DB 인스턴스의 정보로 대체합니다.

db2 connect to rdsadmin user master_username using master_password

데이터베이스를 백업한 후 연결을 종료해야 합니다.

terminate

데이터베이스 백업 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.

rdsadmin.backup_database를 직접 호출할 때 반환되는 오류 메시지는 저장된 프로시저 오류 섹션을 참조하세요.

예시

모든 예제는 MYDB라는 데이터베이스를 amzn-s3-demo-bucket이라는 Amazon S3 버킷에 백업하고 s3_prefixbackups/daily로 설정합니다.

예제 #1: 사용률 중앙값과 단일 업로드 스트림으로 데이터베이스를 오프라인으로 지정하고 사용할 수 없음

다음 예제에서는 데이터베이스가 오프라인 상태이므로 더 빠르지만 백업 중에 데이터베이스를 사용할 수 없습니다. 이 예제에서는 파일 압축을 수행하지 않고, 시스템 리소스에 중간 영향을 미치며, Amazon S3에 대한 단일 업로드 스트림을 사용합니다.

db2 call "rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE', 'NONE', 50, 1)"

예제 #2: 향상된 압축, 중간 사용률 및 소수의 병렬 업로드 스트림으로 온라인 및 사용 가능한 데이터베이스 지정

다음 예제에서 데이터베이스는 온라인 상태이며 백업 중에 사용할 수 있습니다. 이 예제에서는 향상된 압축을 수행하므로 파일 크기가 작지만 CPU 집약적입니다. 시스템 리소스에 미치는 영향의 중앙값보다 약간 높으며, Amazon S3에 5개의 업로드 스트림을 사용합니다.

db2 call "rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'ONLINE', 'ZLIB', 60, 5)"

예제 #3: 데이터베이스를 오프라인으로 지정하고 기본값 및 시스템 계산에서 사용할 수 없음

다음 예제에서는 데이터베이스가 오프라인 상태이므로 더 빠르지만 백업 중에 데이터베이스를 사용할 수 없습니다. 이 예제에서는 파일의 기본 압축을 사용하고 시스템 리소스에 영향을 미칩니다. 또한 RDS for Db2는 Amazon S3에 대한 병렬 업로드 스트림 수, 병렬로 읽을 테이블스페이스 및 사용할 버퍼를 계산할 수 있습니다.

db2 "call rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE')"

예제 #4: 압축 없이 데이터베이스를 오프라인으로 지정하고 사용할 수 없음, 높은 사용률 및 사용자 지정 계산

다음 예제에서는 데이터베이스가 오프라인 상태이므로 더 빠르지만 백업 중에 데이터베이스를 사용할 수 없습니다. 이 예제에서는 파일 압축을 수행하지 않고, 시스템 리소스에 큰 영향을 미치며, Amazon S3에 20개의 업로드 스트림을 사용합니다. 병렬로 읽을 최대 테이블스페이스 수를 설정하므로 처리 능력이 충분하지 않으면 백업 요청이 실패할 수 있습니다. 또한 사용할 최대 버퍼 수를 설정하여 메모리가 부족할 경우 백업 요청이 실패할 수 있습니다.

db2 "call rdsadmin.backup_database( ?, 'MYDB', 'amzn-s3-demo-bucket', 'backups/daily', 'OFFLINE', 'NONE', 90, 20, 256, 268435456)"

rdsadmin.restore_database

Amazon S3 버킷에서 RDS for Db2 DB 인스턴스로 데이터베이스를 복원합니다.

구문

db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', restore_timestamp, 'backup_type')"

파라미터

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

?

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

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

database_name

RDS for Db2에서 복원할 대상 데이터베이스의 이름입니다. 데이터 형식은 varchar입니다.

예를 들어 소스 데이터베이스 이름이 TESTDB이고 database_nameNEWDB로 설정하면 Amazon RDS가 NEWDB를 소스 데이터베이스로 복원합니다.

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로 마이그레이션 섹션을 참조하세요.

사용 노트

이 저장 프로시저를 사용하여 Db2 데이터베이스를 RDS for Db2 DB 인스턴스로 마이그레이션할 수 있습니다. 자세한 내용은 AWS 서비스를 사용하여 Db2에서 Amazon RDS for Db2로 데이터 마이그레이션 섹션을 참조하세요. 또한 이 저장 프로시저를 사용하여 동일한 복원 이미지를 사용하는 동일한 데이터베이스의 여러 복사본을 서로 다른 데이터베이스 이름으로 생성할 수 있습니다.

저장된 프로시저를 직접적으로 호출하기 전에 다음 고려 사항을 검토하세요.

  • 데이터베이스를 복원하기 전에 디스크에 있는 원래 Db2 데이터베이스보다 큰 RDS for Db2 DB 인스턴스용 저장 공간을 프로비저닝해야 합니다. USE_STREAMING_RESTORE를 활성화한 경우 백업을 복원하면 Amazon RDS는 백업 파일을 S3 버킷에서 RDS for Db2 DB 인스턴스로 직접 스트리밍합니다. USE_STREAMING_RESTORE를 활성화하지 않으면 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에서 사용할 버퍼 수, 버퍼 조작자, 여러 백업 경로 수를 구성할 수 있습니다. 스토리지 사용량을 최적화하고 잠재적으로 성능을 개선하기 위해 Amazon S3에서 백업을 직접 스트리밍할 수도 있습니다. 현재 구성을 확인하려면 rdsadmin.show_configuration을 사용합니다. 구성을 변경하려면 rdsadmin.set_configuration을 사용합니다.

데이터베이스를 복원한 후 데이터베이스를 온라인 상태로 전환하고 추가 트랜잭션 로그를 적용하려면 rdsadmin.rollforward_database 섹션을 참조하세요.

데이터베이스 복원 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.

rdsadmin.restore_database를 직접 호출할 때 반환되는 오류 메시지는 저장된 프로시저 오류 섹션을 참조하세요.

예시

다음 예제에서는 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, 'rollforward_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입니다. 유효한 값: 타임스탬프가 YYYY-MM-DD-HH.MM.SS 형식인 END_OF_LOGS, END_OF_BACKUP. 기본값은 END_OF_LOGS입니다.

complete_rollforward

롤포워드 프로세스를 완료할지 여부를 지정합니다. 데이터 형식은 varchar입니다. 기본값은 TRUE입니다.

TRUE인 경우 완료 후 데이터베이스가 온라인 상태이고 액세스할 수 있습니다. FALSE인 경우 데이터베이스는 ROLL-FORWARD PENDING 상태가 유지됩니다.

사용 노트

다양한 시나리오에서 온프레미스로 생성되는 로그를 포함하는 온라인 백업에 rds.rollforward_database를 사용할 수 있습니다.

시나리오 1: 데이터베이스 복원, 포함된 로그를 롤포워드, 데이터베이스를 온라인 상태로 전환

rdsadmin.restore_database()가 완료되면 예제 1의 구문을 사용하여 트랜잭션 로그가 있는 데이터베이스를 온라인 상태로 전환합니다.

시나리오 2: 데이터베이스를 온라인 상태로 전환하지만 포함된 로그를 롤포워드하지 않음

rdsadmin.restore_database()가 완료되면 예제 2의 구문을 사용하여 트랜잭션 로그가 없는 데이터베이스를 온라인 상태로 전환합니다.

시나리오 3: 백업에 포함된 로그를 앞 버전으로 이동하고 온프레미스에서 생성되는 추가 트랜잭션 로그 적용

rdsadmin.restore_database()가 완료되면 예제 3 또는 예제 4의 구문을 사용하여 데이터베이스를 온라인 상태로 전환하지 않고 로그를 롤포워드합니다.

complete_rollforwardFALSE로 설정하면 데이터베이스가 ROLL-FORWARD PENDING 상태이고 오프라인 상태입니다. 데이터베이스를 온라인 상태로 만들려면 rdsadmin.complete_rollforward를 직접 호출해야 합니다.

데이터베이스의 롤포워드 상태 점검에 대한 자세한 내용은 rdsadmin.rollforward_status 섹션을 참조하세요.

예시

예제 1: 트랜잭션 로그가 있는 데이터베이스를 온라인 상태로 전환

다음 예제에서는 트랜잭션 로그가 있는 데이터베이스의 온라인 백업으로 롤포워드한 다음 데이터베이스를 온라인 상태로 만듭니다.

db2 "call rdsadmin.rollforward_database( ?, null, null, 'END_OF_LOGS', 'TRUE')"

예시 2: 트랜잭션 로그가 없는 데이터베이스를 온라인으로 가져오기

다음 예제에서는 트랜잭션 로그가 없는 데이터베이스의 온라인 백업으로 롤포워드한 다음 데이터베이스를 온라인 상태로 만듭니다.

db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'amzn-s3-demo-bucket', 'logsfolder/, 'END_OF_BACKUP', 'TRUE')"

예시 3: 트랜잭션 로그가 있는 데이터베이스를 온라인으로 가져오지 않기

다음 예제에서는 트랜잭션 로그가 있는 데이터베이스의 온라인 백업으로 롤포워드한 다음 데이터베이스를 온라인 상태로 만들지 않습니다.

db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', null, 'onlinebackup/TESTDB', 'END_OF_LOGS', 'FALSE')"

예시 4: 추가 트랜잭션 로그가 있는 데이터베이스를 온라인으로 가져오지 않기

다음 예제에서는 추가 트랜잭션 로그가 있는 데이터베이스의 온라인 백업으로 롤포워드한 다음 데이터베이스를 온라인 상태로 만들지 않습니다.

db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'amzn-s3-demo-bucket', 'logsfolder/S0000155.LOG', 'END_OF_LOGS', 'FALSE')"

rdsadmin.rollforward_status

ROLLFORWARD DATABASE database_name QUERY STATUS의 출력을 반환합니다.

구문

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

파라미터

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

?

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

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

database_name

작업을 수행할 데이터베이스의 이름입니다. 데이터 형식은 varchar입니다.

사용 노트

rdsadmin.rollforward_database를 직접적으로 호출한 후 rdsadmin.rollforward_status를 직접적으로 호출하여 데이터베이스의 롤포워드 상태를 확인할 수 있습니다.

이 저장 프로시저의 상태 점검에 대한 자세한 내용은 rdsadmin.get_task_status 섹션을 참조하세요.

rdsadmin.complete_rollforward

데이터베이스를 ROLL-FORWARD PENDING 상태에서 온라인 상태로 만듭니다.

구문

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

파라미터

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

?

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

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

database_name

온라인으로 가져올 데이터베이스의 이름입니다. 데이터 형식은 varchar입니다.

사용 노트

complete_rollforwardFALSE로 설정된 상태로 rdsadmin.rollforward_database를 호출한 경우 데이터베이스는 ROLL-FORWARD PENDING 상태이며 오프라인 상태입니다. 롤포워드 프로세스를 완료하고 데이터베이스를 온라인 상태로 전환하려면 rdsadmin.complete_rollforward를 호출하세요.

롤포워드 프로세스 완료 상태 점검에 대한 자세한 내용은 rdsadmin.rollforward_status 섹션을 참조하세요.

예시

다음 예제에서는 TESTDB 데이터베이스를 온라인 상태로 전환합니다.

db2 "call rdsadmin.complete_rollforward( ?, '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 섹션을 참조하세요.

예시

예시 1: DB 인스턴스의 가동 시간 반환

다음 예제는 RDS for Db2 DB 인스턴스의 가동 시간을 반환합니다.

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

예시 2: 데이터베이스의 가동 시간 반환

다음 예제는 TESTDB라는 데이터베이스의 가동 시간을 반환합니다.

db2 "call rdsadmin.db2pd_command('-db TESTDB -')"

예시 3: DB 인스턴스의 메모리 사용량 반환

다음 예제는 RDS for Db2 DB 인스턴스의 메모리 사용량을 반환합니다.

db2 "call rdsadmin.db2pd_command('-dbptnmem')"

예시 4: DB 인스턴스 및 데이터베이스의 메모리 세트 반환

다음 예제는 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 섹션을 참조하세요.

예시

예시 1: 모든 애플리케이션 지정

다음 예제에서는 RDS for Db2 데이터베이스의 모든 애플리케이션을 강제 종료합니다.

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

예시 2: 여러 애플리케이션 지정

다음 예제에서는 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 데이터베이스에서는 아카이브 로그 보존 설정을 구성할 수 없습니다.

예시

예시 1: 보존 시간 설정

다음 예제에서는 TESTDB라는 데이터베이스의 아카이브 로그 보존 시간을 24시간으로 설정합니다.

db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '24')"

예시 2: 보존 시간 비활성화

다음 예제에서는 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')"

rdsadmin.list_archive_log_information

크기, 만든 날짜 및 시간, 지정된 데이터베이스의 개별 로그 파일 이름 등 아카이브 로그 파일에 대한 세부 정보를 반환합니다. 또한 데이터베이스의 로그 파일에 따라 사용된 총 스토리지 양도 반환합니다.

구문

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

파라미터

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

?

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

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

database_name

아카이브 로그 정보를 나열할 데이터베이스의 이름입니다. 데이터 형식은 varchar입니다.

예시

다음 예제에서는 TESTDB라는 데이터베이스의 아카이브 로그 보존을 반환합니다.

db2 "call rdsadmin.list_archive_log_information( ?, 'TESTDB')"

rdsadmin.fgac_command

세분화된 액세스 제어(FGAC) 명령을 실행합니다.

구문

db2 "call rdsadmin.fgac_command( ?, 'database_name', 'fgac_cmd')"

파라미터

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

?

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

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

database_name

FGAC 명령을 실행하려는 데이터베이스의 이름입니다. 데이터 형식은 varchar입니다.

fgac_cmd

실행하려는 세분화된 액세스 제어 명령입니다. 데이터 형식은 varchar입니다.

다음 명령이 유효합니다.

  • ALTER MASK - 행 및 열 액세스 제어(RCAC)에서 기존 열 마스크를 변경합니다.

  • ALTER PERMISSION - RCAC에서 기존 행 권한의 속성을 변경합니다.

  • ALTER SECURITY POLICY - RCAC에 대한 기존 보안 정책을 변경합니다.

  • ALTER SECURITY LABEL - 레이블 기반 액세스 제어(LBAC)에서 기존 보안 레이블의 속성을 변경합니다.

  • ALTER TABLE - RCAC 또는 LBAC 컨트롤 추가를 포함하여 테이블 구조를 변경합니다.

  • CREATE MASK - RCAC용 새 열 마스크를 생성합니다.

  • CREATE PERMISSION - RCAC에 대한 새 행 권한을 생성합니다.

  • CREATE SECURITY LABEL - LBAC에 대한 새 보안 레이블을 생성합니다.

  • CREATE SECURITY POLICY - RCAC에 대한 새 보안 정책을 생성합니다.

  • DROP MASK - 기존 열 마스크를 삭제합니다.

  • DROP PERMISSION - 기존 행 권한을 삭제합니다.

  • DROP SECURITY LABEL - LBAC에서 보안 레이블을 삭제합니다.

  • DROP SECURITY POLICY - 기존 RCAC 보안 정책을 삭제합니다.

  • GRANT EXEMPTION ON RULE - 사용자가 특정 LBAC 규칙을 우회하도록 허용합니다.

  • GRANT SECURITY LABEL - 사용자에게 LBAC 보안 레이블을 할당합니다.

  • REVOKE EXEMPTION ON RULE - LBAC 규칙에서 사용자의 공제를 제거합니다.

  • REVOKE SECURITY LABEL - 사용자로부터 LBAC 보안 레이블을 제거합니다.

사용 노트

이 저장 프로시저는 행 또는 열 수준에서 RDS for Db2 DB 인스턴스의 데이터베이스에 있는 테이블 데이터에 대한 액세스를 제어합니다. RDS for Db2는 데이터베이스에서 두 가지 유형의 FGAC를 지원합니다.

  • 레이블 기반 액세스 제어(LBAC)

  • 행 및 열 액세스 제어(RCAC)

저장된 프로시저를 직접적으로 호출하기 전에 다음 고려 사항을 검토하세요.

  • 작은따옴표(')를 이스케이프하려면 추가로 작은 따옴표를 사용합니다. 다음 예제에서는 'apple', 'banana''fruit'를 이스케이프하는 방법을 보여 줍니다.

    db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"
    db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITTREE TREE(''fruit'' ROOT, ''apple'' UNDER ''fruit'', ''banana'' UNDER ''fruit'')')"
  • 대괄호([ ])를 이스케이프 처리하려면 백슬래시(\)를 사용합니다. 다음 예에는 [''apple'',''banana'']를 이스케이프하는 방법이 나와 있습니다.

    db2 "call rdsadmin.fgac_command( ?, ' testdb', 'CREATE SECURITY LABEL COMPONENT FRUITARRAY ARRAY\[''apple'',''banana''\]')"

예시

다음 예제에서는 모두 testdb라는 데이터베이스에서 FGAC 명령을 실행합니다.

예제 1: FRUITSET라는 새 보안 레이블 생성

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT FRUITSET SET{''apple'',''banana''}')"

예제 2: EMP_ID가 3 미만으로 설정된 경우 활성화된 EMP_ID 열에 대한 새 마스크 생성

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE MASK id_MASK ON EMPLOYEE FOR COLUMN EMP_ID RETURN CASE WHEN (EMP_ID < 3) THEN EMP_ID ELSE NULL END ENABLE')"

예제 3: SESSION_USERsecurity_user로 설정된 경우 활성화된 DEPARTMENT 열에 대한 새 마스크 생성

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE MASK DEPARTMENT_MASK ON EMPLOYEE FOR COLUMN DEPARTMENT RETURN CASE WHEN SESSION_USER = ''security_user'' THEN DEPARTMENT ELSE NULL END ENABLE')"

예제 4: treelabel라는 새 보안 레이블 생성

db2 "call rdsadmin.fgac_command( ?, 'testdb', 'CREATE SECURITY LABEL COMPONENT treelabel TREE(''COMPANY'' ROOT, ''HR'' UNDER ''COMPANY'', ''FINANCE'' UNDER ''COMPANY'', ''IT'' UNDER ''COMPANY'')')"