compare status 명령을 사용하여 마지막 compare 또는 repair 작업의 실행 상태를 볼 수 있습니다. compare status 명령을 사용하여 compare 또는 repair 작업이나 compare 또는 repair 작업의 일부에 대한 자세한 상태를 보거나 SharePlex에 내역이 있는 모든 compare와 repair 작업의 상태를 볼 수 있습니다.
참고: compare status 명령 사용에 대한 자세한 내용과 예는 job status 명령을 참조하십시오.
사용
구문
job status |
[job_id]
[Job_id.table_id]
[all]
[full]
[detail]
[status] |
[ on host |
on host:portnumber |
on login/password@host |
on login/password@host:portnumber ] |
구문 설명
job status |
SharePlex에 내역이 있는 모든 compare와 repair 작업의 상태를 보여줍니다. |
job_id |
지정된 SharePlex 할당 작업 ID를 가진 작업에 대한 상태 내역을 표시합니다.
예:
sp_ctrl(sysA)>job status 2828.2 |
job_id.table_id |
지정된 SharePlex 할당 작업 ID 및 테이블을 가진 작업에 대한 상태 내역을 표시합니다.
예:
sp_ctrl(sysA)>job status 2828.HR.SRC_TEST3 |
all |
데이터베이스에 내역이 있는 모든 작업에 대한 요약 줄을 표시합니다.
예:
sp_ctrl(sysA)>job status all |
full |
작업에 있는 모든 객체의 상태를 표시합니다. 기본적으로 작업 상태 명령은 완료되지 않았거나 예외 상태로 완료된 객체의 상태를 표시합니다.
예:
sp_ctrl(sysA)>job status 2828 full |
detail |
보고된 모든 객체에 대한 세부 정보를 표시합니다. 기본적으로 작업 상태 명령은 보고된 모든 객체에 대한 요약 줄을 표시합니다. 세부 정보는 job_id.table_id 옵션에 표시되는 것과 동일합니다.
예:
sp_ctrl(sysA)>job status detail |
status |
지정된 상태를 가진 이전 작업에 대한 상태 내역을 표시합니다.
예:
sp_ctrl(sysA)>job status "Error" |
원격 옵션
이러한 옵션을 사용하면 원격 시스템에서 명령을 실행하고 로그인 이름, 비밀번호, 포트 번호 또는 이러한 항목의 조합을 포함하는 명령을 스크립트할 수 있습니다.
on host |
원격 시스템(현재 sp_ctrl 세션이 실행 중인 시스템이 아닌 것)에서 명령을 실행합니다. 원격 시스템에 대한 로그인 자격 증명을 묻는 메시지가 표시됩니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예: sp_ctrl(sysB)>status on SysA |
on host:portnumber |
원격 로그인 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예: sp_ctrl(sysB)>status on SysA:8304 |
on login/password@host |
원격 로그인, 비밀번호 및 호스트 이름을 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예:sp_ctrl(sysB)>status on john/spot5489@SysA |
on login/password@host:portnumber |
원격 로그인, 비밀번호, 호스트 이름 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예: sp_ctrl(sysB)>status on john/spot5489@SysA:8304 |
connection 명령을 사용하여 데이터베이스에 연결하도록 SharePlex를 구성할 수 있습니다.
connection 명령을 사용하는 방법
connection 명령을 사용하여 데이터베이스에 연결할 때 사용할 SharePlex의 연결 속성을 설정할 수 있습니다. 데이터베이스에 사용할 수 있는 데이터베이스 설정 유틸리티가 없는 경우에만 이 명령을 사용합니다. 데이터베이스에 대한 설정 유틸리티가 있는지 확인하려면 데이터베이스 설정 유틸리티를 참조하십시오.
다음과 같은 방법으로 connection 명령을 사용합니다.
- 연결 특성을 설정하려면 set 옵션을 사용합니다. 사용된 옵션당 하나의 connection 명령을 실행합니다. 이 명령은 하나의 명령으로 여러 키워드/값 쌍의 문자열을 지원하지 않습니다.
- 연결 설정을 해제하려면 reset 옵션을 사용합니다.
- 현재 연결 설정을 보려면 show 옵션을 사용합니다.
중요: 이 명령을 사용한 후에는 Post 프로세스를 중지했다가 재시작해야 합니다.
사용
지원되는 소스: |
Oracle |
지원되는 타겟: |
전체 |
인증 수준: |
운영자(2) |
문제 위치: |
소스 또는 타겟 시스템 |
관련 명령: |
target |
구문
connection {o. | r.}database
{
set keyword=value |
show [all] |
reset [keyword]
} |
[user=username]
[password=password]
[tns_alias=alias]
[asm_sid=SID]
[asm_user=username]
[asm_password=password]
[asm_tns_alias=alias]
[wallet_location = path]
[wallet_automode = Y/N]
[dsn=DSN]
[server=servername]
[driver=path]
[port=portnumber]
[connect_string=string]
[plugin = pluginname]
[plugin_version = versionnumber]
[plugin_direction = source/target/both]
[sp_host_port = Hostname:port]
[admin_user = username]
[database = SID]
[dstype = Datastorename]
[version = versionnumber]
[hostaddr = IPaddress]
[host = servername]
[dbname = databasename]
[db_host = IP]
[db_port = portnumber]
[oracle_home = path]
[service_name = servicename] |
사용 불가 |
구문 설명
{o. | r.}database |
연결을 구성 중인 데이터베이스입니다. 다음 형식을 사용합니다.
Oracle:
o.SID
여기서, SID는 데이터베이스의 ORACLE_SID입니다.
Open Target(ODBC):
r.database
여기서, database는 데이터베이스의 이름(DSN 아님)입니다.
참고: 데이터베이스 사양은 구성 파일의 라우팅 맵이나 데이터 소스 줄의 데이터베이스 사양과 일치해야 합니다. 예를 들어 라우팅 맵이 myhost@r.mydb인 경우 connection 명령에는 connection r.mydb set user=myuser와 같이 동일한 데이터베이스 사양이 포함됩니다. |
set keyword=value |
연결 속성을 설정합니다. 키워드를 참조하십시오. |
show [all] |
show는 지정된 데이터베이스에 대한 현재 연결 설정을 표시합니다.
show all은 모든 로컬 데이터베이스에 대한 연결 설정을 표시합니다. 다음 예와 같이 show all과 함께 데이터베이스 사양을 사용하지 마십시오.
connection show all |
reset [keyword] |
reset은 지정된 데이터베이스에 대한 모든 연결 설정을 해제합니다.
reset keyword는 특정 연결 속성에 대한 연결 설정만 해제합니다. 키워드를 참조하십시오. |
키워드
user=username |
전체 |
데이터베이스로 지정된 데이터베이스에 연결하는 데 SharePlex가 사용할 데이터베이스 사용자의 이름입니다. |
password=password |
전체 |
사용자 이름으로 지정된 사용자의 비밀번호입니다. |
tns_alias=alias |
Oracle |
SharePlex가 연결할 TNS 별칭입니다. 데이터베이스에 대한 연결이 tnsnames.ora 파일로 관리되는 경우에 필요합니다. |
asm_sid=SID |
Oracle |
ASM 인스턴스의 Oracle SID입니다. 데이터베이스에서 Oracle Automatic Storage Management를 사용하는 경우에 필요합니다. |
asm_user=username |
Oracle |
SharePlex가 ASM 인스턴스에 연결하는 데 사용할 ASM 사용자의 이름입니다. |
asm_password=password |
Oracle |
ASM 사용자의 비밀번호입니다. |
asm_tns_alias=alias |
Oracle |
ASM 인스턴스의 TNS 별칭입니다. ASM 인스턴스에 대한 연결이 tnsnames.ora 파일로 관리되는 경우에 필요합니다. |
wallet_location = path |
Oracle |
설정된 경우 Oracle Wallet 파일의 경로입니다. |
wallet_automode = Y/N |
Oracle |
SharePlex 자동 열기를 설정한 경우 Y로 설정합니다. |
dsn=DSN |
Open Target(ODBC) |
데이터베이스와 연관된 DSN(Data Source Name)입니다. 데이터베이스에 대한 DSN이 있는 경우 이 키워드와 user 및 password 키워드만 연결 설정에 필요합니다. |
server=servername |
Open Target(ODBC) |
데이터베이스를 호스팅하는 서버의 이름 또는 IP 주소입니다. |
driver=path |
Open Target(ODBC) |
데이터베이스에 대한 ODBC 연결을 지원하는 ODBC 드라이버의 전체 경로입니다. |
port=portnumber |
Open Target(ODBC) |
데이터베이스의 포트 번호입니다. |
connect_string=string |
Open Target(ODBC) |
사용자 정의 connection string입니다. 자체 connection string을 사용할 때에는 성공적인 ODBC 연결을 만드는 데 필요한 모든 요소가 포함되어 있어야 합니다. 그러나 사용자 이름과 비밀번호는 생략합니다. 사용자 정보를 제공하려면 user 및 password 옵션과 함께 connection 명령을 사용합니다. |
plugin = pluginname |
|
플러그인 이름 |
plugin_version = versionnumber |
|
플러그인 버전 |
plugin_direction = source/target/both |
|
Plugin_direction 값을 소스, 타겟 또는 둘 다로 설정할 수 있습니다. |
sp_host_port = Hostname:port |
데이터베이스(Non-Oracle) |
SharePlex 호스트: 설정을 실행한 포트 |
admin_user = username |
|
SQL Server의 관리자 사용자 |
database = SID |
|
데이터베이스 이름 |
dstype = Datastorename |
|
데이터 저장소 이름 |
version = versionnumber |
|
|
hostaddr = IPaddress |
데이터베이스(Non-Oracle) |
ODBC가 연결할 서버 IP 주소 |
host = servername |
데이터베이스(Non-Oracle) |
ODBC가 연결할 서버 이름 |
dbname = databasename |
데이터베이스(Non-Oracle) |
ODBC가 연결할 데이터베이스 이름 |
db_host = IP |
데이터베이스(Non-Oracle) |
DSN을 통한 데이터베이스의 호스트 |
db_port = portnumber |
데이터베이스(Non-Oracle) |
DSN을 통해 데이터베이스에서 사용되는 포트 |
oracle_home = path |
Oracle |
Oracle 홈 경로 |
service_name = servicename |
Oracle |
Oracle 서비스 이름 |
예
Oracle 예
connection o.myora12 set user=myuser
connection o.myora12 set password=mypassword
connection o.myora12 set tns_alias=myora12
Open Target 예
DSN이 존재함
connection r.mydb set user=myuser
connection r.mydb set password=mypassword
connection r.mydb set dsn=mydsn
DSN이 존재하지 않음
connection r.mydb set user=myuser
connection r.mydb set password=mypassword
connection r.mydb set port=1234
connection r.mydb set server=server1
connection r.mydb set driver=/database/ODBC/lib/databasedriver.so
DSN이 존재하지 않음, connection string 사용
connection r.mydb set user=myuser
connection r.mydb set password=mypassword
connection r.mydb set connect_string=”driver=/database/ODBC/lib/databasedriver.so;server=server1;port=1234;uid=myuser;pwd=mypassword”
연결 값 제거
connection r.mydb reset port
connection r.mydb reset
연결 설정 보기
connection r.mydb show
connection show all
copy/append 명령은 Oracle 익스포트/임포트 유틸리티를 사용하여 사용자가 복제를 설정하거나 이미 복제 중인 개별 테이블을 (재)동기화할 수 있습니다.
사용자는 개별 테이블을 단일 타겟에 copy/append할 수 있고, 여러 타겟을 지정하거나 복제 구성의 모든 타겟을 지정할 수 있습니다.
중요:
- 이 명령은 CONSISTENT=Y를 사용하여 Export를 호출합니다. 호출 시에는 ORA-01555 오류를 방지하기 위해 적절한 크기의 RBS가 필요합니다.
- 이 명령은 추가 단계 없이 양방향 또는 고가용성 환경에서 사용할 수 없습니다. 기술 문서 솔루션 48020을 참조하십시오.
- 이 명령을 사용하기 전에 이 문서를 모두 검토하십시오. 적절하지 않게 사용하면 데이터가 손실되고 동기화 중단 상태가 발생할 수 있습니다.
|
copy 명령
데이터를 동기화하기 전에 타겟 테이블을 자르려는 경우 copy 명령을 사용하여 한 호스트에서 다른 호스트로 테이블을 동기화하거나 인스턴스화합니다.
append 명령
데이터를 동기화하기 전에 타겟 테이블을 자르지 않으려는 경우 append 명령을 사용하여 한 호스트에서 다른 호스트로 테이블을 동기화하거나 인스턴스화할 수 있습니다.
copy/append 명령을 사용하는 경우
다음과 같은 방법으로 copy/append 명령을 사용합니다.
- 데이터베이스를 마이그레이션합니다.
- Compare/Repair 프로세스로 복원할 수 없는 테이블을 동기화합니다.
- 인스턴스화하는 동안 테이블을 복제에 배치합니다.
copy/append 명령이 지원하는 작업
copy/append 명령은 다음을 지원합니다.
- copy/append 명령이 지원하는 객체로, Oracle의 가져오기/내보내기 유틸리티가 지원하는 객체
- 하위 버전의 Oracle에서 상위 버전의 Oracle로 복사하거나, 동일한 Oracle 버전 간에 복사
- Oracle 와일드카드 사양의 결과로 포함된 동기화 라우팅 파일의 객체 복사/추가
- 명령줄 구문에 Oracle 와일드카드 사양 사용
copy/append 명령이 지원하지 않는 작업
copy/append 명령은 다음을 지원하지 않습니다.
중요:
- copy/append 명령은 Oracle 와일드카드를 지원합니다. 그러나 와일드카드 사양으로 표시된 객체 집합에 현재 복제되지 않은 객체가 포함된 경우 copy/append 명령은 현재 복제 중인 객체에만 적용됩니다.
- force 옵션을 사용하고 모든 타겟 정보를 지정하면 현재 동작과 마찬가지로 복제 중인 테이블이 정적으로 복사됩니다.
|
실행 프로그램 프로세스
copy/append 명령을 실행하기 전에 실행 프로그램 프로세스가 타겟 시스템에서 실행되고 있어야 합니다. 실행 프로그램 프로세스를 시작하려면 사용자는 각 타겟 시스템에서 다음 명령을 실행해야 합니다.
sp_ctrl(sysB)> start launcher
실행 프로그램 프로세스가 실행되는 동안 show launcher 명령을 사용하여 프로세스 세부 정보를 볼 수 있습니다.
사용자가 동기화를 완료하면 타겟 시스템에서 실행 프로그램이 중지될 수 있습니다. 실행 프로그램 프로세스를 중지하려면 사용자는 각 타겟 시스템에서 다음 명령을 실행해야 합니다.
sp_ctrl(sysB)>stop launcher
Copy/Append 프로세스 개요
copy/append 명령은 개별 호스트 간에 개별 테이블을 동기화하는 프로세스를 시작합니다.
다음은 간단한 동기화 프로세스 활동을 보여주는 일련의 이벤트입니다.
- 타겟 시스템에 로그인하고 sp_ctrl에서 start launcher 명령을 실행합니다.
- copy/append 명령이 sp_ctrl 세션에서 실행되면 sp_cnc가 소스 시스템에서 sp_sync_svr을 생성합니다.
- sp_sync_svr이 타겟 시스템에 연결하고 타겟 시스템에서 sp_sync_clnt를 시작합니다.
- sp_sync_svr은 타겟 테이블의 정보를 확인하기 위해 테이블 목록을 sp_syn_clnt로 보냅니다. a) 객체가 복사(및 추가)되는 경우 타겟 테이블이 잘립니다.
- 복사 중인 각 객체에 대해 sp_sync_svr이 Oracle Export 프로세스를 시작합니다.
- 복사 중인 객체가 복제 중인 경우 sp_sync_svr은 sp_sync_clnt가 Post 프로세스가 준비되었음을 나타낼 때까지 기다려야 합니다.
- sp_sync_clnt 프로세스는 sp_sync_svr 프로세스가 Oracle Export 프로세스를 연 각 객체에 대해 Oracle Import 프로세스를 시작합니다.
- sp_sync_svr 프로세스는 복사가 완료될 때까지 데이터를 sp_sync_clnt 프로세스로 전송합니다.
- 복사 중인 객체가 복제 중인 경우 Post 프로세스가 게시 활동을 다시 시작하고 재개합니다.
- 타겟 시스템에 로그인하고 sp_ctrl에서 stop launcher 명령을 실행합니다.
동시 copy 프로세스 실행
한 번에 여러 개의 copy/append 명령을 실행할 수 있습니다. 사용자는 copy 프로세스가 진행되는 동안 Post 프로세스가 모든 복제를 중지한다는 점에 유의해야 합니다.
동기화 프로세스 식별
동기화 프로세스는 sp_cop 프로세스에 의해 시작되지 않으므로 sp_ctrl 콘솔에 나열되지 않습니다. 프로세스를 식별하려면 운영 체제를 사용하여 실행 파일을 찾습니다.
- sp_sync_svr
-
sp_sync_clnt
-
sp_sync_lstnr
-
sp_sync_launcher
동기화를 위한 튜닝 매개변수
다음은 copy/append 명령을 사용한 동기화와 관련된 매개변수 목록입니다. 이러한 매개변수는 모두 활성 상태이며 다음에 명령이 실행될 때 적용됩니다.
- SP_OSY_COMPRESSION: 이 매개변수는 데이터 압축을 꺼짐(0)에서 전체(9)까지 조정합니다. 기본 정수 값은 6으로 설정됩니다.
- SP_OSY_EXP_BUFFER_SIZE: 이 매개변수는 타겟 시스템으로 전송되기 전에 버퍼링되는 데이터의 양을 조정합니다. 기본 정수 값은 1024KB입니다.
- SP_OSY_IMP_BUFFER_SIZE: 이 매개변수는 타겟 시스템에서 적용되기 전에 버퍼링되는 데이터의 양을 조정합니다. 기본 정수 값은 1024KB입니다.
- SP_OSY_LOCK_TIMEOUT: 이 매개변수는 동기화 프로세스가 테이블 잠금을 획득하기 위해 기다리는 시간(초)을 설정합니다. 기본 정수 값은 2초입니다.
- SP_OSY_PORT: 이 매개변수는 동기화 프로세스를 위한 포트 번호를 설정합니다. 기본 정수 값은 포트 번호 2501로 설정됩니다.
- SP_OSY_POST_TIMEOUT: 이 매개변수는 Post 프로세스가 준비되고 동기화가 시작될 때까지 동기화 프로세스가 대기하는 시간(초)을 설정합니다. 기본 정수 값은 1800초(30분)로 설정됩니다.
- SP_OSY_TCP_TIMEOUT: 이 매개변수는 IPC 시간 제한의 시간(초)을 설정합니다. 기본 정수 값은 60초로 설정됩니다.
- SP_OSY_THREADS: 이 매개변수는 동기화 처리 스레드 수를 설정합니다. 이 스레드 매개변수는 파티셔닝된 테이블에만 영향을 미칩니다. 기본 정수 값은 5개 스레드로 설정됩니다. 최대값은 32개 스레드입니다.
copy 상태 보기
하나 이상의 copy/append 명령 상태를 보는 가장 좋은 방법은 copy status 명령 또는 append status 명령을 사용하는 것입니다. 기본 명령은 시스템의 모든 copy/append 프로세스 결과를 표시합니다.
기본 명령은 현재 시스템에서 실행 중인 모든 copy/append 작업의 상태를 표시하고, 현재 실행 중인 목록에 포함되지 않은 경우 가장 최근에 실행된 copy/append 작업을 표시합니다. 이 목록은 특정 상태만 표시하도록 필터링할 수 있습니다.
하나 이상의 copy/append 명령의 결과를 보는 가장 좋은 방법은 sp_ctrl의 copy 옵션과 함께 report 명령을 사용하는 것입니다.
다음 예시 텍스트에서는 복제되지 않은 테이블에 대해 copy/append 명령이 실행되었습니다. 다음의 copy status는 테이블에 대한 기본 정보와 프로시저의 상태를 표시합니다.
sp_ctrl(alvlabl17:8708)> copy sp_iot.SYNC_iot_BASIC to sp_iot.SYNC_iot_BASIC for o.w920a32f at irvqasu15@o.a102u64f force
sp_ctrl(alvlabl17:8708)> copy status 111 for o.w920a32f
Host : alvlabl17.quest.com
Started : 17-MAR-08 13:59:28
Job Type : Copy
Status : Done
1 |
"SP_IOT"."SYNC_IOT_BASIC1" |
3720 |
100 |
Done |
N/A |
0:08 |
2 |
"SP_IOT"."SYNC_IOT_BASIC2" |
3720 |
100 |
Error |
N/A |
0:08 |
3 |
"SP_IOT"."SYNC_IOT_BASIC3" |
3720 |
100 |
Done |
N/A |
0:08 |
오류 상태의 테이블만 표시하도록 이 목록을 필터링하려면 다음 명령을 실행합니다.
sp_ctrl(alvlabl17:8708)> copy status 111 for o.w920a32f “Error”
동기화 라우팅 파일 사용
동기화 라우팅 파일은 파일 내용의 형식 요구 사항이 동일하다는 점에서 활성화에 사용되는 구성 파일과 구조가 매우 유사합니다. 두 파일의 차이점은 구성 파일의 일부 테이블이나 객체가 동기화 프로세스에서 지원되지 않을 수 있으므로 동기화 라우팅 파일에 포함하면 안 된다는 것입니다. 예를 들어 수평으로 또는 수직으로 파티셔닝된 테이블은 동기화 프로세스에서 지원되지 않으며 동기화 라우팅 파일에 포함되어서는 안 됩니다.
동기화 라우팅 파일에서 Oracle 와일드카드 사용이 지원됩니다. 동기화 라우팅 파일에서 Oracle 와일드카드를 적용하는 방법은 구성 파일에서와 동일합니다. SharePlex가 와일드카드를 지원하는 방법에 대한 자세한 내용은 SharePlex 관리 안내서를 참조하십시오.
예시 라우팅 파일
Datasource:o.s_sid1 |
s_user0.sync_multi_trgt |
d_user0.sync_multi_trgt |
d_host1@o.d_sid1 |
s_user0.sync_multi_trgt |
d_user0.sync_multi_trgt |
d_host2@o.d_sid1 |
s_user0.sync_multi_trgt |
d_user0.sync_multi_trgt_bu |
d_host1@o.d_sid2 |
참고:
- 테이블 그룹에 대해 copy/append 명령을 사용할 때에는 모든 테이블이 복제 상태여야 하며, 그렇지 않으면 모든 테이블이 복제 상태가 아니어야 합니다. 복제된 테이블과 복제되지 않은 테이블의 조합이 있는 경우 사용자는 각 그룹에 대해 별도의 동기화 라우팅 파일을 생성해야 하며 각 파일에 대해 별도의 동기화 프로세스를 시작해야 합니다.
- copy/append 명령은 테이블을 임의의 순서로 복사하며 참조 무결성을 고려하지 않습니다. 그러므로 사용자는 한 번에 하나의 테이블만 복사/추가하거나 copy/append를 매우 적은 수의 테이블로 제한하는 것이 좋습니다.
|
서로 다른 소스 및 타겟 테이블 복사
소스 테이블과 타겟 테이블의 구조는 동일해야 합니다. 단, 소스 테이블에는 타겟 테이블보다 적은 컬럼이 포함될 수 있습니다.
해당 타겟 테이블보다 더 많은 컬럼을 포함하는 소스 테이블에 copy/append 명령을 사용하면 안 됩니다.
파티셔닝된 복제에 복사본 사용
구성의 테이블이 파티셔닝된 복제를 사용하는 경우:
- copy/append 명령은 개별 테이블 및 개별 파티셔닝된 테이블의 복사를 지원하지만 개별 파티션은 지원하지 않습니다.
- 지정된 타겟 객체가 파티션인 경우에도 데이터는 개별 파티션에 복사되지 않습니다.
- 파티션을 타겟으로 지정하는 것은 지원되지 않습니다.
- copy 및 Append 모두에 대한 데이터 동기화는 항상 기본 테이블에서 수행되며 파티션에서는 수행되지 않습니다.
- copy/append 명령은 현재 복제 중인 수직으로 또는 수평으로 파티셔닝된 테이블을 지원하지 않습니다.
- [singlethread] 옵션을 사용하면 파티셔닝된 테이블이 하나의 객체로 복사됩니다. 기본 동작은 파티셔닝된 테이블의 각 파티션을 별도로 복사하여 복사가 동시에 수행될 수 있도록 하는 것입니다.
처리 스레드 수 제어
여러 프로세서가 있는 시스템을 활용하려면 SP_OSY_THREADS 매개변수를 사용하여 소스 시스템에서 copy/append 처리 스레드 수를 설정하면 됩니다. 이 스레드 매개변수는 파티셔닝된 테이블에만 영향을 미칩니다. 이 매개변수의 기본값은 5개의 스레드로 설정되며 유효한 값의 범위는 1~32개의 스레드입니다.
테이블이 복제 중일 때 동기화 프로세스는 단일 스레드라는 점에 유의하십시오. 다중 스레드 처리는 복제되지 않은 테이블에서만 작동합니다.
명령줄 구문에서 Oracle 와일드카드 사용
copy/append 명령의 source_table 부분을 지정할 때 Oracle 와일드카드를 사용할 수 있습니다. 또한 특정 객체를 제외하기 위해 not 표기법을 사용할 수도 있습니다.
다음을 사용하여 특정 스키마의 모든 테이블을 지정할 수 있습니다.
sp_ctrl(irvspxu14:8567)> copy scott.%
위의 예에서는 객체가 현재 복제 중인 경우 scott 스키마 아래의 모든 객체가 복사됩니다.
다음을 사용하여 제외를 설정할 수도 있습니다.
sp_ctrl(irvspxu14:8567)> copy scott.% not (%"foo"%)
위의 예에서는 객체가 현재 복제 중인 경우 scott 스키마 아래의 모든 객체(이름에 "foo"가 포함된 객체는 제외)가 복사됩니다.
SharePlex가 와일드카드를 지원하는 방법에 대한 자세한 내용은 SharePlex 관리 안내서를 참조하십시오.
copy/append 사용에 대한 기타 고려 사항
참고: copy 및 append 명령의 구문은 완전히 같습니다. 아래에 나온 예에서는 copy 명령을 활용하지만 append 명령은 copy대신 append를 간단히 대체하여 호출할 수 있습니다.
사용
지원되는 소스: |
Oracle |
지원되는 타겟: |
Oracle |
인증 수준: |
운영자(2) |
문제 위치: |
소스 시스템 |
관련 명령: |
없음 |
구문
{copy | append} source_owner.source_table
|
[not (list of exceptions)]
[totarget_owner.target_table[.partition]]
[at target_host[@target_SID]
[for o.source_SID]
[singlethread]
[force]
[status] |
[ on host |
on host:portnumber |
on login/password@host |
on login/password@host:portnumber ] |
{copy | append} using filename |
[for o.source_SID]
[force] |
[ on host |
on host:portnumber |
on login/password@host |
on login/password@host:portnumber ] |
구문 설명
source_owner.source_table |
와일드카드를 사용하여 개별 소스 소유자와 소스 테이블 이름 또는 객체 그룹을 지정합니다. {copy | append} with the usingfilename 구문을 사용하는 경우 유효하지 않습니다.
totarget_owner.target_table 옵션 없이 사용하는 경우 이 구문은 동기화 타겟이 복제 타겟과 동일한 것으로 가정합니다.
예:
sp_ctrl(SysA)>copy s_user1.sync_single_tbl
sp_ctrl(sysA)>append s_user1.sync_single_tbl |
filename |
동기화할 테이블이 포함된 동기화 라우팅 파일의 이름입니다. 파일 이름은 대소문자를 구분합니다.
{copy | append} using 명령을 사용할 때에 이 옵션을 사용합니다.
예:
sp_ctrl(SysA)>copy using sync_file_2.txt
sp_ctrl(sysA)>append using sync_file_2.txt |
[not (list of exceptions)] |
테이블 사양에 와일드카드가 포함된 경우 복사/추가하지 않을 테이블의 예외 목록을 지정합니다.
exception_list는 복사/추가하면 안 되는 테이블 이름 목록입니다.
copytest1, copytest2 및 copytest3의 세 가지 테이블을 고려하십시오. 아래 예에서는 copytest3 테이블의 데이터만 타겟에 복사됩니다.
sp_ctrl > copy s_user1.% not (copytest1,copytest2) |
totarget_owner.target_table [.partition] |
동기화할 타겟 테이블을 지정합니다. 이 옵션은 source_owner.source_table 옵션에만 유효합니다.
테이블이 복제 중이 아닌 경우 이 옵션을 attarget_host@ [target_sid] option 옵션과 함께 사용합니다.
예:
sp_ctrl(SysA)>copy s_user1.sync_single_tbl to d_user1.sync_single_tbl
sp_ctrl(SysA)>append s_user1.sync_single_tbl to d_user1.sync_single_tbl |
at target_host@ [target_SID] |
동기화할 타겟 테이블의 위치를 지정합니다. to target_owner.target_table [.partition] 옵션과 함께 사용합니다.
예:
sp_ctrl(SysA)>copy s_user1.sync_single_tbl to d_user1.sync_single_tbl at d_host1@o.d_sid1
sp_ctrl(SysA)>append s_user1.sync_single_tbl to d_user1.sync_single_tbl at d_host1@o.d_sid1 |
for o.source_SID |
활성 구성이 없거나 둘 이상의 활성 구성이 있는 경우 동기화할 객체가 포함된 데이터 소스를 지정하는 데 사용됩니다.
예:
sp_ctrl(SysA)>copy s_user1.sync_single_tbl for o.source_sid at target_host@o.target_sid force
sp_ctrl(SysA)>append s_user1.sync_single_tbl for o.source_sid at target_host@o.target_sid force |
singlethread |
파티셔닝된 테이블을 하나의 객체로 복사하려면 이 옵션을 사용합니다. 기본 동작은 파티셔닝된 테이블의 각 파티션을 별도로 복사하여 복사가 동시에 수행될 수 있도록 하는 것입니다. |
force |
동기화할 테이블이 복제되지 않거나 테이블 경로가 기존 경로 또는 알려진 경로와 일치하지 않는 경우에 이 옵션을 사용합니다.
예:
sp_ctrl(SysA)>copy s_user1.sync_single_tbl at target_host@o.target_sid force
sp_ctrl(SysA)>append s_user1.sync_single_tbl at target_host@o.target_sid force |
status |
이전 copy/append 명령에 대한 상태 내역을 표시합니다.
sp_ctrl(SysA)>copy status
sp_ctrl(SysA)>append status |
원격 옵션
이러한 옵션을 사용하면 원격 시스템에서 명령을 실행하고 로그인 이름, 비밀번호, 포트 번호 또는 이러한 항목의 조합을 포함하는 명령을 스크립트할 수 있습니다.
on host |
원격 시스템(현재 sp_ctrl 세션이 실행 중인 시스템이 아닌 것)에서 명령을 실행합니다. 원격 시스템에 대한 로그인 자격 증명을 묻는 메시지가 표시됩니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예: sp_ctrl(sysB)>status on SysA |
on host:portnumber |
원격 로그인 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예: sp_ctrl(sysB)>status on SysA:8304 |
on login/password@host |
원격 로그인, 비밀번호 및 호스트 이름을 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예:sp_ctrl(sysB)>status on john/spot5489@SysA |
on login/password@host:portnumber |
원격 로그인, 비밀번호, 호스트 이름 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예: sp_ctrl(sysB)>status on john/spot5489@SysA:8304 |
copy cache 명령을 사용하여 객체 캐시를 소스에서 타겟으로 복사할 수 있습니다.
SharePlex 이벤트 로그에 다음 메시지가 있으면 copy cache 명령에 Post 프로세스에 대한 타겟 호스트 및 타겟 sid와 오류 메시지의 actid(활성화 ID)를 포함합니다. Post 프로세스가 현재 게시하고 있는 활성화의 활성화 ID입니다.
Poster [SP-OPO01009] cannot read object cache for actid <nnnn>
옵션 없이 copy cache 명령을 실행하면 SharePlex는 소스의 현재 활성화 ID를 식별하고 해당 활성화 ID에 대한 객체 캐시를 소스에서 모든 타겟으로 복사합니다.
사용
지원되는 소스: |
Oracle |
지원되는 타겟: |
전체 |
인증 수준: |
운영자(2) |
문제 위치: |
소스 시스템 |
관련 명령: |
show log |
구문
copy cache |
[actid actid]
[at target_host[@target_sid]] |
[ on host |
on host:portnumber |
on login/password@host |
on login/password@host:portnumber ] |
구문 설명
copy cache |
옵션 없이 copy cache 명령을 실행하면 SharePlex는 소스의 현재 활성화 ID(actid)를 확인하고 해당 actid에 대한 객체 캐시를 모든 타겟으로 복사합니다. |
actid actid |
지정된 타겟 또는 모든 타겟(타겟이 지정되지 않은 경우)에 복사할 객체 캐시의 활성화 ID를 지정합니다. |
attarget_host[@target_sid] |
지정된 actid 또는 현재 actid(actid가 지정되지 않은 경우)에 대한 객체 캐시를 복사할 타겟을 지정합니다. |
원격 옵션
이러한 옵션을 사용하면 원격 시스템에서 명령을 실행하고 로그인 이름, 비밀번호, 포트 번호 또는 이러한 항목의 조합을 포함하는 명령을 스크립트할 수 있습니다.
on host |
원격 시스템(현재 sp_ctrl 세션이 실행 중인 시스템이 아닌 것)에서 명령을 실행합니다. 원격 시스템에 대한 로그인 자격 증명을 묻는 메시지가 표시됩니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예: sp_ctrl(sysB)>status on SysA |
on host:portnumber |
원격 로그인 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예: sp_ctrl(sysB)>status on SysA:8304 |
on login/password@host |
원격 로그인, 비밀번호 및 호스트 이름을 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예:sp_ctrl(sysB)>status on john/spot5489@SysA |
on login/password@host:portnumber |
원격 로그인, 비밀번호, 호스트 이름 및 포트 번호를 제공해야 하는 경우 원격 시스템에서 명령을 실행합니다. 사용되는 경우 명령 구문의 마지막 구성 요소여야 합니다.
예: sp_ctrl(sysB)>status on john/spot5489@SysA:8304 |