AlloyDB Omni용 orafce 설치

AlloyDB Omni에는 orafce 확장자가 포함되어 있지 않지만 이 페이지의 안내에 따라 기존 AlloyDB Omni 설치에 수동으로 추가하여 Oracle 데이터베이스의 추가 함수와 연산자를 제공할 수 있습니다.

시작하기 전에

시스템에 AlloyDB Omni를 설치했는지 확인합니다.

AlloyDB Omni 설치에 orafce 추가

AlloyDB Omni 설치에 orafce 확장 프로그램을 추가하려면 다음 단계를 따르세요.

  1. 설치된 AlloyDB Omni 버전 라벨을 찾습니다.

    Docker

    docker run --rm -it  google/alloydbomni cat VERSION.txt

    Podman

    podman run --rm -it  google/alloydbomni cat VERSION.txt

    출력은 다음과 비슷합니다.

    AlloyDB Omni version: 15.7.0
    

    다음 단계에서 필요하므로 AlloyDB Omni 버전 번호를 기록해 둡니다.

  2. OMNI_VERSION 환경 변수를 설정합니다.
    OMNI_VERSION=VERSION

    VERSION을 이전 단계의 전체 데이터베이스 서버 버전으로 바꿉니다(예: 15.5.3).

  3. orafce가 포함된 새 AlloyDB Omni 컨테이너를 만듭니다.

    Linux

          mkdir ~/alloydb-omni-orafce
          tee -a ~/alloydb-omni-orafce/Dockerfile << EOF
          ARG OMNI_VERSION
          FROM google/alloydbomni:${OMNI_VERSION}
          RUN apt-get update && 
    apt-get install -y --no-install-recommends
    postgresql-15-orafce &&
    apt-get purge -y --auto-remove &&
    rm -rf /var/lib/apt/lists/* EOF
    cd ~/alloydb-omni-orafce sudo docker build --build-arg OMNI_VERSION=$OMNI_VERSION --tag google/alloydbomni-with-orafce:$OMNI_VERSION .

    macOS

          mkdir ~/alloydb-omni-orafce
          tee -a ~/alloydb-omni-orafce/Dockerfile << EOF
          ARG OMNI_VERSION
          FROM google/alloydbomni:${OMNI_VERSION}
          RUN apt-get update && 
    apt-get install -y --no-install-recommends
    postgresql-15-orafce &&
    apt-get purge -y --auto-remove &&
    rm -rf /var/lib/apt/lists/* EOF
    cd ~/alloydb-omni-orafce sudo docker build --build-arg OMNI_VERSION=$OMNI_VERSION --tag google/alloydbomni-with-orafce:$OMNI_VERSION .

  4. AlloyDB Omni로 my-omni-orafce라는 새 컨테이너를 만듭니다.

    docker run --name my-omni-orafce  -e POSTGRES_PASSWORD=NEW_PASSWORD  -d google/alloydbomni-with-orafce:OMNI_VERSION
  5. orafce 확장 프로그램을 사용하여 데이터베이스에 연결합니다.

    docker exec -it my-omni-orafce psql -h localhost -U postgres
  6. orafce를 사용 설정합니다.
    CREATE EXTENSION IF NOT EXISTS ORAFCE;
  7. orafce가 설치되고 사용 설정되어 있는지 확인합니다.

    SELECT oracle.sysdate();

    결과는 다음과 유사합니다.

       postgres=# SELECT oracle.sysdate();
       sysdate
       ---------------------
       2024-06-10 16:36:30
       (1 row)