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_ROLLFORWARD
–rdsadmin.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
-
데이터베이스가 만들어진 날짜와 시간입니다.
응답 예제
다음 응답 예시는 데이터베이스 목록과 데이터베이스가 만들어진 시간을 보여줍니다. rdsadmin
은 Amazon RDS가 관리하고 출력에 항상 표시되는 데이터베이스입니다.
DATABASE_NAME CREATE_TIME --------------- -------------------------- rdsadmin 2024-10-22-03.37.48.535671 TEST 2024-10-22-03.39.36.818679 TEST1 2024-10-22-03.57.15.218009 TEST2 2024-10-22-03.59.28.029556