> For the complete documentation index, see [llms.txt](https://docs.tibero.com/prosync/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tibero.com/prosync/administration/admin/command/lists.md).

# 명령어 목록

## ! / HOST <a href="#host" id="host"></a>

ProSync Admin Utility 내에서 운영체제의 명령어를 실행한다.

{% code collapsedlinecount="10" %}

```
! [command]
HO[ST] [command]
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th><th data-hidden></th></tr></thead><tbody><tr><td>command</td><td>운영체제의 명령어이다.</td><td></td></tr></tbody></table>

운영체제의 명령어 없이 ! 명령어만 입력하면 운영체제의 명령 프롬프트로 나가서 운영체제의 명령어를 여러 번 입력할 수 있다.

이때 다시 ProSync Admin Utility로 돌아오려면 EXIT 명령어를 입력한다.

다음은 현재 디렉터리 내에 확장자가 ext인 모든 디렉터리와 파일 목록을 출력하는 예제이다.

{% code collapsedlinecount="10" %}

```
Admin> ! dir *.ext
Admin> !

Admin> HOST dir *.ext
Admin> HOST
```

{% endcode %}

***

## @ <a href="#undefined" id="undefined"></a>

특정 스크립트 파일을 실행한다. 파일의 확장자가 SUFFIX 시스템 변수에 등록되어 있으면, 확장자를 생략하고 파일명을 지정할 수 있다.

스크립트 실행 전에 SET 명령어로 설정된 시스템 변수는 실행 도중에도 유효하다. 스크립트 내에서 EXIT 또는 QUIT 명령어를 실행하면 ProSync Admin Utility가 정지한다.

{% code collapsedlinecount="10" %}

```
@ {filename}
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th><th data-hidden></th></tr></thead><tbody><tr><td>filename</td><td>스크립트 파일의 이름이다. ProSync Admin Utility는 파일을 현재 디렉터리에서 찾는다.</td><td></td></tr></tbody></table>

다음은 현재 디렉터리 내의 스크립트 파일을 실행하는 예제이다.

{% code collapsedlinecount="10" %}

```
Admin> @ run
Admin> @ run.sql
```

{% endcode %}

***

## / <a href="#undefined-1" id="undefined-1"></a>

ProSync Admin Utility 내에서 히스토리 버퍼에 저장된 명령어를 재수행한다.

{% code collapsedlinecount="10" %}

```
/
```

{% endcode %}

다음은 히스토리 버퍼에 저장된 'HELP' 명령어를 재수행하는 예제이다:

{% code collapsedlinecount="10" %}

```
Admin> HELP
Admin> /
```

{% endcode %}

***

## ALTER <a href="#alter" id="alter"></a>

ProSync 운영 중에 동기화 대상 테이블을 추가/제거하거나, 기동 중인 ProSync 프로세스의 Parameter를 변경할 수 있다.

{% code collapsedlinecount="10" %}

```
#동기화 테이블 추가/제거
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'
```

{% endcode %}

동기화 테이블 추가/제거의 경우, 기동 전에 prs\_obj\_group1.list에 추가하지 못했던 테이블을 ProSync 운영 중에 동적으로 추가할 수 있다.\
Source DB를 오라클을 사용하고, 로그마이너를 통한 추출을 하는 경우 다음과 같은 동작을 수행해야 동적 동기화 테이블 추가가 가능하다.

1. 소스 오라클, 타겟 티베로 동기화 대상 테이블 생성(CREATE 수행)
2. Admin Utility에서 `ALTER <inst_id> ADD TABLE` 수행 (해당 테이블에 supplemental log가 함께 추가된다)
3. 소스 오라클 ALTER SYSTEM SWITCH LOGFILE 수행
4. DML/DDL 동기화 확인

{% hint style="info" %}
**참고**

`prs_obj_group#.list` 파일은 설치 시점에만 처리되므로, 설치 이후 생성한 테이블은 이 명령으로 등록해야 한다. 동적으로 테이블을 추가할 때 Tibero/Oracle은 해당 테이블의 supplemental logging 설정이 필요하며, Source가 PostgreSQL인 경우 replica identity와 publication 설정을 함께 확인해야 한다.
{% endhint %}

Parameter 변경의 경우, 수정을 원하는 Parameter의 유형이 Dynamic 인 경우에만 변경할 수 있다.

{% hint style="warning" %}
**주의**

* Parameter 변경은 각 프로세스가 실제로 ALTER 처리를 지원하는 파라미터에 대해서만 적용된다. 문서상 Dynamic으로 표기된 파라미터라도 해당 프로세스가 변경을 지원하지 않으면 `not supported`로 실패할 수 있다.
* ALTER로 변경한 값은 프로세스 메모리에만 적용되고 cfg 파일에는 기록되지 않는다. 프로세스를 재기동하면 cfg 파일의 값으로 원복되므로, 영구적으로 반영하려면 cfg 파일도 함께 수정해야 한다.
  {% endhint %}

***

## EXIT / QUIT <a href="#exit-quit" id="exit-quit"></a>

ProSync Admin Utility를 정지한다. 현재 진행 중이던 프로세스에 영향을 전혀 주지 않고 Utility만 정지된다.

{% code collapsedlinecount="10" %}

```
EXIT | Q[UIT]
```

{% endcode %}

***

## HELP <a href="#help" id="help"></a>

Admin 명령어 사용에 대한 도움말을 화면에 출력한다.

{% code collapsedlinecount="10" %}

```
H[ELP] [topic]
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>topic</td><td>도움말을 출력할 단어를 지정한다.</td></tr></tbody></table>

옵션을 지정하지 않으면 ProSync Admin Utility에서 사용할 수 있는 전체 명령어를 출력한다.

다음은 SET 파라미터에 대한 도움말을 화면에 출력하는 예제이다.

{% code collapsedlinecount="10" %}

```
Admin> HELP SET
```

{% endcode %}

***

## PAUSE <a href="#pause" id="pause"></a>

사용자가 입력한 INST\_ID의 작업을 멈추는 명령어이다.

모든 프로세스가 정지하는 것이 아닌, 추출이 더 이상 데이터를 추출하지 않도록 하는 기능이다. 즉 현재 반영중인 내용이나 이미 소켓을 타고 넘어간 데이터들에 대한 반영은 이루어진다.

{% code collapsedlinecount="10" %}

```
PAUSE {inst_id|ALL}
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>inst_id</td><td>일시 정지할 inst_id이다.</td></tr><tr><td>ALL</td><td>등록된 모든 instance의 작업을 일시 정지한다.</td></tr></tbody></table>

다음은 'prosync4'의 작업을 일시정지하는 예제이다.

{% code collapsedlinecount="10" %}

```
Admin> PAUSE prosync4
prosync4 paused.
```

{% endcode %}

***

## RESUME <a href="#resume" id="resume"></a>

사용자가 입력한 INST\_ID의 작업을 재개하는 명령어이다.

PAUSE 의 동작을 되돌리는 것으로, 추출이 다시 시작되는 기능으로 볼 수 있다.

{% code collapsedlinecount="10" %}

```
RESUME {inst_id|ALL}
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>inst_id</td><td>재시작할 inst_id이다.</td></tr><tr><td>ALL</td><td>등록된 모든 instance의 작업을 재개한다.</td></tr></tbody></table>

예제

{% code collapsedlinecount="10" %}

```
Admin> RESUME prosync4
prosync4 resumed.
```

{% endcode %}

***

## SET <a href="#set" id="set"></a>

ProSync Admin Utility의 시스템 변수를 설정한다.

SET 명령어로 설정된 시스템 변수는 SHOW 명령어를 사용하여 출력한다. 단, 변경된 시스템 변수는 현재 세션 내에서만 유효하다. 각각의 시스템 변수에 대해서는 [시스템 변수](/prosync/administration/admin/configuration.md) 를 참고한다.

{% code collapsedlinecount="10" %}

```
SET {parameter} {value}
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>parameter</td><td>ProSync Admin Utility 시스템 변수의 이름이다.</td></tr><tr><td>value</td><td>ProSync Admin Utility 시스템 변수의 값이다.</td></tr></tbody></table>

예제

{% code collapsedlinecount="10" %}

```
Admin> SET HISTORY 100
```

{% endcode %}

***

## SHOW <a href="#show" id="show"></a>

ProSync Admin Utility의 시스템 변수 및 각 프로세스의 파라미터를 출력한다.

{% code collapsedlinecount="10" %}

```
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]
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>ALL</td><td>모든 ProSync Admin Utility 시스템 변수를 출력한다.</td></tr><tr><td>PARAM[ETER]</td><td>파라미터의 값을 출력할 때 사용한다.</td></tr><tr><td>instance_id</td><td>파라미터를 확인하고자 하는 instance 의 instance_id.</td></tr><tr><td>EXT[RACT] {num}</td><td>{num} 번째 노드의 추출 프로세스에 속한 파라미터를 출력한다.</td></tr><tr><td>APP[LY] {num}</td><td>{num} 번째 노드의 적용 프로세스에 속한 파라미터를 출력한다.</td></tr><tr><td>LLOB</td><td>LONG/LOB 프로세스에 속한 파라미터를 출력한다.</td></tr><tr><td>AGE[NT]</td><td>agent 프로세스의 파라미터를 출력할 때 사용한다.</td></tr><tr><td>agent_id</td><td>파라미터를 확인하고자 하는 agent 의 agent_id.</td></tr><tr><td>parameter_name</td><td>확인하고자 하는 parameter의 이름을 입력한다.<br>파라미터 이름을 입력하지 않으면 해당 프로세스에 속한 모든 파라미터의 값이 출력된다.</td></tr></tbody></table>

다음은 시스템 변수를 출력하는 예제이다.

{% code collapsedlinecount="10" %}

```
Admin> SHOW ALL
```

{% endcode %}

다음은 'prosync4' 에 속한 프로세스들의 파라미터를 출력하는 예제이다.

{% code collapsedlinecount="10" %}

```
Admin> SHOW PARAM prosync4 EXT 1 LOG_LEVEL
Admin> SHOW PARAM prosync4 APPLY 1 MAP
Admin> SHOW PARAM prosync4 LLOB LLOB_FLASHBACK_ERROR
```

{% endcode %}

다음은 'agent1' 에 속한 모든 파라미터를 출력하는 예제이다.

{% code collapsedlinecount="10" %}

```
Admin> SHOW PARAM AGENT agent1
```

{% endcode %}

***

## SHUTDOWN <a href="#shutdown" id="shutdown"></a>

사용자가 입력한 INST\_ID의 프로세스 혹은 매니저 프로세스를 정지한다.

{% code collapsedlinecount="10" %}

```
SHUTD[OWN] ALL
SHUTD[OWN] AGE[NT] [agent_id] [ABORT]
SHUTD[OWN] inst_id [EXT[RACT] [num] | APP[LY] [num] | LLOB] [ABORT]
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>ALL</td><td>등록된 모든 instance를 정지한다.</td></tr><tr><td>AGE[NT]</td><td>Agent 프로세스를 정지할 때 사용한다.</td></tr><tr><td>agent_id</td><td>특정 agent_id 의 프로세스를 정지할 때 사용한다.</td></tr><tr><td>inst_id</td><td>특정 inst_id의 프로세스를 정지할 때 사용한다.</td></tr><tr><td>EXT[RACT] [num]</td><td>[num]번째 노드의 추출 프로세스를 정지할 때 사용한다.</td></tr><tr><td>APP[LY] [num]</td><td>[num]번째 노드의 적용 프로세스를 정지할 때 사용한다.</td></tr><tr><td>LLOB</td><td>LONG/LOB 프로세스를 정지할 때 사용한다.</td></tr><tr><td>ABORT</td><td>강제로 정지할 때 사용한다.</td></tr></tbody></table>

{% hint style="warning" %}
**주의**

현재 버전에서는 `ABORT` 옵션 지정 여부와 관계없이 SHUTDOWN이 강제 종료(abort) 방식으로 동작한다. 즉, 처리 중이던 작업을 마무리하는 정상 종료(graceful shutdown)로 동작하지 않는다. 재기동 시에는 checkpoint 기반으로 복구되며, 관련 내용은 [장애 대응 가이드](/prosync/troubleshooting.md)를 참고한다.
{% endhint %}

다음은 'pro'의 프로세스를 정지하는 예제이다.

{% code collapsedlinecount="10" %}

```
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.
```

{% endcode %}

다음은 'agent1'의 매니저 프로세스를 정지하는 예제이다.

{% code collapsedlinecount="10" %}

```
Admin> SHUTDOWN AGENT agent1
*** Shutdown Agent Process... [agent1]
	Process 'prs_agent' aborted.
```

{% endcode %}

***

## STARTUP <a href="#startup" id="startup"></a>

사용자가 입력한 INST\_ID의 프로세스를 실행한다.

{% code collapsedlinecount="10" %}

```
START[UP] ALL
START[UP] AGE[NT] agent_id
START[UP] inst_id [EXT[RACT] [num] | APP[LY] [num] | LLOB]
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>ALL</td><td>등록된 모든 instance를 기동한다.</td></tr><tr><td>AGE[NT]</td><td>Agent 프로세스를 실행할 때 사용한다.</td></tr><tr><td>agent_id</td><td>특정 agent_id 의 프로세스를 실행할 때 사용한다.</td></tr><tr><td>inst_id</td><td>특정 inst_id의 프로세스를 실행할 때 사용한다.</td></tr><tr><td>EXT[RACT] [num]</td><td>[num]번째 노드의 추출 프로세스를 실행할 때 사용한다.</td></tr><tr><td>APP[LY] [num]</td><td>[num]번째 노드의 적용 프로세스를 실행할 때 사용한다.</td></tr><tr><td>LLOB</td><td>LONG/LOB 프로세스를 실행할 때 사용한다.</td></tr></tbody></table>

다음은 'agent1'의 매니저 프로세스를 실행하는 예제이다.

{% code collapsedlinecount="10" %}

```
Admin> STARTUP AGENT agent1
*** Startup Agent Process... [agent1]
	Process 'prs_agent' started.
```

{% endcode %}

다음은 'pro' instance를 실행하는 예제이다.

{% code collapsedlinecount="10" %}

```
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.
```

{% endcode %}

***

## STATUS <a href="#status" id="status"></a>

전체 프로세스, 사용자가 입력한 INST\_ID의 프로세스 혹은 매니저 프로세스의 상태를 확인하는 명령어이다.

{% code collapsedlinecount="10" %}

```
STATUS
STATUS inst_id
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>inst_id</td><td>특정 inst_id의 Ext, Apply, LONG/LOB 프로세스의 상태를 조회할 때 사용한다.</td></tr></tbody></table>

전체 프로세스의 상태를 조회하는 경우 STATUS 명령어만 사용한다.

다음은 모든 Instance(inst\_id) 프로세스를 조회하는 예제이다.

{% code collapsedlinecount="10" %}

```
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.
```

{% endcode %}

다음은 Instance(inst\_id)가 'prosync4'인 모든 프로세스 및 스레드의 상태를 조회하는 예제이다.

{% code collapsedlinecount="10" %}

```
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
```

{% endcode %}

{% hint style="info" %}
**참고**

프로세스의 PID가 살아 있어도 내부 worker thread만 비정상 종료된 상태일 수 있다. 장애 진단 시에는 `STATUS inst_id`로 각 thread의 상태까지 확인한다. 자세한 진단 절차는 [장애 대응 가이드](/prosync/troubleshooting.md)를 참고한다.
{% endhint %}

***

## MONITOR <a href="#monitor" id="monitor"></a>

Instance의 apply 프로세스가 Target DB에 반영 중인 Query의 정보를 출력한다.

{% code collapsedlinecount="10" %}

```
MON[ITOR] {inst_id}
```

{% endcode %}

다음은 MONITOR 명령어를 통해 현재 적용 중인 쿼리를 조회하는 예제이다.

{% code collapsedlinecount="10" %}

```
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)
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>SQL_TEXT</td><td>Replay 스레드가 현재 적용 중인 Query</td></tr><tr><td>SQL_ET</td><td>해당 Query문을 수행 시작하고 경과된 시간</td></tr></tbody></table>

***

## ALLOCDUMP <a href="#allocdump" id="allocdump"></a>

프로세스의 메모리 할당 현황을 파일로 출력하는 진단 명령어이다. 메모리 사용량 분석이나 장애 진단 시 기술 지원의 요청에 따라 사용한다.

{% code collapsedlinecount="10" %}

```
ALLOCDUMP {inst_id} [EXT|APPLY|LLOB]
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>inst_id</td><td>dump를 수행할 instance의 inst_id이다.</td></tr><tr><td>EXT|APPLY|LLOB</td><td>dump를 수행할 프로세스를 지정한다.</td></tr></tbody></table>

결과 파일은 `$PRS_HOME/var/<instance>/alloc/` 경로에 생성된다.

***

## TRACEDUMP <a href="#tracedump" id="tracedump"></a>

Apply 프로세스의 내부 상태를 파일로 출력하는 진단 명령어이다. **Apply 프로세스 전용이다.**

{% code collapsedlinecount="10" %}

```
TRACEDUMP {inst_id} [DD|MERGE|DEPENDENCY|QUEUE]
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>inst_id</td><td>dump를 수행할 instance의 inst_id이다.</td></tr><tr><td>DD</td><td>Apply가 보유한 Data Dictionary 상태를 dump한다.</td></tr><tr><td>MERGE</td><td>merge 처리 상태를 dump한다.</td></tr><tr><td>DEPENDENCY</td><td>트랜잭션 의존성 처리 상태를 dump한다.</td></tr><tr><td>QUEUE</td><td>내부 queue 상태를 dump한다.</td></tr></tbody></table>

결과 파일은 `$PRS_HOME/var/<instance>/dump/` 경로에 생성된다.

***

## JCDUMP <a href="#jcdump" id="jcdump"></a>

프로세스 내부 상태의 스냅샷 dump를 생성하거나, 생성된 dump 파일을 분석하는 진단 명령어이다.

{% code collapsedlinecount="10" %}

```
JCDUMP {inst_id} [EXT|APPLY|LLOB] [label]
JCDUMP COMPARE {inst_id} {file1} [file2]
```

{% endcode %}

<table><thead><tr><th width="180">항목</th><th>설명</th></tr></thead><tbody><tr><td>inst_id</td><td>dump를 수행할 instance의 inst_id이다.</td></tr><tr><td>EXT|APPLY|LLOB</td><td>dump를 수행할 프로세스를 지정한다.</td></tr><tr><td>label</td><td>dump 파일을 구분하기 위한 이름표이다. 시점별 dump를 비교할 때 사용한다.</td></tr><tr><td>COMPARE</td><td>이미 생성된 dump 파일을 분석할 때 사용한다. file1, file2는 <code>jcdump</code> 디렉토리 내 파일 이름의 일부로 지정할 수 있으며, 여러 파일이 일치하면 번호로 선택한다. 두 파일을 지정하면 두 dump를 비교하고, file2를 생략하면 file1 하나에 대한 분석 결과를 출력한다.</td></tr></tbody></table>

결과 파일은 `$PRS_HOME/var/<instance>/jcdump/` 경로에 생성된다.

***

## 명령어 실행 및 정지 <a href="#undefined-2" id="undefined-2"></a>

ProSync Admin Utility에서 주로 사용하는 기능은 명령어를 직접 입력하여 프로세스를 실행하고 정지하고 일시정지하는 것이다. ProSync Admin Utility 명령어는 실행을 위한 명령어가 따로 없으며, 입력된 명령어는 버퍼에 저장된다. ProSync Admin Utility 명령어는 입력을 마침과 동시에 실행된다.

{% code collapsedlinecount="10" %}

```
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.
```

{% endcode %}

위의 예는 INST\_ID가 prosync4인 모든 프로세스를 실행하는 명령어의 입력 및 실행 결과를 보이고 있다. INST\_ID의 추출, 적용, LONG/LOB 프로세스가 각각 기동된다. 예제의 명령어를 입력하기 이전에 해당 INST\_ID에 연결되어 있는 매니저 프로세스를 실행시켜야 한다.

{% code collapsedlinecount="10" %}

```
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.
```

{% endcode %}

INST\_ID를 정지하면, 매니저 프로세스를 제외한 추출, 적용, LONG/LOB 프로세스가 중단된다.
