복제에 영향을 미치는 Oracle 변경 수행
이 항목은 복제가 활성화된 동안 Oracle 환경에 대한 일반적인 변경을 수행하는 데 도움이 됩니다.
지원되는 데이터베이스
Linux 및 UNIX의 Oracle
ORACLE_HOME 위치 이동
ORACLE_HOME을 변경하는 경우 SharePlex를 Oracle 라이브러리에 다시 연결해야 합니다.
SharePlex를 Oracle 라이브러리에 다시 연결하려면 다음 단계를 수행합니다.
-
SharePlex를 종료합니다.
sp_ctrl> shutdown
- ORACLE_HOME을 이동합니다.
- 새 ORACLE_HOME을 가리키도록 oratab 파일을 편집합니다.
- 새 ORACLE_HOME을 가리키도록 Connections.yaml 파일을 편집합니다. 이 파일은 SharePlex var 디렉토리의 data 하위 디렉토리에 있습니다.
- SharePlex를 시작합니다.
타겟 ORACLE_SID 변경
- 소스 시스템에서 sp_ctrl을 실행합니다.
-
소스 시스템에서 활성 구성 파일을 새 이름으로 복사하되 비활성화하지는 마십시오.
sp_ctrl> copy config filename to newname
-
소스 시스템에서 새 구성 파일을 엽니다.
sp_ctrl> edit config filename
- 이 타겟 데이터베이스와 타겟 시스템을 포함하는 모든 라우팅 맵에서 ORACLE_SID를 새 항목으로 변경합니다.
- 구성 파일을 저장한 후 닫지만 활성화하지는 마십시오.
- 소스 시스템에서 복제와 관련된 객체에 대한 사용자 접근을 중지합니다.
-
소스 시스템에서 큐의 데이터를 타겟으로 플러시합니다. 그러면 Post 프로세스가 중지되고 소스 데이터베이스와 타겟 데이터베이스 간의 동기화 지점이 설정됩니다.
sp_ctrl> flush datasource
여기서, datasource는 소스 인스턴스의 데이터베이스 표시입니다(예: o.oraA).
-
소스 시스템에서 새 구성 파일을 활성화합니다. 그러면 기존 구성 파일이 비활성화됩니다.
sp_ctrl> activate config filename
참고: SharePlex는 테이블을 분석할 필요가 없기 때문에 활성화가 간단합니다.
- 소스 시스템에서 복제와 관련된 객체에 대한 사용자 접근을 허용합니다.
-
타겟 시스템에서 Post가 중지되었는지 확인합니다. Post가 중지되지 않으면 Post 중지 상태가 표시될 때까지 명령을 계속 실행합니다.
sp_ctrl> status
- 타겟 시스템에서 데이터베이스를 종료한 다음, ORACLE_SID의 이름을 바꿉니다.
-
타겟 시스템에서 Post를 시작합니다.
sp_ctrl> start post
SharePlex 데이터베이스 계정 변경
SharePlex 데이터베이스 계정 변경
SharePlex 데이터베이스 계정에서 사용자 이름(스키마 또는 데이터베이스), 비밀번호 또는 둘 다를 변경할 수 있습니다. 데이터베이스 계정은 SharePlex 설치 중에 설정되었습니다. 이러한 프로시저는 활성 복제 구성을 유지 관리하기 위한 올바른 순서로 프로세스를 안내합니다.
지원되는 데이터베이스
모든 SharePlex 지원 데이터베이스
프로시저
이 프로시저는 데이터베이스에 있는 SharePlex 사용자 계정의 사용자 계정 이름 및/또는 비밀번호를 변경합니다. 이 사용자 계정은 SharePlex 프로세스가 복제 작업을 수행할 때 데이터베이스에 연결하는 데 사용하는 계정입니다.
중요! 여러 variable-data 디렉토리를 사용하는 경우 변경할 각 디렉토리에 대해 이 프로시저를 실행해야 합니다.
-
(Unix 및 Linux에만 해당) 여러 variable-data 디렉토리를 사용하는 경우 계정 이름이나 비밀번호를 변경하려는 SharePlex 인스턴스의 variable-data 디렉토리를 가리키는 환경 변수를 내보냅니다.
ksh 셸:
export SP_SYS_VARDIR=/full_path_of_variable-data_directory
csh 셸:
setenv SP_SYS_VARDIR=/full_path_of_variable-data_directory
- 비밀번호를 변경하려는 시스템에서 sp_ctrl을 실행합니다.
-
계정 정보를 변경하려는 시스템에서 SharePlex 프로세스를 중지합니다. 예를 들어 소스 데이터베이스의 SharePlex 계정을 변경하는 경우 Capture 및 Read를 중지합니다. 타겟 데이터베이스에 대한 계정을 변경하는 경우 Post를 중지합니다.
sp_ctrl> stop service
-
SharePlex의 이 인스턴스에 대한 모든 SharePlex 복제 프로세스가 중지되었는지 확인합니다.
sp_ctrl> status
- DBA 사용자로 데이터베이스에 로그인하고 SharePlex 계정 이름 및/또는 비밀번호를 새 것으로 변경합니다. 중요! SharePlex 객체를 삭제하지 마십시오!
-
계정 이름을 변경한 경우 이전 계정의 모든 SharePlex 데이터베이스 객체를 새 계정으로 복사합니다.
참고: 복제가 제대로 재개될 때까지 이전 계정과 SharePlex 객체를 백업으로 유지하십시오.
-
sp_crtl에서 다음 명령을 실행하여 SharePlex 내부 레코드의 계정 이름 및/또는 비밀번호를 변경합니다.
사용자 계정을 변경하려면 다음을 수행합니다.
sp_ctrl> connection {o.SID | r.database} set user=username
비밀번호를 변경하려면 다음을 수행합니다.
sp_ctrl> connection {o.SID | r.database} set password=password
여기서,
- SID는 데이터베이스가 Oracle인 경우 데이터베이스의 ORACLE_SID입니다.
- database는 데이터베이스가 Oracle이 아닌 경우 데이터베이스의 이름(DSN 아님)입니다.
- username은 새 계정 이름입니다.
-
password는 새 비밀번호입니다.
-
SharePlex 프로세스를 시작합니다.
sp_ctrl> start service
복제 호스트의 이름 또는 IP 주소 변경
SharePlex 구성에서 호스트 이름이나 IP 주소를 변경하려면 Provision 유틸리티를 사용합니다. 복제 호스트의 이름 또는 IP 주소 변경에 대한 자세한 내용은 SharePlex 참조 안내서의 Provision 유틸리티 섹션을 참조하십시오.
SharePlex 포트 번호 설정
SharePlex 포트 번호 설정
SharePlex 프로세스는 TCP를 사용하여 서로 다른 시스템 간에 통신하고 UDP를 사용하여 시스템 내에서 통신합니다. SharePlex의 기본 TCP 및 UDP 포트 번호는 설치 시 모두 2100으로 설정되어 있습니다. SharePlex의 일부 배포에서는 TCP 또는 UDP 포트 번호를 변경해야 할 수도 있습니다.
포트 번호를 선택하기 전에 다음 사항을 검토하십시오.
- 복제 전략에 시스템에 sp_cop의 여러 인스턴스가 필요한 경우 각 인스턴스에 대해 고유한 포트 번호를 설정해야 합니다. 자세한 내용은 SharePlex의 여러 인스턴스 실행를 참조하십시오.
- 기본이 아닌 포트가 필요한 경우 TCP 및 UDP 포트에 동일한 번호를 사용해야 하며, 동일한 복제 구성에 관련된 다른 모든 sp_cop 인스턴스의 TCP 및 UDP 포트에도 이 번호를 사용해야 합니다. 포트가 다르면 한 시스템의 sp_cop가 다른 시스템의 sp_cop에 연결하여 메시지와 데이터를 보내거나 받을 수 없습니다.
지원되는 데이터베이스
지원되는 모든 플랫폼에서 SharePlex가 지원하는 모든 데이터베이스
Unix 및 Linux 시스템에서 SharePlex 포트 설정
Unix 및 Linux 시스템에서 포트 번호를 설정하려면 SharePlex 관리자가 SharePlex 환경에서 TCP 및 UDP 포트 매개변수를 모두 설정해야 합니다. 활성 구성이 있는 경우 소스 객체에 대한 접근을 중지하고 sp_cop을 종료하라는 메시지가 표시됩니다.
활성 구성에서 포트 설정을 완료하려면 다음을 수행합니다.
-
(여러 variable-data 디렉토리를 사용하는 경우) 설정 중인 포트에 대한 올바른 variable-data 디렉토리를 가리키도록 SP_SYS_VARDIR 환경 변수를 내보냅니다.
ksh 셸:
export SP_SYS_VARDIR=/full_path_of_variable-data_directory
csh 셸:
setenv SP_SYS_VARDIR=/full_path_of_variable-data_directory
-
다음과 같은 환경 변수를 내보냅니다.
ksh 셸:
export SP_COP_TPORT=port
export SP_COP_UPORT=port
csh 셸:
setenv SP_COP_TPORT port
setenv SP_COP_UPORT port
여기서, port는 새 포트 번호입니다.
- 디렉토리를 SharePlex product 디렉토리로 변경합니다.
-
Start sp_cop and sp_ctrl.
참고: 여러 variable-data 디렉토리를 사용하는 경우 -uport 옵션을 사용하여 sp_cop을 시작하십시오. 여기서 port는 사용 중인 포트 번호로, 내보낸 variable-data 디렉토리에 대해 선택한 것입니다.
./sp_cop [-uport] &
-
sp_ctrl을 실행합니다.
./sp_ctrl
-
sp_ctrl에서 다음 SharePlex 매개변수를 설정합니다.
sp_ctrl> set param SP_COP_TPORT port
sp_ctrl> set param SP_COP_UPORT port
-
다음 두 가지 중 하나를 수행합니다.
-
활성 구성이 없으면 sp_ctrl에서 shutdown 명령을 사용하여 sp_cop을 중지합니다. 다음에 sp_cop을 시작하면 새 포트 번호가 적용됩니다.
참고: 활성 구성이 없으면 포트 번호 설정이 완료된 것입니다.
-
활성 구성이 있는 경우 다음 단계를 계속합니다.
-
소스 시스템에서 복제 객체에 대한 접근을 중지한 다음, 소스 시스템의 sp_ctrl에서 flush 명령을 실행하여 큐를 지웁니다.
sp_ctrl> flush o.database_identifier
여기서, database_identifier는 is o.이고 그 뒤에 SharePlex가 소스 데이터베이스에 연결하는 데 사용하는 Oracle SID, TNS 별칭 또는 PDB 이름이 옵니다(데이터베이스가 일반 Oracle 인스턴스인지, RAC인지, 컨테이너 데이터베이스의 PDB인지에 따라 다름).
-
소스 시스템에서 qstatus 명령을 실행하여 모든 메시지가 타겟 시스템에 도달했는지 확인합니다.
sp_ctrl> qstatus
Export 큐가 빈 상태가 될 때까지 명령을 계속 실행합니다.
- 타겟 시스템에서 qstatus 명령을 실행하여 모든 메시지가 데이터베이스에 게시되었는지 확인합니다. Post 큐가 빈 상태가 될 때까지 명령을 계속 실행합니다.
-
타겟 시스템에서 status 명령을 실행하여 Post가 중지되었는지 확인합니다.
sp_ctrl> status
-
소스 및 타겟 시스템에서 SharePlex를 종료합니다.
sp_ctrl> shutdown
-
소스 및 타겟 시스템에서 sp_cop을 시작합니다.
참고: 여러 variable-data 디렉토리를 사용하는 경우 -uport 옵션을 사용하여 sp_cop을 시작하십시오. 여기서 port는 사용 중인 포트 번호로, 내보낸 variable-data 디렉토리에 대해 선택한 것입니다.
./sp_cop [-uport] &
- 타겟 시스템에서 sp_ctrl을 실행합니다.
-
Post 프로세스를 시작합니다.
sp_ctrl> start post
- 사용자가 객체 복제에 접근할 수 있도록 허용합니다.
-
소스 시스템과 타겟 시스템에서 status 명령을 사용하여 모든 SharePlex 프로세스가 실행 중인지 확인합니다.
sp_ctrl> status