AlloyDB Omni용 Orafce 설치

문서 버전을 선택합니다.

이 페이지에서는 기존 AlloyDB Omni 설치에 orafce 확장 프로그램 을 수동으로 추가하는 방법을 설명합니다. orafce 확장 프로그램은 Oracle 데이터베이스의 함수와 패키지의 하위 집합을 에뮬레이션하는 함수와 연산자를 제공합니다. 이 확장 프로그램은 Oracle에서 AlloyDB Omni와 같은 PostgreSQL 호환 데이터베이스로 애플리케이션을 쉽게 마이그레이션할 수 있도록 지원합니다.

시작하기 전에

RPM 조정자를 사용하여 AlloyDB Omni를 설치합니다.

AlloyDB Omni 설치에 orafce 추가

AlloyDB Omni 클러스터에 orafce 확장 프로그램을 추가하려면 클러스터의 읽기 풀 노드를 포함한 모든 데이터베이스 노드에서 다음 단계를 수동으로 수행합니다.

  1. PostgreSQL Yum 저장소를 추가합니다.

    sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  2. PostgreSQL 서버 및 개발 패키지를 설치합니다.

    sudo dnf install -y "postgresql18-server"
    
  3. Orafce 확장 프로그램을 설치합니다.

    sudo dnf install -y orafce_18
    
  4. 확장 프로그램이 예상 경로에 있도록 필수 심볼릭 링크를 만듭니다.

    set -e
    PGVER="18"
    
    sudo mkdir -p "/usr/lib/postgresql/${PGVER}/share/extension"
    
    for file in /usr/pgsql-${PGVER}/share/extension/*; do
      target="/usr/lib/postgresql/${PGVER}/share/extension/$(basename "$file")"
      if [[ ! -e "$target" ]]; then
        sudo ln -s "$file" "$target" || (echo "Failed to link \"$file\" to \"$target\", exiting." && exit 1)
        echo "Created extension link for $(basename "$file")"
      else
        echo "Target $target already exists."
      fi
    done
    
    sudo mkdir -p "/usr/lib/postgresql/${PGVER}/lib"
    
    for file in /usr/pgsql-${PGVER}/lib/*; do
      target="/usr/lib/postgresql/${PGVER}/lib/$(basename "$file")"
      if [[ ! -e "$target" ]]; then
        sudo ln -s "$file" "$target" || (echo "Failed to link \"$file\" to \"$target\", exiting." && exit 1)
        echo "Created lib link for $(basename "$file")"
      else
        echo "Target $target already exists."
      fi
    done
    
  5. 데이터베이스에 연결하고 CREATE EXTENSION 명령어를 실행하여 orafce를 사용 설정합니다.

    인스턴스 연결 방법은 AlloyDB Omni에 연결을 참고하세요.

    CREATE EXTENSION IF NOT EXISTS ORAFCE;
    
  6. orafce가 설치되고 사용 설정되었는지 확인합니다.

    SELECT oracle.sysdate();
    

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

    postgres=# SELECT oracle.sysdate();
    sysdate
    ---------------------
    2025-12-12 16:36:30
    (1 row)