명령어 목록
! / HOST
ProSync Admin Utility 내에서 운영체제의 명령어를 실행한다.
! [command]
HO[ST] [command]
운영체제의 명령어 없이 ! 명령어만 입력하면 운영체제의 명령 프롬프트로 나가서 운영체제의 명령어를 여러 번 입력할 수 있다.
이때 다시 ProSync Admin Utility로 돌아오려면 EXIT 명령어를 입력한다.
command
운영체제의 명령어이다.
다음은 현재 디렉터리에 내에 확장자가 ext인 모든 디렉터리와 파일 목록을 출력하는 예제이다.
Admin> ! dir *.ext
Admin> !
Admin> HOST dir *.ext
Admin> HOST
@
특정 스크립트 파일을 실행한다. 파일의 확장자가 SUFFIX 시스템 변수에 등록되어 있으면, 확장자를 생략하고 파일명을 지정할 수 있다.
스크립트 실행 전에 SET 명령어로 설정된 시스템 변수는 실행 도중에도 유효하다. 스크립트 내에서 EXIT 또는 QUIT 명령어를 실행하면 ProSync Admin Utility가 정지한다.
@ {filename}
filename
스크립트 파일의 이름이다. ProSync Admin Utility는 파일을 현재 디렉터리에서 찾는다.
다음은 현재 디렉터리 내의 스크립트 파일을 실행하는 예제이다.
Admin> @ run
Admin> @ run.sql
/
ProSync Admin Utility 내에서 히스토리 버퍼에 저장된 명령어를 재수행한다. 사용자는 지정된 숫자에 해당하는 명령어를 반복 실행할 수 있다.
/
다음은 히스토리 버퍼에 저장된 'HELP' 명령어를 재수행하는 예제이다.
Admin> HELP
Admin> /
ALTER
ProSync 운영 중에 동기화 대상 테이블을 추가/제거 하거나, 기동 중인 ProSync 프로세스의 Parameter를 변경할 수 있다.
#동기화 테이블 추가/제거
ALTER inst_id {ADD|DEL[ETE]} TABLE table_owner.table_name GROUP=group_num
#Parameter 변경
ALTER inst_id {EXT|APP[LY]|LLOB} SET parameter='values'
동기화 테이블 추가/제거의 경우 기동 전에 prs_obj_group1.list에 추가하지 못했던 테이블을 ProSync 운영 중에 동적으로 추가할 수 있다. Source DB를 오라클을 사용하고, 로그마이너를 통한 추출을 하는 경우 다음과 같은 동작을 수행해야 동적 동기화 테이블 추가가 가능하다.
소스 Oracle, 타겟 Tibero 동기화 대상 테이블 생성(CREATE 수행)
admin> ALTER [Top_ID] ADD TABLE 수행 SUPP LOG 추가
소스 Oracle ALTER SYSTEM SWITCH LOGFILE 수행
DML/DDL 동기화 확인
Parameter 변경의 경우, 수정을 원하는 Parameter의 유형이 Dynamic 인 경우에만 변경할 수 있다.
EXIT / QUIT
ProSync Admin Utility를 정지한다. 현재 진행 중이던 프로세스에 영향을 전혀 주지 않고 Utility만 정지된다.
EXIT | Q[UIT]
HELP
Admin 명령어 사용에대한 도움말을 화면에 출력한다.
H[ELP] [topic]
옵션을 지정하지 않으면 ProSync Admin Utility에서 사용할 수 있는 전체 명령어를 출력한다.
topic
도움말을 출력할 단어를 지정한다.
다음은 SET 파라미터에 대한 도움말을 화면에 출력하는 예제이다.
Admin> HELP SET
PAUSE
사용자가 입력한 INST_ID의 작업을 멈추는 명령어이다.
모든 프로세스가 정지하는 것이 아닌, 추출이 더 이상 데이터를 추출하지 않도록 하는 기능이다. 즉 현재 반영중인 내용이나 이미 소켓을 타고 넘어간 데이터들에 대한 반영은 이루어진다.
PAUSE {inst_id}
inst_id
일시 정지할 inst_id이다.
다음은 'prosync4'의 작업을 일시정지하는 예제이다.
Admin> PAUSE prosync4
prosync4 paused.
RESUME
사용자가 입력한 INST_ID의 작업을 재개하는 명령어이다.
PAUSE 의 동작을 되돌리는 것으로, 추출이 다시 시작되는 기능이라고 생각하면 된다.
RESUME {inst_id}
inst_id
재시작할 inst_id이다.
예제
Admin> RESUME prosync4
prosync4 resumed.
SET
ProSync Admin Utility의 시스템 변수를 설정한다.
SET 명령어로 설정된 시스템 변수는 SHOW 명령어를 사용하여 출력한다. 단, 변경된 시스템 변수는 현재 세션 내에서만 유효하다. 각각의 시스템 변수에 대해서는 시스템 변수 를 참고한다.
SET {parameter} {value}
parameter
ProSync Admin Utility 시스템 변수의 이름이다.
value
ProSync Admin Utility 시스템 변수의 값이다.
예제
Admin> SET HISTORY 100
SHOW
ProSync Admin Utility의 시스템 변수 및 각 프로세스의 파라미터를 출력한다.
SHO[W] ALL
SHO[W] PARAM[ETER] instance_id {EXT[RACT] num | APP[LY] num | LLOB} [parameter_name]
SHO[W] PARAM[ETER] AGE[NT] agent_id [parameter_name]
ALL
모든 ProSync Admin Utility 시스템 변수를 출력한다.
PARAM[ETER]
파라미터의 값을 출력할 때 사용한다.
instance_id
파라미터를 확인하고자 하는 instance 의 instance_id
EXT[RACT] {num}
{num} 번째 노드의 추출 프로세스에 속한 파라미터를 출력한다.
APP[LY] {num}
{num} 번째 노드의 적용 프로세스에 속한 파라미터를 출력한다.
LLOB
LONG/LOB 프로세스에 속한 파라미터를 출력한다.
AGE[NT]
agent 프로세스의 파라미터를 출력할 때 사용한다.
agent_id
파라미터를 확인하고자 하는 agent 의 agent_id
parameter_name
확인하고자 하는 parameter의 이름을 입력한다. 파라미터 이름을 입력하지 않으면 해당 프로세스에 속한 모든 파라미터의 값이 출력된다.
다음은 시스템 변수를 출력하는 예제이다.
Admin> SHOW ALL
다음은 'prosync4' 에 속한 프로세스들의 파라미터를 출력하는 예제이다.
Admin> SHOW PARAM prosync4 EXT 1 LOG_LEVEL
Admin> SHOW PARAM prosync4 APPLY 1 MAP
Admin> SHOW PARAM prosync4 LLOB LLOB_FLASHBACK_ERROR
다음은 'agent1' 에 속한 모든파라미터를 출력하는 예제이다.
Admin> SHOW PARAM AGENT agent1
SHUTDOWN
사용자가 입력한 INST_ID의 프로세스 혹은 매니저 프로세스를 정지한다.
SHUTD[OWN] ALL
SHUTD[OWN] AGE[NT] [ABORT] [agent_id]
SHUTD[OWN] inst_id [EXT[RACT] [num] | APP[LY] [num]] [ABORT]
ALL
등록된 모든 instance를 정지한다.
AGE[NT]
Agent 프로세스를 정지할 때 사용한다.
agent_id
특정 agent_id 의 프로세스를 정지할 때 사용한다.
inst_id
특정 inst_id의 프로세스를 정지할 때 사용한다.
EXT[RACT] [num]
[num]번째 노드의 추출 프로세스를 정지할 때 사용한다.
APP[LY] [num]
[num]번째 노드의 적용 프로세스를 정지할 때 사용한다.
ABORT
강제로 정지할 때 사용한다.
다음은 'pro'의 프로세스를 정지하는 예제이다.
Admin> SHUTDOWN pro
*** Shutdown Process... [pro_ext1]
Process 'pro_ext1' aborted.
*** Shutdown Process... [pro_apply1]
Process 'pro_apply1' aborted.
*** Shutdown Process... [pro_llob]
Process 'pro_llob' aborted.
다음은 'agent1'의 매니저 프로세스를 정지하는 예제이다.
Admin> SHUTDOWN AGENT agent1
*** Shutdown Agent Process... [agent1]
Process 'prs_agent' aborted.
STARTUP
사용자가 입력한 INST_ID의 프로세스를 실행한다.
START[UP] ALL
START[UP] AGE[NT] agent_id
START[UP] inst_id [EXT[RACT] [num] | APP[LY] [num]]
ALL
등록된 모든 instance를 기동한다.
AGE[NT]
Agent 프로세스를 실행할 때 사용한다.
agent_id
특정 agent_id 의 프로세스를 실행할 때 사용한다.
inst_id
특정 inst_id의 프로세스를 실행할 때 사용한다.
EXT[RACT] [num]
[num]번째 노드의 추출 프로세스를 실행할 때 사용한다.
APP[LY] [num]
[num]번째 노드의 적용 프로세스를 실행할 때 사용한다.
다음은 'agent1'의 매니저 프로세스를 실행하는 예제이다.
Admin> STARTUP AGENT agent1
*** Startup Agent Process... [agent1]
Process 'prs_agent' started.
다음은 'pro' instacne를 실행하는 예제이다.
Admin> STARTUP pro
*** Startup Process... [pro_ext1]
Process 'pro_ext1' started.
*** Startup Process... [pro_apply1]
Process 'pro_apply1' started.
*** Startup Process... [pro_llob]
Process 'pro_llob' started.
STATUS
전체 프로세스, 사용자가 입력한 INST_ID의 프로세스 혹은 매니저 프로세스의 상태를 확인하는 명령어이다.
STATUS
STATUS inst_id
전체 프로세스의 상태를 조회하는 경우 사용한다.
inst_id
특정 inst_id의 Ext, Apply, LONG/LOB 프로세스의 상태를 조회할 때 사용한다.
다음은 모든 Instance(inst_id) 프로세스를 조회하는 예제이다.
Admin> STATUS
prs_agent ID: agent1, HOST: 192.168.51.45, PORT: 7600 is running
prs_agent ID: agent2, HOST: 192.168.51.54, PORT: 7601 is running
prs_agent ID: agent3, HOST: 192.168.51.55, PORT: 7602 is stopped
Instance ID: [prosync4]
prosync4_ext1 (1) is running (prs_mgr ID : agent1, HOST: 192.168.51.45, PORT: 7600)
prosync4_ext2 (2) is running (prs_mgr ID : agent1, HOST: 192.168.51.45, PORT: 7600)
prosync4_apply1 (1) is running (prs_mgr ID : agent2, HOST: 192.168.51.54, PORT: 7601)
prosync4_llob (1) is stopped (prs_mgr ID : agent1, HOST: 192.168.51.45, PORT: 7600)
Instance ID: [prosync3]
Agent Process for proc[Extract], num[1] is not running.
Agent Process for proc[Extract], num[2] is not running.
Agent Process for proc[Apply], num[1] is not running.
Agent Process for proc[LONG/LOB], num[1] is not running.
Agent Process for proc[Verify], num[1] is not running.
다음은 Instance(inst_id)가 'prosync4'인 모든 프로세스 및 스레드의 상태를 조회하는 예제이다.
Admin> STATUS prosync4
prosync4_ext1 (20133) has 8 cores, started at 2020/09/09 15:44:19
+ control thread, running
+ worker thread, running
+ sam thread, recv waiting
+ read thread, recv waiting
prosync4_apply1 (20154) has 8 cores, started at 2020/09/09 15:44:19
+ control thread, running
+ replay thread, recv waiting
+ construct thread, recv waiting
prosync4_llob (20168) has 8 cores, started at 2020/09/09 15:44:19
+ control thread, running
+ long/lob thread, recv waiting
prosync4_vf, stopped
MONITOR
Instance의 apply 프로세스가 Target DB에 반영 중인 Query의 정보를 출력한다.
MON[ITOR] {inst_id}
다음은 MONITOR 명령어를 통해 현재 적용 중인 쿼리를 조회하는 예제이다.
Thread #0
sql_text:
DELETE FROM "TEST"."T33" WHERE "C1" = :"C1" AND "C2" = :"C2" AND
"C3" = :"C3" AND "C4" = :"C4" AND "C5" = :"C5" AND "C6" = :"C6"
AND "C7" = :"C7" AND "C8" = :"C8" AND "C9" = :"C9" AND "C10" =
:"C10" AND "C11" = :"C11" AND "TIME" = :"TIME" AND ROWNUM = 1
sql_et: 0 (ms)
Thread #1
sql_text:
DELETE FROM "TEST"."T33" WHERE "C1" = :"C1" AND "C2" = :"C2" AND
"C3" = :"C3" AND "C4" = :"C4" AND "C5" = :"C5" AND "C6" = :"C6"
AND "C7" = :"C7" AND "C8" = :"C8" AND "C9" = :"C9" AND "C10" =
:"C10" AND "C11" = :"C11" AND "TIME" = :"TIME" AND ROWNUM = 1
sql_et: 0 (ms)
Thread #2
sql_text:
UPDATE "TEST"."T31" SET "C2" = :"C2", "C3" = :"C3", "C9" = :"C9"
, "C10" = :"C10", "C11" = :"C11" WHERE "C1" = :"C1" AND "C2" = :
"C2" AND "C3" = :"C3" AND "C4" = :"C4" AND "C5" = :"C5" AND "C6"
= :"C6" AND "C7" = :"C7" AND "C8" = :"C8" AND "C9" = :"C9" AND
"C10" = :"C10" AND "C11" = :"C11" AND "TIME" = :"TIME" AND ROWNUM
= 1
sql_et: 0 (ms)
Thread #3
sql_text:
UPDATE "TEST"."T33" SET "C2" = :"C2", "C3" = :"C3", "C9" = :"C9"
, "C10" = :"C10", "C11" = :"C11" WHERE "C1" = :"C1" AND "C2" = :
"C2" AND "C3" = :"C3" AND "C4" = :"C4" AND "C5" = :"C5" AND "C6"
= :"C6" AND "C7" = :"C7" AND "C8" = :"C8" AND "C9" = :"C9" AND "
C10" = :"C10" AND "C11" = :"C11" AND "TIME" = :"TIME" AND ROWNUM
= 1
sql_et: 0 (ms)
SQL_TEXT
Replay 스레드가 현재 적용 중인 Query
SQL_ET
해당 Query문을 수행 시작하고 경과된 시간
명령어 실행 및 정지
ProSync Admin Utility에서 주로 사용하는 기능은 명령어를 직접 입력하여 프로세스를 실행하고 정지하고 일시정지하는 것이다. ProSync Admin Utility 명령어는 실행을 위한 명령어가 따로 없으며, 입력된 명령어는 버퍼에 저장된다. ProSync Admin Utility 명령어는 입력을 마침과 동시에 실행된다.
Admin> START AGENT agent1
*** Startup Agent Process... [agent1]
Process 'prs_agent' started.
Admin> STARTUP prosync4
*** Startup Process... [prosync4_ext1]
Process 'prosync4_ext1' started.
*** Startup Process... [prosync4_apply1]
Process 'prosync4_apply1' started.
*** Startup Process... [prosync4_llob]
Process 'prosync4_llob' started.
위의 예는 INST_ID가 prosync4인 모든 프로세스를 실행하는 명령어의 입력 및 실행 결과를 보이고 있다. INST_ID의 추출, 적용, LONG/LOB 프로세스가 각각 기동된다. 예제의 명령어를 입력하기 이전에 해당 INST_ID에 연결되어 있는 매니저 프로세스를 실행시켜야 한다.
Admin> SHUTDOWN prosync4
*** Shutdown Process... [prosync4_ext1]
Process 'prosync4_ext1' aborted.
*** Shutdown Process... [prosync4_apply1]
Process 'prosync4_apply1' aborted.
*** Shutdown Process... [prosync4_llob]
Process 'prosync4_llob' aborted.
INST_ID를 정지하면, 매니저 프로세스를 제외한 추출, 적용, LONG/LOB 프로세스가 중단된다.
Last updated