Oracle의 외부 데이터에 액세스하도록 PolyBase 구성

적용 대상:SQL Server

이 문서에서는 SQL Server 인스턴스에서 PolyBase를 사용하여 Oracle에서 외부 데이터를 쿼리하는 방법을 설명합니다.

전제 조건

PolyBase를 설치하지 않은 경우 PolyBase 설치를 참조하세요.

데이터베이스 범위 자격 증명 을 만들기 전에 마스터 키를 만들어야 합니다.

Oracle 외부 데이터 원본 구성

Oracle 데이터 원본에서 데이터를 쿼리하려면 외부 데이터를 참조할 외부 테이블을 만들어야 합니다. 이 섹션에서는 이러한 외부 테이블을 만드는 샘플 코드를 제공합니다.

이 섹션에서는 다음 Transact-SQL 명령이 사용됩니다.

  1. Oracle 원본에 액세스하기 위한 데이터베이스 범위 자격 증명을 만듭니다.

    /*  specify credentials to external data source
    *  IDENTITY: user name for external source. 
    *  SECRET: password for external source.
    */
    CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'password';
    

    Important

    PolyBase용 Oracle ODBC 커넥터는 기본 인증만 지원하고 Kerberos 인증은 지원하지 않습니다.

  2. CREATE EXTERNAL DATA SOURCE를 사용하여 외부 데이터 원본을 만듭니다.

    /* 
    * LOCATION: Location string should be of format '<vendor>://<server>[:<port>]'.
    * PUSHDOWN: specify whether computation should be pushed down to the source. ON by default.
    * CONNECTION_OPTIONS: Specify driver location
    * CREDENTIAL: the database scoped credential, created above.
    */  
    CREATE EXTERNAL DATA SOURCE external_data_source_name
    WITH ( LOCATION = 'oracle://<server address>[:<port>]',
    -- PUSHDOWN = ON | OFF,
    CREDENTIAL = credential_name)
    
  3. CREATE EXTERNAL TABLE을 사용하여 외부 테이블을 만듭니다.

    /*
    * LOCATION: Three-part identifier indicating database & domain or only database, schema, and table name.
    * DATA_SOURCE: The data source created above.
    */
    CREATE EXTERNAL TABLE [T1] (
      [KEY] DECIMAL(38) NOT NULL,
      [RANDOM_INT] DECIMAL(38),
      [RANDOM_FLOAT] FLOAT(53))
    WITH (
      LOCATION = '[ORCLCDB.localdomain].SYS.T1',
      DATA_SOURCE = external_data_source_name)
    
  4. 선택 사항: 외부 테이블에 대한 통계를 만듭니다.

    최적의 쿼리 성능을 위해 특히 조인, 필터 및 집계에 사용되는 외부 테이블 열에 대한 통계를 만드는 것이 좋습니다.

    CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN; 
    

Important

외부 데이터 원본을 만든 후에는 CREATE EXTERNAL TABLE 명령을 사용하여 해당 원본 위에 쿼리 가능 테이블을 만들 수 있습니다.

다음 단계

다양한 데이터 원본에 외부 데이터 원본 및 외부 테이블을 만드는 방법에 대한 자세한 자습서는 PolyBase Transact-SQL 참조를 참조하세요.

자세한 내용 및 예제는 다음 문서를 참조하세요.