정보 가용성 전략
SharePlex를 사용하면 복제본 데이터베이스를 다양한 방법으로 사용할 수 있는 안정적이고 지속적으로 업데이트되는 대체 데이터베이스로 활용할 수 있습니다. 다음 전략을 사용하면 사용자가 필요할 때 적합한 데이터를 얻을 수 있습니다.
참고: 이러한 토폴로지에 대한 지원은 관련된 데이터베이스 유형에 따라 달라질 수 있습니다.
그림1: SharePlex 복제 전략 살펴보기
리포팅 인스턴스
SharePlex로 유지 관리되는 타겟은 최신 상태를 유지하면서 접근할 수 있고 최적의 쿼리 성능을 위해 설계된 키와 인덱스로 최적화할 수 있기 때문에 보고서 및 쿼리 처리 오프로드에 적합합니다. OLTP 사용자의 성능에 대한 불만 없이 종일 보고서를 실행할 수 있습니다. 월말, 분기 등 보고가 바쁜 시기에 보고량이 많더라도 애플리케이션 응답 시간은 영향을 받지 않습니다. 또한 조직의 의사 결정권자는 보고서에 반영된 데이터의 정확성을 높이 평가할 것입니다. 자세한 내용은 데이터를 공유하거나 배포하도록 복제 구성를 참조하십시오.
브로드캐스트 및 단계화
많은 원격 사용자가 기본 데이터베이스에 저장된 데이터에 접근하거나 데이터를 사용하는 경우 SharePlex 복제를 통해 최신 상태로 유지되는 하나 이상의 보조 데이터베이스로 해당 처리를 이동할 수 있습니다. 이렇게 하면 기본 데이터베이스 및 시스템을 트랜잭션에 최적화된 상태로 유지할 수 있습니다. 또한 SharePlex는 중간 시스템을 통해 원격 시스템으로 데이터를 단계화할 수 있어 기본 데이터베이스에 대한 직접적인 네트워크 연결이 없는 원격 사용자에게 접근 권한을 제공합니다. 자세한 내용은 중간 시스템을 통한 복제 설정를 참조하십시오.
데이터 웨어하우징
SharePlex는 수많은 소스 시스템에서 하나의 타겟 시스템으로 복제할 수 있습니다. 이 구성은 쿼리 및 보고서를 위해 전사적으로 정보를 사용할 수 있도록 데이터 웨어하우스 또는 데이터 마트의 데이터를 통합하는 데 적합합니다. 복제되는 데이터와 다른 타겟 구조에 맞게 데이터를 변환하는 옵션을 제어할 수 있습니다. 이러한 기능을 사용하면 사용자가 올바른 결정을 내리는 데 필요한 적시의 구체적인 정보로 데이터 웨어하우스를 채울 수 있습니다. 자세한 내용은 중앙 데이터 저장소를 유지하도록 복제 구성를 참조하십시오.
고가용성 및 재해 복구
SharePlex는 로컬 네트워크나 광역 네트워크를 통해 중복 데이터베이스를 유지하는 데 사용할 수 있습니다. 기본 서버에서 정기적인 유지 보수가 수행되는 경우 긴급 상황이나 계획된 방식으로 프로덕션을 대체 사이트로 이동할 수 있습니다. SharePlex 복제를 통해 보조 데이터베이스를 쿼리 및 보고에 사용할 수 있습니다. 자세한 내용은 고가용성을 유지하도록 복제 구성를 참조하십시오.
피어-투-피어
SharePlex는 각 시스템의 애플리케이션이 동일한 데이터를 변경할 수 있는 여러 소스 데이터베이스 간의 복제를 지원하며 SharePlex는 동기화를 유지합니다. 이 전략에서 데이터베이스는 일반적으로 서로의 미러 이미지이며, 모든 객체는 모든 시스템에 전체적으로 존재합니다. 고가용성 전략과 이점은 비슷하지만 둘의 차이점은 피어-투-피어가 동일한 데이터에 대한 동시 변경을 허용하는 반면, 고가용성은 기본 데이터베이스가 오프라인 상태가 되는 경우에만 보조 데이터베이스에 대한 변경을 허용한다는 점입니다. 피어-투-피어 복제를 사용하는 몇 가지 방법은 여러 위치에서 접근할 수 있도록 하여 데이터베이스의 가용성과 유연성을 유지하거나, 여러 접근 지점에 과도한 온라인 트랜잭션 처리 볼륨을 분산시키는 것입니다. 자세한 내용은 피어-투-피어 복제 구성 를 참조하십시오.
배포 전 테스트
프로덕션 시스템에서 SharePlex를 구현하기 전에 프로덕션 환경의 미러에서 테스트를 수행하여 요구 사항을 지원하도록 SharePlex를 올바르게 구성해야 합니다. 테스트를 통해 구성 오류, 예상치 못한 환경 문제(예: 복제 성능이나 가용성에 영향을 미치는 네트워크 또는 리소스 문제) 등의 문제를 알아낼 수 있습니다.
또한 사용자의 조직이 SharePlex와 같은 엔터프라이즈 애플리케이션 사용을 지원하는 인프라를 갖추고 있다고 가정합니다. 여기에는 다음 사항이 포함되지만 이에 국한되지는 않습니다.
- 데이터베이스 및 SharePlex 문서의 가용성 및 사용
- 사용자를 위한 교육 프로그램
- 비즈니스 중단을 최소화하는 롤아웃 및 업그레이드 계획. SharePlex가 애플리케이션 인프라의 일부로 구현되는 경우 비프로덕션 환경에서 SharePlex와 함께 새로운 애플리케이션 기능을 테스트하는 것이 권장됩니다.
- SharePlex 종속성을 고려하는 데이터베이스 또는 시스템 유지 보수 프로시저(예: SharePlex 프로세스의 적절한 종료, 시스템 또는 데이터베이스 유지 보수를 수용하기 위한 처리되지 않은 트랜잭션 레코드 및 복제 큐 보존)
- 권한이 없는 사용자가 SharePlex 데이터 레코드에 접근하거나 구성을 변경하는 것을 방지하는 충분한 보안
SharePlex 전문 서비스 팀은 사용자의 환경에서 SharePlex를 준비, 설치 및 배포하는 데 도움을 드릴 수 있습니다.
SharePlex 실행
이 장에는 UNIX 및 Linux에서 SharePlex를 실행하기 위한 지침이 포함되어 있습니다.
내용
UNIX에서 SharePlex 실행
Unix 및 Linux에서 SharePlex 실행
Unix 및 Linux 시스템에서는 sp_cop 프로그램을 실행하여 SharePlex를 시작합니다. 구성을 활성화하면 sp_cop가 동일한 시스템에서 필요한 하위 복제 프로세스를 생성합니다. 시작하는 sp_cop의 각 인스턴스는 자체 하위 복제 프로세스 세트의 상위 인스턴스입니다. sp_cop 프로세스는 복제 구성에 속하는 각 시스템에서 시작되어야 합니다.
다음의 두 가지 방법 중 하나로 sp_cop를 시작할 수 있습니다.
- 운영 체제 명령줄에서 시작
- 시작 파일의 일부로 시스템 시작
중요: ksh(korn shell) 또는 csh(C shell)에서 SharePlex를 실행합니다.
- Bourne sh(shell)는 백그라운드 프로세스를 처리하는 방식이 SharePlex와 호환되지 않으므로 사용하지 마십시오. Bourne 셸을 사용해야 하는 경우 셸을 ksh 또는 csh로 전환하여 SharePlex를 실행한 다음, 셸을 종료하고 Bourne 셸로 돌아갑니다.
- Exceed X Windows 에뮬레이터를 사용하는 경우에는 POSIX의 기본 셸에서 ksh 셸로 전환한 다음, ksh 셸에서만 sp_cop를 실행합니다.
Unix 및 Linux의 시작 순서
복제와 관련된 시스템을 시작할 때에는 다음 순서로 구성 요소를 시작합니다.
- 시스템을 시작합니다.
- 소스 및 타겟 데이터베이스를 시작합니다.
- SharePlex를 시작합니다.
- sp_ctrl을 시작합니다.
-
sp_ctrl에서 lstatus 명령을 실행하여 SharePlex 프로세스가 시작되었는지 확인합니다.
sp_ctrl> lstatus
- 시스템에서 사용자를 허용합니다.
Unix 및 Linux에서 SharePlex 시작
SharePlex를 시작하려면 SharePlex 관리자로 시스템에 로그온해야 합니다. 사용자 이름은 /etc/group 파일의 SharePlex admin 그룹에 할당되어야 합니다. 자세한 내용은 보안 그룹에 SharePlex 사용자 할당를 참조하십시오.
표1: SharePlex 시작 구문
루트에서, 전체 경로 포함 |
$ /productdir/bin/sp_cop [-uidentifier] & |
CD 에서 product 디렉토리로 |
$ cd /productdir/bin
$./sp_cop [-uidentifier] & |
시작 스크립트에서 |
#!/bin/ksh
cd productdir\bin
nohup sp_cop [-uidentifier] & |
표2: SharePlex 시작 구문에 대한 설명
& |
백그라운드에서 SharePlex가 실행됩니다. |
nohup |
현재 사용자가 로그아웃한 후에도 백그라운드에서 계속되도록 SharePlex의 시작을 지시합니다. |
-uidentifier |
고유 식별자로 sp_cop를 시작합니다. 시스템에서 실행 중인 sp_cop의 인스턴스가 여러 개인 경우 이 옵션을 사용합니다. 이 옵션은 일부 SharePlex 구성에 필요합니다. 자세한 내용은 SharePlex의 여러 인스턴스 실행를 참조하십시오.
identifier에 대한 몇 가지 제안 사항은 다음과 같습니다.
- SharePlex 포트 번호(예: -u2100)
- 복제가 실행 중인 데이터베이스의 식별자(예: -uora12c)
- 설명이 포함된 식별자(예: -utest)
|
Unix 및 Linux에서 SharePlex 프로세스 식별
sp_cop의 모든 세션에는 프로세스 ID 번호가 있습니다. 시작 후 ID가 반환되고 명령 프롬프트가 다시 나타납니다. sp_cop의 이전 세션 중에 구성이 활성화되었다면 복제가 즉시 시작됩니다. 활성 구성이 없으면 sp_cop가 백그라운드에서 수동으로 실행됩니다.
Unix 및 Linux 시스템에서는 ps -ef | grep sp_ 명령을 사용하여 실행 중인 SharePlex 프로세스를 확인합니다.
각 하위 프로세스는 상위 sp_cop 프로세스와 동일한 -uidentifier를 갖습니다. 이를 통해 sp_cop의 여러 세션이 실행 중일 때 관련 프로세스를 더 쉽게 식별할 수 있습니다.
Unix 및 Linux에서 SharePlex 중지
SharePlex를 중지하려면 sp_ctrl에서 shutdown 명령을 실행합니다. 이는 각 프로세스의 상태를 저장하고, 디스크에 대한 체크포인트를 수행하고, 버퍼링된 데이터를 읽거나 해제하고, 하위 프로세스를 제거하는 정상적인 종료입니다. 큐의 데이터는 안전하게 제자리에 유지되며 sp_cop가 다시 시작되면 처리할 준비가 됩니다. SharePlex가 대규모 작업을 처리하는 경우 종료 프로세스에 다소 시간이 걸릴 수 있습니다.
필요한 경우 shutdown 명령과 함께 force 옵션을 사용하여 복제를 강제로 종료할 수 있습니다. 이 옵션은 일반적인 종료 프로시저를 우회하여 sp_cop를 즉시 종료합니다. 이 명령에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.
Unix 및 Linux의 종료 고려 사항
트랜잭션 활동이 계속 진행되는 동안에는 SharePlex를 잠시 동안 안전하게 종료할 수 있습니다. 다음에 SharePlex를 시작하면 필요한 경우 리두 로그 또는 아카이브 로그의 올바른 위치에서 복제가 재개됩니다. 그러나 가장 좋은 방법은 트랜잭션 활동이 있는 동안 SharePlex를 계속 실행하는 것입니다. 계속 실행하지 않으면 SharePlex를 다시 시작할 때 대량의 리두 백로그를 처리해야 할 수 있으며 소스 데이터와 타겟 데이터 사이에 지연 시간이 발생합니다.
리두 로그가 래핑되어 아카이브 로그에 접근할 수 없는 경우 소스 및 타겟 데이터를 재동기화하는 것이 유일한 선택지일 수 있습니다. 리두가 계속 생성되는 동안 SharePlex를 중지할 때마다 이 가능성을 고려하십시오.
참고: SharePlex와 데이터베이스를 모두 종료하려면 먼저 SharePlex를 종료하십시오. SharePlex를 먼저 종료하지 않으면 데이터베이스에 오류가 발생했다고 해석하고 경고 메시지를 생성합니다.
SharePlex를 중지하는 대신 sp_ctrl에서 stop 명령을 사용하여 필요에 따라 개별 SharePlex 복제 프로세스를 중지할 수 있습니다. 이 명령에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.
PostgreSQL용 Linux에서 SharePlex 실행
Linux 시스템에서는 sp_cop 프로그램을 실행하여 SharePlex를 시작합니다. 구성을 활성화하면 sp_cop가 동일한 시스템에서 필요한 하위 복제 프로세스를 생성합니다. 시작하는 sp_cop의 각 인스턴스는 자체 하위 복제 프로세스 세트의 상위 인스턴스입니다. sp_cop 프로세스는 복제 구성에 속하는 각 시스템에서 시작되어야 합니다.
다음의 두 가지 방법 중 하나로 sp_cop를 시작할 수 있습니다.
- 운영 체제 명령줄에서 시작
- 시작 파일의 일부로 시스템 시작
중요: ksh(korn shell) 또는 csh(C shell)에서 SharePlex를 실행합니다.
경고! Bourne sh(shell)는 백그라운드 프로세스를 처리하는 방식이 SharePlex와 호환되지 않으므로 사용하지 마십시오. Bourne 셸을 사용해야 하는 경우 셸을 ksh 또는 csh로 전환하여 SharePlex를 실행한 다음, 셸을 종료하고 Bourne 셸로 돌아갑니다.
Linux에서 SharePlex 시작
SharePlex를 시작하려면 SharePlex 관리자로 시스템에 로그온해야 합니다. 사용자 이름은 /etc/group 파일의 SharePlex admin 그룹에 할당되어야 합니다. 자세한 내용은 SharePlex 관리자 안내서의 보안 그룹에 SharePlex 사용자 할당을 참조하십시오.
표3: SharePlex 시작 구문
루트에서, 전체 경로 포함 |
$ /productdir/bin/sp_cop [-uidentifier] & |
CD 에서 product 디렉토리로 |
$cd /productdir/bin
$./sp_cop [-uidentifier] & |
시작 스크립트에서 |
#!/bin/ksh
cd productdir\bin
nohup sp_cop [-uidentifier] & |
표4: SharePlex 시작 구문에 대한 설명
& |
백그라운드에서 SharePlex가 실행됩니다. |
nohup |
현재 사용자가 로그아웃한 후에도 백그라운드에서 계속되도록 SharePlex의 시작을 지시합니다. |
-uidentifier |
고유 식별자로 sp_cop를 시작합니다. 시스템에서 실행 중인 sp_cop의 인스턴스가 여러 개인 경우 이 옵션을 사용합니다. 이 옵션은 일부 SharePlex 구성에 필요합니다. 자세한 내용은 SharePlex 관리자 안내서의 SharePlex의 여러 인스턴스 실행을 참조하십시오.
identifier에 대한 몇 가지 제안 사항은 다음과 같습니다.
- SharePlex 포트 번호(예: -u2100)
- 복제가 실행 중인 데이터베이스의 식별자(예: -pg13c)
- 설명이 포함된 식별자(예: -utest)
|
Linux에서 SharePlex 프로세스 식별
sp_cop의 모든 세션에는 프로세스 ID 번호가 있습니다. 시작 후 ID가 반환되고 명령 프롬프트가 다시 나타납니다. sp_cop의 이전 세션 중에 구성이 활성화되었다면 복제가 즉시 시작됩니다. 활성 구성이 없으면 sp_cop가 백그라운드에서 수동으로 실행됩니다.
Linux 시스템에서는 ps -ef | grep sp_ 명령을 사용하여 실행 중인 SharePlex 프로세스를 확인합니다.
각 하위 프로세스는 상위 sp_cop 프로세스와 동일한 -uidentifier를 갖습니다. 이를 통해 sp_cop의 여러 세션이 실행 중일 때 관련 프로세스를 더 쉽게 식별할 수 있습니다.
Linux에서 SharePlex 중지
사용자는 SharePlex 프로세스를 종료하기 전에 활성 구성을 비활성화하고 다음 프로세스를 확인해야 합니다.
- 소스에서 Capture/Read/Export
- 타겟에서 Import/Post가 실행되지 않음
이에 대한 자세한 내용은 SharePlex 참조 안내서의 구성 비활성화를 참조하십시오.
SharePlex를 중지하려면 sp_ctrl에서 shutdown 명령을 실행합니다. 이는 각 프로세스의 상태를 저장하고, 디스크에 대한 체크포인트를 수행하고, 버퍼링된 데이터를 읽거나 해제하고, 하위 프로세스를 제거하는 정상적인 종료입니다. 큐의 데이터는 안전하게 제자리에 유지되며 sp_cop가 다시 시작되면 처리할 준비가 됩니다. SharePlex가 대규모 작업을 처리하는 경우 종료 프로세스에 다소 시간이 걸릴 수 있습니다.
필요한 경우 shutdown 명령과 함께 force 옵션을 사용하여 복제를 강제로 종료할 수 있습니다. 이 옵션은 일반적인 종료 프로시저를 우회하여 sp_cop를 즉시 종료합니다. 이 명령에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.
Linux의 종료 고려 사항
트랜잭션 활동이 계속 진행되는 동안에는 SharePlex를 잠시 동안 안전하게 종료할 수 있습니다. 다음에 SharePlex를 시작하면 필요한 경우 WAL 파일의 올바른 위치에서 복제가 재개됩니다. 그러나 가장 좋은 방법은 트랜잭션 활동이 있는 동안 SharePlex를 계속 실행하는 것입니다. 계속 실행하지 않으면 SharePlex를 다시 시작할 때 대량의 WAL 파일 백로그를 처리해야 할 수 있으며 소스 데이터와 타겟 데이터 사이에 지연 시간이 발생합니다.
참고: SharePlex와 데이터베이스를 모두 종료하려면 먼저 SharePlex를 종료하십시오. SharePlex를 먼저 종료하지 않으면 데이터베이스에 오류가 발생했다고 해석하고 경고 메시지를 생성합니다.
SharePlex를 중지하는 대신 sp_ctrl에서 stop 명령을 사용하여 필요에 따라 개별 SharePlex 복제 프로세스를 중지할 수 있습니다. 이 명령에 대한 자세한 내용은 SharePlex 참조 안내서를 참조하십시오.