Instala orafce para AlloyDB Omni

Selecciona una versión de la documentación:

En esta página, se describe cómo agregar manualmente la extensión orafce a una instalación existente de AlloyDB Omni. La extensión orafce proporciona funciones y operadores que emulan un subconjunto de funciones y paquetes de la base de datos de Oracle. Esta extensión simplifica la migración de aplicaciones de Oracle a bases de datos compatibles con PostgreSQL, como AlloyDB Omni.

Antes de comenzar

Instala AlloyDB Omni con el organizador RPM.

Agrega orafce a tu instalación de AlloyDB Omni

Para agregar la extensión orafce a tu clúster de AlloyDB Omni, sigue estos pasos de forma manual en todos los nodos de la base de datos, incluidos los nodos del grupo de lectura de tu clúster.

  1. Agrega el repositorio de Yum de PostgreSQL:

    sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  2. Instala el servidor de PostgreSQL y los paquetes de desarrollo:

    sudo dnf install -y "postgresql18-server"
    
  3. Instala la extensión Orafce:

    sudo dnf install -y orafce_18
    
  4. Crea los vínculos simbólicos necesarios para que las extensiones estén en las rutas de acceso esperadas:

    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. Conéctate a tu base de datos y ejecuta el comando CREATE EXTENSION para habilitar orafce:

    Para obtener instrucciones para conectarte a tu instancia, consulta Conéctate a AlloyDB Omni.

    CREATE EXTENSION IF NOT EXISTS ORAFCE;
    
  6. Confirma que orafce esté instalada y habilitada:

    SELECT oracle.sysdate();
    

    El resultado es similar a este:

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