추가 SQLEXEC 지침
다음 SQLEXEC 지침을 준수하십시오.
-
TABLE또는MAP항목당 최대 20개의 내장 프로시저 또는 질의를 실행할 수 있습니다. 파라미터 문에 나열된 순서대로 실행됩니다. -
Oracle GoldenGate 사용자에 의한 데이터베이스 로그인은
SQLEXEC절 앞에 와야 합니다. 데이터베이스 유형 및 구성된 인증 방법에 필요한 경우 Extract 매개변수 파일의SOURCEDB및USERIDALIAS매개변수를 사용하거나 Replicat 매개변수 파일의TARGETDB및USERIDALIAS매개변수를 사용합니다. -
SQL은 Oracle GoldenGate 사용자에 의해 실행됩니다. 이 유저는 내장 프로시저를 실행하고 RDBM 제공 프로시저를 호출할 수 있는 권한이 있어야 합니다.
-
내장 프로시저 또는 query 내의 데이터베이스 작업은 원래 트랜잭션과 동일한 컨텍스트에서 커밋됩니다.
-
기본 키 열의 값을 업데이트하는 데
SQLEXEC를 사용하지 마십시오.SQLEXEC가 키 열의 값을 업데이트하는 데 사용되는 경우 원래 키 값을 사용할 수 없으므로 Replicat 프로세스는 후속 업데이트 또는 삭제 작업을 수행할 수 없습니다. 키 값을 변경해야 하는 경우 원래 키 값을 다른 열에 매핑한 다음 해당 열을TABLE또는MAP매개변수의KEYCOLS옵션으로 지정할 수 있습니다. -
Db2의 경우 Oracle GoldenGate는 ODBC
SQLExecDirect함수를 사용하여 SQL 문을 동적으로 실행합니다. 즉, 연결된 데이터베이스 서버가 명령문을 동적으로 준비할 수 있어야 합니다. ODBC는 SQL 문이 실행될 때마다(요청된 간격) SQL 문을 준비합니다. 일반적으로 Oracle GoldenGate 사용자에게는 문제가 발생하지 않습니다. 자세한 내용은 IBM Db2 설명서를 참조하십시오. -
SQLEXEC문의 모든 객체 이름은 데이터베이스에 적합한 두 부분 또는 세 부분 이름으로 정규화되어야 합니다. -
SQLEXEC내장 프로시저 또는 질의의 영향을 받는 모든 객체는 SQL을 실행하기 전에 올바른 구조로 존재해야 합니다. 따라서 구조에 영향을 주는 이러한 객체(예:CREATE또는ALTER)에 대한 DDL은SQLEXEC가 실행되기 전에 발생해야 합니다. -
독립형
SQLEXEC문의 영향을 받는 모든 객체는 Oracle GoldenGate 프로세스를 시작하기 전에 존재해야 합니다. 이러한 객체에 대해서는 DDL 지원을 비활성화해야 합니다. 그렇지 않으면 DDL 작업이SQLEXEC프로시저 또는 질의가 실행되기 전에 구조를 변경하거나 객체를 삭제할 수 있습니다.