Download OpenAPI specification:Download
Ark For CDC HTTP API 문서입니다.
agent 인증 메시지 (Basic)
Authorization required | string basic 인증키 |
{- "token": "qb7lu5pruzi734y2"
}
Ark for CDC module start
module info
type required | string |
name required | string |
required | Array of objects (module_info_options) [ items ] |
{- "type": "string",
- "name": "string",
- "options": [
- {
- "option": "string",
- "value": "string"
}
]
}
{- "code": 200,
- "message": "Successful"
}
Ark for CDC module stop
module info
type required | string |
name required | string |
required | Array of objects (module_info_options) [ items ] |
{- "type": "string",
- "name": "string",
- "options": [
- {
- "option": "string",
- "value": "string"
}
]
}
{- "code": 200,
- "message": "Successful"
}
Ark for CDC module state
type required | string module type |
name required | string module name |
data | string Default: "none" Enum: "include" "none" data include or none |
{- "data": {
- "dsn": {
- "high": 0,
- "wrap": 0,
- "base": 1234567
}, - "sequence": 480,
- "logfile_path": "/data/app/oracle/oradata/ORA107/redo03.log",
- "last_processed_time": "YYYY-MM-DD HH24:MI:SS",
- "lag": 0
}, - "status": "Waiting/Running/Error/Stopped",
- "code": "AG-1000",
- "message": "Module is running.",
- "start_time": "2020-05-05 14:35:32",
- "elapsed_time": "15D 11:21:22"
}
Ark for CDC module delete.
type required | string module type |
name required | string module name |
reset_option | string Default: "no(n)" Enum: "yes(y)" "no(n)" reset option yes or no |
{- "code": 200,
- "message": "Successful"
}
extract, send, post 프로세스의 통계 정보를 제공한다.
type required | string module type |
name required | string module name |
{- "dml": {
- "insert": 6726,
- "update": 30,
- "delete": 111,
- "filtered": 0
}, - "ddl": {
- "create": 1,
- "alter": 0,
- "drop": 0,
- "others": 10,
- "truncate": 10
}, - "tables": [
- {
- "source": "APITEST.TEST01",
- "map": "APITEST.TEST01",
- "dml": {
- "insert": 6726,
- "update": 30,
- "delete": 111,
- "filtered": 0,
- "discard": 0
}
}
]
}
{- "version_code": 1,
- "version": "Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production",
- "dbname": "orcl",
- "lang": "ko_KR.UTF-8",
- "characterset": "UTF-8",
- "timezone": "+09:00"
}
DDL operation: create 0x01, alter 0x02, drop 0x04, truncate 0x08, rename 0x10 해당하는 값을 OR 연산
extract_module_name required | string extract module 이름 |
{- "dml_objects": {
- "table": [
- [
- {
- "schema_name": "cdctest",
- "object": "insert_test",
- "attr": ""
}, - {
- "schema_name": "cdctest",
- "object": "update_test",
- "attr": "TSE TDE"
}, - {
- "schema_name": "cdctest",
- "object": "lob_test",
- "attr": "TSE"
}, - {
- "schema_name": "cdctest",
- "object": "numeric_test",
- "attr": "TDE"
}
]
], - "sequence": [
- {
- "schema_name": "cdctest",
- "object": "insert_test_seq"
}
]
}, - "ddl_objects": {
- "table": [
- {
- "schema_name": "cdctest",
- "object": "insert_test",
- "operation": 1
}
], - "index": [
- {
- "schema_name": "cdctest",
- "object": "test_table_idx",
- "operation": 1
}
], - "view": [
- {
- "schema_name": "cdctest",
- "object": "test_insert_view",
- "operation": 1
}
]
}
}
database | string db conn name |
schema_name required | string schema name |
table_name required | string table name |
{- "columns": [
- {
- "name": "product_name",
- "type": "VARCHAR2",
- "length": 30,
- "attr": {
- "index": "true/false",
- "constraint_type": "P/U",
- "nullable": "true/false",
- "virtual": "true/false",
- "hidden": "true/false"
}
}
]
}
request body option 1) tracingfile_dest를 입력하면 입력한 위치에 tracing file 을 저장한다. (상대경로인 경우 $ARKCDC_HOME 아래) 2) security 를 ssl 으로 입력 시 구간암호화 response body option 1) ssl_key 는 요청이 ssl으로 들어왔을 때만 response에 포함된다.
alias
alias required | string |
tracingfile_dest | string |
security | string |
{- "alias": "test",
- "tracingfile_dest": "trace",
- "security": "plain"
}
{- "status": 0,
- "port": 50000,
- "ssl_key": "z93mnfo9s93jks9fj3f"
}
특정 테이블의 row 갯수와 전체 값을 대상으로한 해시값을 요청
database | string |
schema_name | string |
table_name | string |
option | integer |
post_module_name | string |
{- "database": "orcl",
- "schema_name": "user",
- "table_name": "insert_test",
- "option": 1,
- "post_module_name": "posttest"
}
{- "job_code": "0001_jobname"
}
table 데이터를 row count와 hash값으로 비교
database | string |
target_database | string |
schema_name | string |
table_name | string |
ip | string |
port | integer |
post_module_name | string |
object |
{- "database": "orcl",
- "target_database": "torcl",
- "schema_name": "user",
- "table_name": "insert_test",
- "ip": "192.168.0.1",
- "port": 50000,
- "post_module_name": "posttest",
- "acdsn": {
- "high": "0",
- "wrap": "0",
- "base": "1234"
}
}
{- "job_code": "0001_jobname"
}
table 데이터를 row 별로 key, hash값으로 출력
database | string |
schema_name | string |
table_name | string |
option | integer |
post_module_name | string |
{- "database": "orcl",
- "schema_name": "user",
- "table_name": "insert_test",
- "option": 1,
- "post_module_name": "posttest"
}
{- "job_code": "0001_jobname"
}
source, target 간 table의 실제 데이터를 row별로 비교분석
source_hash_file | string |
target_hash_file | string |
{- "source_hash_file": "extracttest",
- "target_hash_file": "posttest"
}
{- "job_code": "0001_jobname"
}
파일 수신을 요청
source_path | string |
dest_path | string |
ip | string |
port | integer |
{- "source_path": "data/job_result.txt",
- "dest_path": "data/job_result.txt",
- "ip": "192.168.0.1",
- "port": 50000
}
{- "job_code": "0001_jobname"
}
table scan
database | string |
schema_name | string |
table_name | string |
object | |
object |
{- "database": "default",
- "schema_name": "cdctest",
- "table_name": "test_table",
- "column_setting": {
- "key": [
- "ID"
], - "hash": [
- "NAME",
- "ADDRESS"
], - "exclude": [
- "ZIPCODE"
]
}, - "condition": {
- "partition": "ID > 1000 AND ID <= 2000"
}
}
{- "job_code": "0001_jobname"
}
키 값을 입력받아 키 값에 해당하는 row의 모든 컬럼 정보를 제공한다.
database | string |
schema_name | string |
table_name | string |
keys | Array of objects[ items ] |
{- "database": "default",
- "schema_name": "cdctest",
- "table_name": "test_table",
- "keys": [
- {
- "column_name": "COL1",
- "value": "10243"
}, - {
- "column_name": "COL2",
- "value": "abcde"
}
]
}
{- "values": [
- {
- "column_name": "COL1",
- "value": "10243",
- "length": 5,
- "is_null": "true"
}, - {
- "column_name": "COL2",
- "value": "abcde",
- "length": 5,
- "is_null": "false"
}, - {
- "column_name": "COL3",
- "value": "12398209384",
- "length": 11,
- "is_null": "false"
}
]
}
config 파일 쓰기 요청, 중복이 허용된 항목들은 예시의 name2와 같이 배열형태로 구성
type | string Enum: "extract" "send" "post" 설정파일타입 |
name | string 설정파일 alias, ex)test |
object |
{- "type": "extract",
- "name": "string",
- "value": {
- "name1": "value1",
- "name2": [
- "value1",
- "value2"
]
}
}
{- "code": 200,
- "message": "Successful"
}
config 파일 내용 요청, 중복이 허용된 항목들은 예시의 name2와 같이 배열형태로 구성
type required | string Enum: "extract" "send" "post" 설정파일 타입 |
name required | string 설정파일 name, ex)test |
{- "name1": "value1",
- "name2": [
- [
- "value2",
- "value3"
]
]
}
config 파일 쓰기 요청, Request body의 value값에 작성한대로 config 파일 쓰기
type | string Enum: "extract" "send" "post" 설정파일타입 |
name | string 설정파일 alias, ex)test |
value | string config file에 설정할 text |
{- "type": "extract",
- "name": "string",
- "value": "DBCONN=\"\";TRACINGALIAS=\"\";..."
}
{- "code": 200,
- "message": "Successful"
}
config 파일 목록 요청
type | string Enum: "extract" "send" "post" 설정파일 타입 |
{- "count": 6,
- "config_list": {
- "extract": {
- "count": 2,
- "list": [
- "module1",
- "module2"
]
}, - "send": {
- "count": 2,
- "list": [
- "module1",
- "module2"
]
}, - "post": {
- "count": 2,
- "list": [
- "module1",
- "module2"
]
}
}
}
{- "status_code": 1001,
- "message": "extracting...",
- "start_time": "2018-05-05 14:35:32",
- "end_time": "2018-05-05 14:35:32",
- "progress": 25,
- "result": "{\"count\":100, \"hash\":\"5010.234\"}"
}
map 파일 쓰기 요청
alias | string map file alias, ex)test |
value | string Contents in an alias map file |
{- "alias": "string",
- "value": "string"
}
{- "code": 200,
- "message": "Successful"
}
특정 프로세스의 로그파일 내용을 요청. 요구한 라인번호으로부터 역으로 일정 라인갯수 만큼의 로그를 반환한다.
type required | string Enum: "agent" "pmon" "extract" "send" "post" "recv" 프로세스 타입 |
name | string 모듈 이름 |
start required | integer 라인 번호. -1 인 경우 파일의 끝 |
{- "start": 1000,
- "end": 1004,
- "strings": [
- "2018-03-06- 11:50:27.184432 [29316:-1574598912][DEBUG] Http Request compare func start",
- "2018-03-06- 11:50:27.184499 [29316:-1574598912][TRACE] totalcompare request module_alias :count4 [posttest], user_name : [CDCTEST], table_name : [insert_test] option [2]",
- "2018-03-06- 11:50:27.184716 [29316:-1574598912][INFO] check Database Compare start",
- "2018-03-06- 11:50:27.184749 [29316:-1574598912][TRACE] user_name : CDCTEST table_name : insert_"
]
}
Linux/Unix + Oracle only
database | string db conn alias |
table_name | string table name |
schema_name required | string schema name |
{- "log_group_info": [
- {
- "group_name": "ARKCDC_73228",
- "table_name": "insert_test",
- "keys": [
- {
- "col#": 1,
- "column_name": "product_id",
- "key_type": "PK"
}
]
}
]
}
Linux/Unix + Oracle only
database | string |
schema_name required | string |
table_name | string |
{- "database": "testconn",
- "schema_name": "cdctest",
- "table_name": "insert_test"
}
{- "result": 0
}
Linux/Unix + Oracle only
database | string |
schema_name required | string |
table_name | string |
{- "database": "testconn",
- "schema_name": "cdctest",
- "table_name": "insert_test"
}
{- "result": 0
}
Linux/Unix + Oracle Only
database | string |
schema_name required | string |
auto | boolean |
{- "database": "testconn",
- "schema_name": "testconn",
- "auto": "true/false"
}
{- "result": 0
}