All pages
1 of 6

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Admin 실행

ProSync Admin Utility의 설치 방법 및 실행 명령어를 안내한다.

설치

ProSync Admin Utility는 ProSync를 설치하는 과정에서 함께 설치된다.


실행

ProSync Admin Utility를 실행하는 명령어의 문법은 다음과 같다.

prs_adm [options] [script]

options

항목
설명

항목
설명

ProSync Admin Utility 실행 과정은 다음과 같다.

ProSync Admin Utility가 정상적으로 실행되면 위 예제처럼 Admin 프롬프트가 나타난다.

이 프롬프트에서 데이터베이스 사용자는 ProSync 관리를 위한 명령을 실행할 수 있다.

Admin

그림1. prosync process

ProSync Admin Utility

ProSync Admin Utility는 ProSync의 효율적인 사용을 위한 대화형 유틸리티이다. 이 유틸리티로 ProSync 프로세스의 기동, 정지, 일시정지와 같은 관리를 할 수 있다. 또한, ProSync 관리자는 시스템 관리를 위한 명령을 실행할 수 있다.

ProSync Admin Utility는 이러한 기본 기능 외에도 운영체제 관련 명령어의 실행, ProSync Admin Utility의 파라미터 확인, 스크립트 기능 등을 제공한다. 특히 스크립트 기능은 여러 ProSync Admin Utility 명령어를 하나의 스크립트 파일로 생성할 수 있어 편리하다.

ProSync Admin Utility는 다음과 같은 기능을 제공한다.

  • ProSync INSTANCE_ID별 기동, 일시정지, 재개, 정지

  • 특정 프로세스의 기동 및 정지

  • 스크립트를 통한 일괄 작업의 실행

  • ProSync 프로세스들의 상태 조회

  • 운영체제 관련 명령어의 실행

  • ProSync Admin Utility의 파라미터 설정 및 조회

  • 수행한 명령어에 대한 이력 관리

Admin 인터페이스 설명

ProSync Admin Utility 인터페이스에 대해 소개한다.

ProSync Admin Utility는 다음과 같은 특성을 가진 인터페이스로 실행한다.

  • ProSync Admin Utility가 정상적으로 실행되면 위와 같은 Admin 프롬프트가 출력된다. 프롬프트에서 ProSync Admin Utility 명령어를 입력할 수 있다.

  • 대소문자를 구분하지 않는다.

다음은 ProSync Admin Utility 실행 화면이다.

-h, --help

도움말 화면을 출력한다.

-v, --version

버전을 출력한다.

filename

파일명이다.

ext

파일의 확장자로, 지정하지 않을 경우 SUFFIX 시스템 변수에 지정된 확장자가 기본값이다.

script

위의 예에서는 ProSync Admin Utility를 실행한 뒤 HELP 명령어를 통해 ProSync Admin Utility가 지원하는 명령어를 확인할 수 있다. 이처럼 ProSync Admin Utility는 텍스트 모드의 화면에서 입력을 받고, 사용자의 요구에 따라 결과를 출력한다.
Admin>

참고

본 안내서에서는 특별한 경우를 제외하고는 모든 ProSync Admin Utility 명령어를 대문자로 표현한다.

명령어의 파라미터로 소문자가 사용된 경우는 다른 파라미터로 확장될 수 있는 경우이다.

@filename[.ext]
$ prs_adm
ProSync 4 - Admin Utility
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
$ prs_adm
ProSync 4 - Admin Utility
TmaxData Corporation Copyright (c) 2008-. All rights reserved.  

Admin> HELP 

환경설정

ProSync Admin Utility의 환경을 설정하는 방법과 시스템 변수에 대해 안내한다.

시스템 변수는 를 통해 변경할 수 있다.

명령어 히스토리의 크기를 설정한다.

항목
설명

화면상의 한 라인의 길이를 설정한다. 라인 길이의 최소값은 1이며, 최댓값은 운영체제에 따라 다르다.

항목
설명

n

화면상의 한 라인의 길이이다. (기본값: 80)

NUMBER 타입을 출력할 길이를 설정한다. LINESIZE를 넘을 수 없다.

항목
설명

n

NUMBER 타입 데이터의 기본 출력 길이이다. (기본값: 10)

한 화면에 출력할 라인 수를 설정한다.

항목
설명

n

한 페이지의 라인 개수이다. (기본값: 24)

화면상의 프롬프트 문자를 설정한다.

항목
설명

prompt_string

프롬프트로 사용할 문자열이다. (기본값: "Admin>")

이 문자열을 중괄호({ })로 감싸면 환경변수로 인식된다.

예를 들어 '{PRS_PROMPT}'이라고 지정하면 환경변수 $PRS_PROMPT의 값이 치환되어 프롬프트로 사용된다. 이때 환경변수의 이름은 대소문자를 구분한다.

파일 확장자를 생략했을 때 사용할 파일 확장자를 설정한다.

항목
설명

extension

기본으로 사용할 파일 확장자이다. (기본값: sql)

n

명령어 히스토리의 크기이다. (기본값: 50)

시스템 변수

HISTORY

SET 명령어

LINESIZE

NUMWIDTH

PAGESIZE

PROMPT

SUFFIX

SET HIS[TORY] {n}
SET LINE[SIZE] {n}
SET NUM[WIDTH] {n}
SET PAGE[SIZE] {n}
SET PROM[PT] {prompt_string}
SET SUF[FIX] {extension}
prosync process

명령어

ProSync Admin Utility가 제공하는 명령어의 사용법과 실행 방법을 안내한다.

다음은 ProSync Admin Utility 명령어를 표현하는 사용법의 예이다.

COM[MAND] param {choice1|choice2} [option] [arg]*

위의 예를 기준으로 ProSync Admin Utility에서 사용하는 명령어의 문법을 해석하는 방법은 다음과 같다.

항목
설명

대괄호([ ])

ProSync Admin Utility에서 사용할 수 있는 명령어는 다음과 같다.

명령어
설명

ProSync의 동기화 대상 테이블을 추가/제거 하거나 파라미터 값을 변경한다.

ProSync Admin Utility를 정지한다.

도움말을 출력한다.

사용자가 입력한 INST_ID에 속한 Extract 프로세스의 작업을 멈춘다.

사용자가 입력한 INST_ID에 속한 Extract 프로세스의 작업을 재개한다.

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

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

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

사용자가 입력한 INST_ID의 프로세스 혹은 매니저 프로세스를 실행한다.

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

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

대괄호([ ])에 포함된 내용은 입력하지 않아도 명령어를 실행할 수 있다.

위의 예에서 COMMAND 명령어의 뒷부분(MAND)과 option, arg는 명령 프롬프트에 포함되지 않을 수 있다.

중괄호({ })

중괄호({ })에 포함된 내용은 반드시 입력해야 명령어를 실행할 수 있다.

위의 예에서 choice1과 choice2는 중괄호({ }) 내에 있고 버티컬 바(|)로 분리되어 있으므로 둘 중 하나는 명령 프롬프트에 포함되어야 한다.

버티컬 바(|)

버티컬 바(|)로 분리된 내용은 그 중 하나를 선택한다.

애스터리스크(*)

애스터리스크(*)로 표시된 내용은 포함되지 않을 수도 있고, 여러 번 포함될 수도 있다. 위의 예에서 arg는 대괄호([ ]) 바로 뒤에 애스터리스크(*)가 있으므로 포함되지 않을 수도 있고, 한 번 이상 포함될 수도 있다.

대소문자

명령어는 대소문자를 구분하지 않는다.

! / HOST

운영체제의 명령어를 실행한다.

@

스크립트를 실행한다.

/

현재 버퍼 내의 명령문을 실행한다.

참고

각 명령어에 대한 자세한 설명은 명령어 목록에서 확인할 수 있다.

ALTER
EXIT / QUIT
HELP
PAUSE
RESUME
SET
SHOW
SHUTDOWN
STARTUP
STATUS
MONITOR

명령어 목록

! / HOST

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

! [command]
HO[ST] [command]
항목
설명

command

운영체제의 명령어이다.

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

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

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


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

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

항목
설명

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


ProSync Admin Utility 내에서 히스토리 버퍼에 저장된 명령어를 재수행한다. 사용자는 지정된 숫자에 해당하는 명령어를 반복 실행할 수 있다.

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


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

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

  1. 소스 오라클, 타겟 티베로 동기화 대상 테이블 생성(CREATE 수행)

  2. admin> ALTER [Top_ID] ADD TABLE 수행 SUPP LOG 추가

  3. 소스 오라클 ALTER SYSTEM SWITCH LOGFILE 수행

  4. DML/DDL 동기화 확인

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


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


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

항목
설명

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

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


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

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

항목
설명

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


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

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

항목
설명

예제


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

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

항목
설명

예제


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

항목
설명

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

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

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


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

항목
설명

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

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


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

항목
설명

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

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


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

항목
설명

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

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

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


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

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

항목
설명

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

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

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

EXT[RACT] {num}

{num} 번째 노드의 추출 프로세스에 속한 파라미터를 출력한다.

APP[LY] {num}

{num} 번째 노드의 적용 프로세스에 속한 파라미터를 출력한다.

LLOB

LONG/LOB 프로세스에 속한 파라미터를 출력한다.

AGE[NT]

agent 프로세스의 파라미터를 출력할 때 사용한다.

agent_id

파라미터를 확인하고자 하는 agent 의 agent_id.

parameter_name

확인하고자 하는 parameter의 이름을 입력한다. 파라미터 이름을 입력하지 않으면 해당 프로세스에 속한 모든 파라미터의 값이 출력된다.

inst_id

특정 inst_id의 프로세스를 정지할 때 사용한다.

EXT[RACT] [num]

[num]번째 노드의 추출 프로세스를 정지할 때 사용한다.

APP[LY] [num]

[num]번째 노드의 적용 프로세스를 정지할 때 사용한다.

ABORT

강제로 정지할 때 사용한다.

inst_id

특정 inst_id의 프로세스를 실행할 때 사용한다.

EXT[RACT] [num]

[num]번째 노드의 추출 프로세스를 실행할 때 사용한다.

APP[LY] [num]

[num]번째 노드의 적용 프로세스를 실행할 때 사용한다.

filename

스크립트 파일의 이름이다. ProSync Admin Utility는 파일을 현재 디렉터리에서 찾는다.

topic

도움말을 출력할 단어를 지정한다.

inst_id

일시 정지할 inst_id이다.

inst_id

재시작할 inst_id이다.

parameter

ProSync Admin Utility 시스템 변수의 이름이다.

value

ProSync Admin Utility 시스템 변수의 값이다.

ALL

모든 ProSync Admin Utility 시스템 변수를 출력한다.

PARAM[ETER]

파라미터의 값을 출력할 때 사용한다.

instance_id

파라미터를 확인하고자 하는 instance 의 instance_id.

ALL

등록된 모든 instance를 정지한다.

AGE[NT]

Agent 프로세스를 정지할 때 사용한다.

agent_id

특정 agent_id 의 프로세스를 정지할 때 사용한다.

ALL

등록된 모든 instance를 기동한다.

AGE[NT]

Agent 프로세스를 실행할 때 사용한다.

agent_id

특정 agent_id 의 프로세스를 실행할 때 사용한다.

inst_id

특정 inst_id의 Ext, Apply, LONG/LOB 프로세스의 상태를 조회할 때 사용한다.

SQL_TEXT

Replay 스레드가 현재 적용 중인 Query

SQL_ET

해당 Query문을 수행 시작하고 경과된 시간

@

/

ALTER

EXIT / QUIT

HELP

PAUSE

RESUME

SET

SHOW

SHUTDOWN

STARTUP

STATUS

MONITOR

명령어 실행 및 정지

시스템 변수
Admin> ! dir *.ext
Admin> !

Admin> HOST dir *.ext
Admin> HOST
@ {filename}
Admin> @ run
Admin> @ run.sql
/
Admin> HELP
Admin> /
#동기화 테이블 추가/제거
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'
EXIT | Q[UIT]
H[ELP] [topic]
Admin> HELP SET
PAUSE {inst_id}
Admin> PAUSE prosync4
prosync4 paused.
RESUME {inst_id}
Admin> RESUME prosync4
prosync4 resumed.
SET {parameter} {value}
Admin> SET HISTORY 100
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]
Admin> SHOW ALL
Admin> SHOW PARAM prosync4 EXT 1 LOG_LEVEL
Admin> SHOW PARAM prosync4 APPLY 1 MAP
Admin> SHOW PARAM prosync4 LLOB LLOB_FLASHBACK_ERROR
Admin> SHOW PARAM AGENT agent1
SHUTD[OWN] ALL
SHUTD[OWN] AGE[NT] [ABORT] [agent_id]
SHUTD[OWN] inst_id [EXT[RACT] [num] | APP[LY] [num]] [ABORT]
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.
Admin> SHUTDOWN AGENT agent1
*** Shutdown Agent Process... [agent1]
	Process 'prs_agent' aborted.
START[UP] ALL
START[UP] AGE[NT] agent_id
START[UP] inst_id [EXT[RACT] [num] | APP[LY] [num]]
Admin> STARTUP AGENT agent1
*** Startup Agent Process... [agent1]
	Process 'prs_agent' started.
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
STATUS 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.
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
MON[ITOR] {inst_id}
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)
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.
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.