Amazon RDS for Db2 사용자 정의 함수 참조 - Amazon Relational Database Service

Amazon RDS for Db2 사용자 정의 함수 참조

Db2 엔진을 실행 중인 Amazon RDS DB 인스턴스에 사용할 수 있는 사용자 정의 함수는 다음과 같습니다.

rdsadmin.get_task_status

작업의 상태를 반환합니다.

구문

db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params, cast(task_output as varchar(500)) as task_output from table(rdsadmin.get_task_status(task_id,'database_name','task_type'))"

파라미터

다음 파라미터는 선택 사항입니다. 파라미터를 제공하지 않으면 사용자 정의 함수는 모든 데이터베이스의 모든 작업 상태를 반환합니다. Amazon RDS는 35일 동안 작업 기록을 유지합니다.

task_id

실행 중인 작업의 ID입니다. 이 ID는 작업을 실행할 때 반환됩니다. 기본값: 0.

database_name

작업이 실행되고 있는 데이터베이스의 이름입니다.

task_type

쿼리할 작업의 유형입니다. 유효한 값은 ADD_GROUPS, ADD_USER, ALTER_BUFFERPOOL, ALTER_TABLESPACE, CHANGE_PASSWORD, COMPLETE_ROLLFORWARD, CREATE_BUFFERPOOL, CREATE_DATABASE, CREATE_ROLE, CREATE_TABLESPACE, DROP_BUFFERPOOL, DROP_DATABASE, DROP_TABLESPACE, LIST_USERS, REMOVE_GROUPS, REMOVE_USER, RESTORE_DB, ROLLFORWARD_DB_LOG, ROLLFORWARD_STATUS, UPDATE_DB_PARAM입니다.

사용 노트

rdsadmin.get_task_status 사용자 정의 함수를 사용하여 다음 Amazon RDS for Db2 작업의 상태를 확인할 수 있습니다. 단, 이 목록이 전부는 아닙니다.

  • 버퍼 풀 생성, 변경 또는 삭제

  • 테이블스페이스 생성, 변경 또는 삭제

  • 데이터베이스 생성 또는 삭제

  • Amazon S3에서 데이터베이스 백업 복원

  • Amazon S3에서 데이터베이스 로그 롤포워딩

예제

다음 예제에서는 rdsadmin.get_task_status가 호출될 때 반환된 열을 표시합니다.

db2 "describe select * from table(rdsadmin.get_task_status())"

다음 예제에서는 모든 작업의 상태를 나열합니다.

db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params, cast(task_output as varchar(500)) as task_output from table(rdsadmin.get_task_status(null,null,null))"

다음 예제에서는 특정 작업의 상태를 나열합니다.

db2 "select task_id, task_type, database_name, varchar(bson_to_json(task_input_params), 500) as task_params from table(rdsadmin.get_task_status(1,null,null))"

다음 예제에서는 특정 작업 및 데이터베이스의 상태를 나열합니다.

db2 "select task_id, task_type, database_name, varchar(bson_to_json(task_input_params), 500) as task_params from table(rdsadmin.get_task_status(2,'SAMPLE',null))"

다음 예제에서는 모든 ADD_GROUPS 작업의 상태를 나열합니다.

db2 "select task_id, task_type, database_name, varchar(bson_to_json(task_input_params), 500) as task_params from table(rdsadmin.get_task_status(null,null,'add_groups'))"

다음 예제에서는 특정 데이터베이스의 모든 작업 상태를 나열합니다.

db2 "select task_id, task_type, database_name, varchar(bson_to_json(task_input_params), 500) as task_params from table(rdsadmin.get_task_status(null,'testdb', null))"

다음 예제는 JSON 값을 열로 출력합니다.

db2 "select varchar(r.task_type,25) as task_type, varchar(r.lifecycle,10) as lifecycle, r.created_at, u.* from table(rdsadmin.get_task_status(null,null,'restore_db')) as r, json_table(r.task_input_params, 'strict $' columns(s3_prefix varchar(500) null on empty, s3_bucket_name varchar(500) null on empty) error on error ) as U"

응답

rdsadmin.get_task_status 사용자 정의 함수는 다음 열을 반환합니다.

TASK_ID

작업의 ID입니다.

TASK_TYPE

입력 파라미터에 따라 다릅니다.

  • ADD_GROUPS – 그룹을 추가합니다.

  • ADD_USER – 사용자를 추가합니다.

  • ALTER_BUFFERPOOL – 버퍼 풀을 변경합니다.

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

  • CHANGE_PASSWORD – 사용자의 암호를 변경합니다.

  • COMPLETE_ROLLFORWARDrdsadmin.rollforward_database 작업을 완료하고 데이터베이스를 활성화합니다.

  • CREATE_BUFFERPOOL – 버퍼 풀을 생성합니다.

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

  • CREATE_ROLE – 사용자의 Db2 역할을 생성합니다.

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

  • DROP_BUFFERPOOL – 버퍼 풀을 삭제합니다.

  • DROP_DATABASE – 데이터베이스를 삭제합니다.

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

  • LIST_USERS – 모든 사용자를 나열합니다.

  • REMOVE_GROUPS – 그룹을 제거합니다.

  • REMOVE_USER – 사용자를 제거합니다.

  • RESTORE_DB – 전체 데이터베이스를 복원합니다.

  • ROLLFORWARD_DB_LOG – 데이터베이스 로그에 대한 rdsadmin.rollforward_database 작업을 수행합니다.

  • ROLLFORWARD_STATUS rdsadmin.rollforward_database 작업 상태를 반환합니다.

  • UPDATE_DB_PARAM – 데이터 파라미터를 업데이트합니다.

DATABASE_NAME

작업이 연결되어 있는 데이터베이스의 이름입니다.

COMPLETED_WORK_BYTES

작업이 복원한 바이트 수입니다.

DURATION_MINS

작업을 완료하는 데 걸린 시간입니다.

LIFECYCLE

작업의 상태입니다. 가능한 상태:

  • CREATED – Amazon RDS에 작업을 제출한 후 Amazon RDS는 상태를 CREATED로 설정합니다.

  • IN_PROGRESS – 작업이 시작되면 Amazon RDS는 상태를 IN_PROGRESS로 설정합니다. CREATED에서 IN_PROGRESS로 상태가 변경되려면 최대 5분이 걸릴 수 있습니다.

  • SUCCESS – 작업이 완료되면 Amazon RDS는 상태를 SUCCESS로 설정합니다.

  • ERROR – 복원 작업이 실패할 경우 Amazon RDS는 상태를 ERROR로 설정합니다. 오류에 대한 자세한 내용은 TASK_OUPUT 섹션을 참조하세요.

CREATED_BY

명령을 생성한 authid입니다.

CREATED_AT

작업을 생성한 날짜와 시간입니다.

LAST_UPDATED_AT

작업이 마지막으로 업데이트된 날짜와 시간입니다.

TASK_INPUT_PARAMS

파라미터는 작업 유형에 따라 다릅니다. 모든 입력 파라미터는 JSON 객체로 표시됩니다. 예를 들어, RESTORE_DB 작업의 JSON 키는 다음과 같습니다.

  • DBNAME

  • RESTORE_TIMESTAMP

  • S3_BUCKET_NAME

  • S3_PREFIX

TASK_OUTPUT

작업에 대한 추가 정보입니다. 기본 복원 중에 오류가 발생하면 이 열에 오류에 대한 정보가 포함됩니다.

응답 예제

다음 응답 예제는 TESTJP라는 데이터베이스가 성공적으로 생성되었음을 보여줍니다. 자세한 내용은 rdsadmin.create_database 저장 프로시저를 참조하세요.

`1 SUCCESS CREATE_DATABASE RDSDB 2023-10-24-18.32.44.962689 2023-10-24-18.34.50.038523 1 TESTJP { "CODESET" : "IBM-437", "TERRITORY" : "JP", "COLLATION" : "SYSTEM", "AUTOCONFIGURE_CMD" : "", "PAGESIZE" : 4096 } 2023-10-24-18.33.30.079048 Task execution has started. 2023-10-24-18.34.50.038523 Task execution has completed successfully`.

다음 응답 예제는 데이터베이스 삭제가 실패한 이유를 설명합니다. 자세한 내용은 rdsadmin.drop_database 저장 프로시저를 참조하세요.

1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started. 2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. Reason Dropping database created via rds CreateDBInstance api is not allowed. Only database created using rdsadmin.create_database can be dropped

다음 응답 예제는 데이터베이스의 성공적인 복원을 보여줍니다. 자세한 내용은 rdsadmin.restore_database 저장 프로시저를 참조하세요.

1 RESTORE_DB SAMPLE SUCCESS { "S3_BUCKET_NAME" : "amzn-s3-demo-bucket", "S3_PREFIX" : "SAMPLE.0.rdsdb3.DBPART000.20230413183211.001", "RESTORE_TIMESTAMP" : "20230413183211", "BACKUP_TYPE" : "offline" } 2023-11-06-18.31.03.115795 Task execution has started. 2023-11-06-18.31.04.300231 Preparing to download 2023-11-06-18.31.08.368827 Download complete. Starting Restore 2023-11-06-18.33.13.891356 Task Completed Successfully

rdsadmin.list_databases

RDS for Db2 DB 인스턴스에서 실행되는 모든 데이터베이스 목록을 반환합니다.

구문

db2 "select * from table(rdsadmin.list_databases())"

사용 노트

이 사용자 정의 함수는 데이터베이스가 활성화된 상태인지 비활성화된 상태인지 지정하지 않습니다.

목록에 데이터베이스가 표시되지 않으면 rdsadmin.get_task_status 사용자 정의 함수를 직접 호출하고 오류 메시지를 찾습니다.

응답

rdsadmin.list_databases 사용자 정의 함수는 다음 열을 반환합니다.

DATABASE_NAME

데이터베이스의 이름입니다.

CREATE_TIME

데이터베이스가 만들어진 날짜와 시간입니다.

DATABASE_UNIQUE_ID

Db2 데이터베이스를 고유하게 식별하기 위해 RDS에서 생성된 GUID입니다.

ARCHIVE_LOG_RETENTION_HOUR

아카이브 로그 파일을 유지하는 데 걸리는 시간입니다.

ARCHIVE_LOG_COPY

데이터베이스에 대해 해당 기능이 활성화되었는지 비활성화되었는지를 표시합니다.

ARCHIVE_LOG_LAST_UPLOAD_FILE

S3에 업로드된 마지막 아카이브 로그를 나타냅니다.

ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME

로그 파일이 아카이빙된 시간을 나타냅니다.

ARCHIVE_LOG_COPY_STATUS

아카이브 로그 복사본의 상태를 표시합니다.

UPLOADING: 아카이브 로그 파일이 S3에 업로드되고 있음을 나타냅니다.

CONFIGURATION_ERROR: 주의가 필요한 구성 문제가 있음을 나타냅니다.

자세한 오류를 보려면 Db 인스턴스에 대한 RDS 이벤트 메시지를 확인하세요. 이벤트 메시지는 Amazon RDS 이벤트 보기에서 볼 수 있습니다.

응답 예제

다음 응답 예시는 데이터베이스 목록과 데이터베이스가 만들어진 시간을 보여줍니다. rdsadmin은 Amazon RDS가 관리하고 출력에 항상 표시되는 데이터베이스입니다.

DATABASE_NAME CREATE_TIME DATABASE_UNIQUE_ID ARCHIVE_LOG_RETENTION_HOURS ARCHIVE_LOG_COPY ARCHIVE_LOG_LAST_UPLOAD_FILE ARCHIVE_LOG_LAST_UPLOAD_FILE_TIME ARCHIVE_LOG_COPY_STATUS --------------- -------------------------- -------------------------------------------------- --------------------------- ---------------- ---------------------------- --------------------------------- ------------------------------ RDSADMIN 2026-01-06-02.03.42.569069 RDSADMIN 0 DISABLED - - - FOO 2026-01-06-02.13.42.885650 F0D81C7E-7213-4565-B376-4F33FCF420E3 0 ENABLED S0006536.LOG 2026-01-28-19.15.10.000000 UPLOADING CODEP 2026-01-14-19.42.42.508476 106EEF95-6E30-4FFF-85AE-B044352DF095 0 DISABLED - - - ...

rdsadmin.list_modifiable_db_params

수정 가능한 모든 데이터베이스 구성 파라미터의 목록을 반환합니다.

구문

db2 "select * from table(rdsadmin.list_modifiable_db_params())"

사용 노트

이 사용자 정의 함수는 수정 가능한 데이터베이스 파라미터의 선택된 목록을 표시합니다. 이러한 파라미터는 저장 프로시저 rdsadmin.update_db_param을 사용하여 업데이트할 수 있습니다.

이 목록에 포함되지 않은 데이터베이스 파라미터는 제한되어 있으며 수정할 수 없습니다.

응답

rdsadmin.list_modifiable_db_params 사용자 정의 함수는 다음 열을 반환합니다.

PARAM_NAME

수정할 수 있는 파라미터의 이름입니다.

DEFAULT_VALUE

데이터베이스 생성 시 기본 파라미터 값입니다.

RESTART_REQUIRED

데이터베이스 재시작이 필요한지 여부입니다.

Y = 예, 데이터베이스 재시작이 필요합니다.

N = 아니요, 데이터베이스 재시작이 필요 없습니다.

응답 예제

다음은 예상 출력의 샘플(일부 발췌) 목록입니다.

PARAM_NAME DEFAULT_VALUE RESTART_REQUIRED ---------------------- ------------- ---------------- ACT_SORTMEM_LIMIT NONE N ARCHRETRYDELAY 20 N AUTHN_CACHE_DURATION 3 N AUTHN_CACHE_USERS 0 N AUTO_CG_STATS OFF N ...