Oracle GoldenGate 입력에서 객체 이름 지정
다음 규칙은 매개변수 파일(예: TABLE 및 MAP 문), 열 변환 함수, 명령 및 기타 입력에서 객체 이름을 지정할 때 적용됩니다.
Windows 시스템의 매개변수 파일에서 파일 시스템 경로 이름 지정
Windows 시스템에서 파일 시스템 경로 이름의 디렉토리 이름이 숫자로 시작하는 경우 Oracle GoldenGate 입력에 해당 경로를 나열할 때(예: 매개변수 파일 또는 명령) 슬래시가 아닌 슬래시로 경로를 지정해야 합니다. 이 요구 사항은 Oracle GoldenGate가 이름을 8진수 이스케이프 시퀀스로 해석하지 못하도록 합니다. 예를 들어, 다음 경로에는 8진수 시퀀스 \202로 해석되는 \2023라는 디렉토리가 포함됩니다.
C:\deployments\ea
C:\deployments\north\ea
C:\deployments\north\2023\ea
앞의 경로는 다음과 같이 슬래시와 함께 사용할 수 있습니다.
C:/deployments/ea
C:/deployments/north/ea
자세한 내용은 Support for Escape Sequences를 참조하십시오.
슬래시가 포함된 이름 지정
테이블 이름에 이름 부분의 슬래시 문자(/)가 포함된 경우 객체 이름이 IBM i 플랫폼 의 이름이 아니면 해당 이름 구성 요소를 큰 따옴표로 묶어야 합니다. 다음은 몇 가지 예입니다.
"c/d"
"/a".b
a."b/"
이름에 큰따옴표로 묶이지 않은 슬래시가 포함된 경우 Oracle GoldenGate는 이 슬래시를 IBM i 플랫폼(i 데이터베이스의 경우 DB2)에서 시작된 이름으로 처리합니다. 이름의 슬래시는 구분 문자로 해석됩니다.
대소문자를 구분하는 데이터베이스 객체 이름 지정
Oracle GoldenGate는 대소문자를 구분하는 이름을 지원합니다. 대소문자를 구분하는 객체를 지정할 때는 다음 규칙을 따릅니다.
-
호스트 데이터베이스에 저장하는 데 사용되는 것과 동일한 대소문자를 구분하는 데이터베이스의 객체 이름을 지정합니다. 일부 데이터베이스 유형에서는 대소문자를 구분하지만 대소문자를 구분하지 않는 테이블과 같이 다양한 레벨의 데이터베이스에서는 대소문자를 구분하여 대소문자를 구분할 수 있습니다. 데이터베이스에서 대소문자를 구분하기 위해 따옴표가 필요한 경우 정규화된 이름에서 대소문자를 구분하는 각 객체를 따옴표로 묶습니다.
정확한:
TABLE "Sales"."ACCOUNT"잘못된:
TABLE "Sales.ACCOUNT" -
Oracle GoldenGate는 대소문자를 구분하지 않는 이름을 매핑 목적으로 필요할 때 저장되는 대소문자로 변환합니다.
표 9-17은 지원되는 데이터베이스별로 객체 이름에서 대소문자를 구분할 수 있도록 지원하는 개요를 제공합니다. 이러한 유형의 지원에 대한 자세한 내용은 데이터베이스 설명서를 참조하십시오.
표 17: 데이터베이스당 객체 이름의 대소문자 구분
| 데이터베이스 | 대소문자 구분을 적용하려면 따옴표가 필요합니까? | 따옴표로 묶이지 않은 객체 이름 | 인용된 객체 이름 |
|---|---|---|---|
| DB2 | 예. 따옴표를 사용하여 대소문자를 구분하고 대소문자를 구분하지 않습니다. | 대소문자 무시, 대문자로 저장 | 대소문자 구분, 대소문자 혼합 저장 |
MySQL (대소문자 구분 데이터베이스) |
아니요
|
영향 없음 | 영향 없음 |
| Oracle AI Database | 예. 따옴표를 사용하여 대소문자를 구분하고 대소문자를 구분하지 않습니다. | 대소문자 무시, 대문자로 저장 | 대소문자 구분, 대소문자 혼합 저장 |
SQL Server (대소문자를 구분하여 생성된 데이터베이스) |
아니요 항상 대소문자를 구분하며 대소문자를 혼합하여 저장합니다. |
영향 없음 |
영향 없음 |
SQL Server (대소문자를 구분하지 않고 생성된 데이터베이스) |
아니요 항상 대소문자를 구분하지 않고 대소문자를 혼합하여 저장합니다. |
영향 없음 | 영향 없음 |
| Teradata | 아니요 항상 대소문자를 구분하지 않고 대소문자를 혼합하여 저장합니다. |
영향 없음 | 영향 없음 |
주: 지원되는 모든 데이터베이스의 경우 비밀번호는 연관된 객체 이름이 따옴표로 묶여 있는지 따옴표로 묶여 있지 않은지 여부에 관계없이 항상 대소문자를 구분하여 처리됩니다.
대소문자를 구분하는 열 이름과 리터럴 구분
기본적으로 Oracle GoldenGate는 열 이름과 리터럴을 지정하기 위한 SQL-92 규칙을 따릅니다. Oracle GoldenGate 매개변수 파일, 변환 함수, 사용자 종료 및 명령에서 대소문자 구분을 지원하기 위해 데이터베이스에 이름을 따옴표로 묶어야 하는 경우 대소문자를 구분하는 열 이름을 큰따옴표로 묶어야 합니다. 예:
"columnA"
데이터베이스에서 대소문자를 구분하지 않고 대소문자를 구분하도록 따옴표로 묶을 필요가 없는 열 이름은 데이터베이스에 저장되므로 지정해야 합니다. 예:
ColumnA
리터럴은 작은 따옴표로 묶어야 합니다. 다음 예에서 Product_Code은 Oracle AI Database에서 대소문자를 구분하는 열 이름이고 다른 문자열은 리터럴입니다.
@CASE ("Product_Code", 'CAR', 'A car', 'TRUCK', 'A truck')